// ** 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 FieldCons */ public class FieldCons extends FieldList implements ConsList{ protected final FieldOrSyntax first; protected final FieldList rest; /** Construct a(n) FieldCons Instance */ public FieldCons(FieldOrSyntax first, FieldList rest){ this.first = first; this.rest = rest; } /** Is the given object Equal to this FieldCons? */ public boolean equals(Object o){ if(!(o instanceof FieldCons))return false; if(o == this)return true; FieldCons oo = (FieldCons)o; return (((Object)first).equals(oo.first))&&(((Object)rest).equals(oo.rest)); } /** Parse an instance of FieldCons from the given String */ public static FieldCons 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_FieldCons(); } /** Parse an instance of FieldCons from the given Stream */ public static FieldCons parse(java.io.InputStream inpt) throws edu.neu.ccs.demeterf.demfgen.classes.ParseException{ return new edu.neu.ccs.demeterf.demfgen.classes.TheParser(inpt).parse_FieldCons(); } /** Parse an instance of FieldCons from the given Reader */ public static FieldCons parse(java.io.Reader inpt) throws edu.neu.ccs.demeterf.demfgen.classes.ParseException{ return new edu.neu.ccs.demeterf.demfgen.classes.TheParser(inpt).parse_FieldCons(); } /** Field Class for FieldCons.first */ public static class first extends edu.neu.ccs.demeterf.Fields.any{} /** Field Class for FieldCons.rest */ public static class rest extends edu.neu.ccs.demeterf.Fields.any{} public List<Field> justFields(){ List<Field> r = rest.justFields(); return first.isSyntax()?r:r.push((Field)first); } public List<FieldOrSyntax> toList(){ return rest.toList().push(first); } public FieldList append(FieldList l){ return rest.append(l).push(first); } public FieldList append(List<FieldOrSyntax> l){ return rest.append(l).push(first); } public boolean isEmpty(){ return false; } /** 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 FieldCons.first */ public FieldCons updateFirst(FieldOrSyntax _first){ return new FieldCons(_first, rest); } /** Updater for field FieldCons.rest */ public FieldCons updateRest(FieldList _rest){ return new FieldCons(first, _rest); } /** Getter for field FieldCons.first */ public FieldOrSyntax getFirst(){ return first; } /** Getter for field FieldCons.rest */ public FieldList getRest(){ return rest; } }