// ** This file was generated with DemFGen (vers:05/23/2010) package edu.neu.ccs.demeterf.demfgen.classes; import edu.neu.ccs.demeterf.lib.*; import edu.neu.ccs.demeterf.demfgen.*; import edu.neu.ccs.demeterf.demfgen.dgp.DGPFunc; import edu.neu.ccs.demeterf.demfgen.traversals.Travs; import edu.neu.ccs.demeterf.demfgen.pcdgp.PCDGPFunc; import edu.neu.ccs.demeterf.dispatch.*; import edu.neu.ccs.demeterf.*; import edu.neu.ccs.demeterf.demfgen.ClassHier.InhrtPair; import edu.neu.ccs.demeterf.demfgen.DemFGenMain; import java.io.*; import java.io.FileInputStream; import edu.neu.ccs.demeterf.util.Util; import edu.neu.ccs.demeterf.util.CLI; /** Representation of TypeDefCons */ public class TypeDefCons extends TypeDefList implements ConsList{ protected final TypeDef first; protected final TypeDefList rest; /** Construct a(n) TypeDefCons Instance */ public TypeDefCons(TypeDef first, TypeDefList rest){ this.first = first; this.rest = rest; } /** Is the given object Equal to this TypeDefCons? */ public boolean equals(Object o){ if(!(o instanceof TypeDefCons))return false; if(o == this)return true; TypeDefCons oo = (TypeDefCons)o; return (((Object)first).equals(oo.first))&&(((Object)rest).equals(oo.rest)); } /** Parse an instance of TypeDefCons from the given String */ public static TypeDefCons parse(String inpt) throws edu.neu.ccs.demeterf.demfgen.classes.ParseException{ return new edu.neu.ccs.demeterf.demfgen.classes.TheParser(new java.io.StringReader(inpt)).parse_TypeDefCons(); } /** Parse an instance of TypeDefCons from the given Stream */ public static TypeDefCons parse(java.io.InputStream inpt) throws edu.neu.ccs.demeterf.demfgen.classes.ParseException{ return new edu.neu.ccs.demeterf.demfgen.classes.TheParser(inpt).parse_TypeDefCons(); } /** Parse an instance of TypeDefCons from the given Reader */ public static TypeDefCons parse(java.io.Reader inpt) throws edu.neu.ccs.demeterf.demfgen.classes.ParseException{ return new edu.neu.ccs.demeterf.demfgen.classes.TheParser(inpt).parse_TypeDefCons(); } /** Field Class for TypeDefCons.first */ public static class first extends edu.neu.ccs.demeterf.Fields.any{} /** Field Class for TypeDefCons.rest */ public static class rest extends edu.neu.ccs.demeterf.Fields.any{} public List<TypeDef> toList(){ return rest.toList().push(first); } public boolean anyGen(){ return first.doGen() || rest.anyGen(); } /** DGP method from Class Print */ public String print(){ return edu.neu.ccs.demeterf.demfgen.classes.Print.PrintM(this); } /** DGP method from Class ToStr */ public String toStr(){ return edu.neu.ccs.demeterf.demfgen.classes.ToStr.ToStrM(this); } /** DGP method from Class ToXML */ public String toXML(){ return edu.neu.ccs.demeterf.demfgen.classes.ToXML.ToXMLM(this); } /** Updater for field TypeDefCons.first */ public TypeDefCons updateFirst(TypeDef _first){ return new TypeDefCons(_first, rest); } /** Updater for field TypeDefCons.rest */ public TypeDefCons updateRest(TypeDefList _rest){ return new TypeDefCons(first, _rest); } /** Getter for field TypeDefCons.first */ public TypeDef getFirst(){ return first; } /** Getter for field TypeDefCons.rest */ public TypeDefList getRest(){ return rest; } }