core: import edu.neu.ccs.demeter.*; add: class SummingVisitor extends UniversalVisitor { protected int total; public int get_total() {{ return total; }} public void set_total(int new_total) {{ total = new_total; }} public constructor SummingVisitor(int total) {{ super(); set_total(total); }} public static SummingVisitor parse(java.io.Reader in) throws ParseException {{ return new Parser(in)._SummingVisitor(); }} public static SummingVisitor parse(java.io.InputStream in) throws ParseException {{ return new Parser(in)._SummingVisitor(); }} public static SummingVisitor parse(String s) {{ try { return parse(new java.io.StringReader(s)); } catch (ParseException e) { throw new RuntimeException(e.toString()); } }} public constructor SummingVisitor() {{ total = 0; }} public void before(Quantity host) {{ System.out.println("sum " + total); total = total + host.get_number().intValue(); }} int get_return_val() {{ return total ; }} {{ void universal_trv0_bef(UniversalVisitor _v_) { super.universal_trv0_bef(_v_); } }} {{ void universal_trv0_aft(UniversalVisitor _v_) { super.universal_trv0_aft(_v_); } }} {{ void universal_trv0(UniversalVisitor _v_) { universal_trv0_bef(_v_); super.universal_trv0(_v_); universal_trv0_aft(_v_); } }} }