package edu.neu.ccs.demeterf.demfgen.pcdgp; import edu.neu.ccs.demeterf.demfgen.classes.*; import edu.neu.ccs.demeterf.demfgen.StrLTrip.StrPair; import edu.neu.ccs.demeterf.lib.Cons; import edu.neu.ccs.demeterf.lib.List; import edu.neu.ccs.demeterf.lib.ident; import edu.neu.ccs.demeterf.FC; import edu.neu.ccs.demeterf.demfgen.Diff; /** */ public class Creator extends Typical{ public Creator(List<String> sFs){ super(sFs); } public FC functionObj(List<String> superFs){ return new Creator(superFs); } public String combine(ClassDef td, DoGen g, ident n, TypeDefParams ps, Cons<String> sts, List<StrPair> fs) { return ""; } public String combine(ClassDef td, DoGen g, ident n, TypeDefParams ps, List<String> sts, List<StrPair> fs){ return (" /** Simple static creator for "+n+" */\n"+ " public static "+ps+(ps.isEmpty()?"":" ")+n+ps+ " "+Diff.capName("create(")+fieldArgs(fs)+"){\n"+ " return new "+n+ps+"("+fieldNames(fs)+");\n"+ " }\n"); } }