// ** Batch Generated with DemeterF
package edu.neu.ccs.demeterf.demfgen.traversals;

import edu.neu.ccs.demeterf.demfgen.*;
import edu.neu.ccs.demeterf.demfgen.classes.*;
import edu.neu.ccs.demeterf.demfgen.dgp.DGPFunc;
import edu.neu.ccs.demeterf.*;

public class ReflectiveTraversals{
    public Traversal makeDGPGenTrav(DemFGenMain.DGPGen f){ return new Traversal(f, Control.builtins(DGPFunc.class)); }
    public Traversal makeTypeCheckTrav(TypeCheck f){ return new Traversal(f); }
    public Traversal makeClassGenTrav(ClassGen f){
        return new Traversal(f, Control.builtins(TypeDefParams.class, Syntax.class,
                PESubtypeList.class, DoGen.class, IncludeList.class, PackageDef.class,
                ImportList.class, LookDef.class, DGPUses.class));    
    }
    public Traversal makeParseGenTrav(ParseGen.CombStr f){ return new Traversal(f, Control.builtins(TypeDef.class)); }
    public Traversal makeJJGenTrav(ParseGen.JJProd f){ return new Traversal(f); }
    public Traversal makeParamArityTrav(ClassGen.ToList f){ return new Traversal(f, Control.builtins(NameDef.class)); }
    public Traversal makeTypeArityTrav(ClassGen.ToTDList f){ return new Traversal(f, Control.builtins(TypeDef.class)); }
}