core: import edu.neu.ccs.demeter.*; add: class ShoeOrder { protected String id; public String get_id() {{ return id; }} public void set_id(String new_id) {{ id = new_id; }} protected String style; public String get_style() {{ return style; }} public void set_style(String new_style) {{ style = new_style; }} protected Ident color; public Ident get_color() {{ return color; }} public void set_color(Ident new_color) {{ color = new_color; }} protected String size; public String get_size() {{ return size; }} public void set_size(String new_size) {{ size = new_size; }} protected Width width; public Width get_width() {{ return width; }} public void set_width(Width new_width) {{ width = new_width; }} protected Store_List stores; public Store_List get_stores() {{ return stores; }} public void set_stores(Store_List new_stores) {{ stores = new_stores; }} public constructor ShoeOrder() {{ super(); }} public constructor ShoeOrder(String id, String style, Ident color, String size, Width width, Store_List stores) {{ super(); set_id(id); set_style(style); set_color(color); set_size(size); set_width(width); set_stores(stores); }} public static ShoeOrder parse(java.io.Reader in) throws ParseException {{ return new Parser(in)._ShoeOrder(); }} public static ShoeOrder parse(java.io.InputStream in) throws ParseException {{ return new Parser(in)._ShoeOrder(); }} public static ShoeOrder parse(String s) {{ try { return parse(new java.io.StringReader(s)); } catch (ParseException e) { throw new RuntimeException(e.toString()); } }} public void print() {{ PrintVisitor v0 = new PrintVisitor(); v0.start(); toAll(v0); v0.finish(); }} public void display() {{ DisplayVisitor v0 = new DisplayVisitor(); v0.start(); toAll(v0); v0.finish(); }} public void trace() {{ TraceVisitor v0 = new TraceVisitor(); v0.start(); toAll(v0); v0.finish(); }} public int sum() {{ SummingVisitor v0 = new SummingVisitor(); v0.start(); toAllQuantities(v0); v0.finish(); return v0.get_return_val(); }} public int sumWithDebugging() {{ SummingVisitor v0 = new SummingVisitor(); TraceVisitor v1 = new TraceVisitor(); v0.start(); v1.start(); __trav_sumWithDebugging(v0, v1); v1.finish(); v0.finish(); return v0.get_return_val(); }} public ShoeOrder copy() {{ CopyVisitor cv = new CopyVisitor(ShoeOrder.class); this.toAll(cv); return (ShoeOrder) cv.get_return_val(); }} public boolean equal(Object o) {{ EqualVisitor ev = new EqualVisitor(o); this.toAll(ev); return ev.get_return_val(); }} {{ void universal_trv0_bef(UniversalVisitor _v_) { ((UniversalVisitor) _v_).before(this); } }} {{ void universal_trv0_aft(UniversalVisitor _v_) { ((UniversalVisitor) _v_).after(this); } }} {{ void universal_trv0(UniversalVisitor _v_) { universal_trv0_bef(_v_); ((UniversalVisitor) _v_).before_id(this, id); ((UniversalVisitor) _v_).after_id(this, id); ((UniversalVisitor) _v_).before_style(this, style); ((UniversalVisitor) _v_).after_style(this, style); ((UniversalVisitor) _v_).before_color(this, color); ((UniversalVisitor) _v_).after_color(this, color); ((UniversalVisitor) _v_).before_size(this, size); ((UniversalVisitor) _v_).after_size(this, size); ((UniversalVisitor) _v_).before_width(this, width); width.universal_trv0(_v_); ((UniversalVisitor) _v_).after_width(this, width); if (stores != null) { ((UniversalVisitor) _v_).before_stores(this, stores); stores.universal_trv0(_v_); ((UniversalVisitor) _v_).after_stores(this, stores); } universal_trv0_aft(_v_); } }} {{ public void toAll(UniversalVisitor __v0) { toAll_ShoeOrder_trv(__v0); } }} {{ void toAll_ShoeOrder_trv_bef(UniversalVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void toAll_ShoeOrder_trv_aft(UniversalVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void toAll_ShoeOrder_trv(UniversalVisitor __v0) { toAll_ShoeOrder_trv_bef(__v0); ((UniversalVisitor) __v0).before_id(this, id); ((UniversalVisitor) __v0).after_id(this, id); ((UniversalVisitor) __v0).before_style(this, style); ((UniversalVisitor) __v0).after_style(this, style); ((UniversalVisitor) __v0).before_color(this, color); ((UniversalVisitor) __v0).after_color(this, color); ((UniversalVisitor) __v0).before_size(this, size); ((UniversalVisitor) __v0).after_size(this, size); ((UniversalVisitor) __v0).before_width(this, width); width.toAll_ShoeOrder_trv(__v0); ((UniversalVisitor) __v0).after_width(this, width); if (stores != null) { ((UniversalVisitor) __v0).before_stores(this, stores); stores.toAll_ShoeOrder_trv(__v0); ((UniversalVisitor) __v0).after_stores(this, stores); } toAll_ShoeOrder_trv_aft(__v0); } }} {{ public void toAllQuantities(UniversalVisitor __v0) { toAllQuantities_ShoeOrder_trv(__v0); } }} {{ void toAllQuantities_ShoeOrder_trv_bef(UniversalVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void toAllQuantities_ShoeOrder_trv_aft(UniversalVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void toAllQuantities_ShoeOrder_trv(UniversalVisitor __v0) { toAllQuantities_ShoeOrder_trv_bef(__v0); if (stores != null) { ((UniversalVisitor) __v0).before_stores(this, stores); stores.toAllQuantities_ShoeOrder_trv(__v0); ((UniversalVisitor) __v0).after_stores(this, stores); } toAllQuantities_ShoeOrder_trv_aft(__v0); } }} {{ public void __trav_sumWithDebugging(SummingVisitor __v0, TraceVisitor __v1) { __trav_sumWithDebugging_ShoeOrder_trv(__v0, __v1); } }} {{ void __trav_sumWithDebugging_ShoeOrder_trv_bef(SummingVisitor __v0, TraceVisitor __v1) { ((UniversalVisitor) __v0).before(this); ((TraceVisitor) __v1).before(this); } }} {{ void __trav_sumWithDebugging_ShoeOrder_trv_aft(SummingVisitor __v0, TraceVisitor __v1) { ((TraceVisitor) __v1).after(this); ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_sumWithDebugging_ShoeOrder_trv(SummingVisitor __v0, TraceVisitor __v1) { __trav_sumWithDebugging_ShoeOrder_trv_bef(__v0, __v1); if (stores != null) { ((UniversalVisitor) __v0).before_stores(this, stores); ((TraceVisitor) __v1).before_stores(this, stores); stores.__trav_sumWithDebugging_ShoeOrder_trv(__v0, __v1); ((TraceVisitor) __v1).after_stores(this, stores); ((UniversalVisitor) __v0).after_stores(this, stores); } __trav_sumWithDebugging_ShoeOrder_trv_aft(__v0, __v1); } }} }