// ** 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 TypeUseCons */ public class TypeUseCons extends TypeUseList implements ConsList{ protected final TypeUse first; protected final TypeUseList rest; /** Construct a(n) TypeUseCons Instance */ public TypeUseCons(TypeUse first, TypeUseList rest){ this.first = first; this.rest = rest; } /** Is the given object Equal to this TypeUseCons? */ public boolean equals(Object o){ if(!(o instanceof TypeUseCons))return false; if(o == this)return true; TypeUseCons oo = (TypeUseCons)o; return (((Object)first).equals(oo.first))&&(((Object)rest).equals(oo.rest)); } /** Parse an instance of TypeUseCons from the given String */ public static TypeUseCons 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_TypeUseCons(); } /** Parse an instance of TypeUseCons from the given Stream */ public static TypeUseCons parse(java.io.InputStream inpt) throws edu.neu.ccs.demeterf.demfgen.classes.ParseException{ return new edu.neu.ccs.demeterf.demfgen.classes.TheParser(inpt).parse_TypeUseCons(); } /** Parse an instance of TypeUseCons from the given Reader */ public static TypeUseCons parse(java.io.Reader inpt) throws edu.neu.ccs.demeterf.demfgen.classes.ParseException{ return new edu.neu.ccs.demeterf.demfgen.classes.TheParser(inpt).parse_TypeUseCons(); } /** Field Class for TypeUseCons.first */ public static class first extends edu.neu.ccs.demeterf.Fields.any{} /** Field Class for TypeUseCons.rest */ public static class rest extends edu.neu.ccs.demeterf.Fields.any{} public int length(){ return rest.length()+1; } public String toString(){ return ","+first+rest; } public List<String> toList(){ return rest.toList().push(""+first); } public List<TypeUse> toTUList(){ return rest.toTUList().push(first); } /** 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 TypeUseCons.first */ public TypeUseCons updateFirst(TypeUse _first){ return new TypeUseCons(_first, rest); } /** Updater for field TypeUseCons.rest */ public TypeUseCons updateRest(TypeUseList _rest){ return new TypeUseCons(first, _rest); } /** Getter for field TypeUseCons.first */ public TypeUse getFirst(){ return first; } /** Getter for field TypeUseCons.rest */ public TypeUseList getRest(){ return rest; } }