// ** This class was generated with DemFGen (vers:01/09/2009) package gen; import edu.neu.ccs.demeterf.demfgen.lib.*; import edu.neu.ccs.demeterf.*; public class Start{ public final Option oa; public Start(Option oa){ this.oa = oa; } public boolean equals(Object o){ if(!(o instanceof Start))return false; Start oo = (Start)o; return (((Object)oa).equals(oo.oa)); } public static Start parse(String inpt) throws ParseException{ return new TheParser(new java.io.StringReader(inpt)).parse_Start(); } public static Start parse(java.io.InputStream inpt) throws ParseException{ return new TheParser(inpt).parse_Start(); } public static Start parse(java.io.Reader inpt) throws ParseException{ return new TheParser(inpt).parse_Start(); } public static class oa extends edu.neu.ccs.demeterf.control.Fields.any{} // magically replace apples by oranges and vice versa // and keep the rest of the structure the same public Start magic() { return new Traversal(new Bc(){ Orange combine(Apple a){return new Orange();} Apple combine(Orange o){return new Apple();} }). traverse(this); } public String display(){ return gen.Display.DisplayM(this); } public String print(){ return gen.Print.PrintM(this); } public String toStr(){ return gen.ToStr.ToStrM(this); } }