core: import edu.neu.ccs.demeter.dj.*; import edu.neu.ccs.demeter.*; add: class Money { protected float price; public float get_price() {{ return price; }} public void set_price(float new_price) {{ price = new_price; }} public constructor Money() {{ super(); }} public constructor Money(float price) {{ super(); set_price(price); }} public static Money parse(java.io.Reader in) throws ParseException {{ return new Parser(in)._Money(); }} public static Money parse(java.io.InputStream in) throws ParseException {{ return new Parser(in)._Money(); }} public static Money parse(String s) {{ try { return parse(new java.io.StringReader(s)); } catch (ParseException e) { throw new RuntimeException(e.toString()); } }} void print() {{ PrintVisitor v0 = new PrintVisitor(); v0.start(); __trav_print(v0); v0.finish(); }} {{ 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_price(this, price); ((UniversalVisitor) _v_).after_price(this, price); universal_trv0_aft(_v_); } }} {{ void __trav_print_Blackboard_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_Blackboard_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_Blackboard_trv(PrintVisitor __v0) { __trav_print_Blackboard_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_Blackboard_trv_aft(__v0); } }} {{ void __trav_print_Player_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_Player_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_Player_trv(PrintVisitor __v0) { __trav_print_Player_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_Player_trv_aft(__v0); } }} {{ void __trav_print_History_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_History_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_History_trv(PrintVisitor __v0) { __trav_print_History_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_History_trv_aft(__v0); } }} {{ void __trav_print_Store_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_Store_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_Store_trv(PrintVisitor __v0) { __trav_print_Store_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_Store_trv_aft(__v0); } }} {{ void __trav_print_Transaction_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_Transaction_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_Transaction_trv(PrintVisitor __v0) { __trav_print_Transaction_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_Transaction_trv_aft(__v0); } }} {{ void __trav_print_Trans_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_Trans_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_Trans_trv(PrintVisitor __v0) { __trav_print_Trans_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_Trans_trv_aft(__v0); } }} {{ void __trav_print_Buy_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_Buy_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_Buy_trv(PrintVisitor __v0) { __trav_print_Buy_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_Buy_trv_aft(__v0); } }} {{ void __trav_print_Create_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_Create_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_Create_trv(PrintVisitor __v0) { __trav_print_Create_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_Create_trv_aft(__v0); } }} {{ void __trav_print_DeliverR_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_DeliverR_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_DeliverR_trv(PrintVisitor __v0) { __trav_print_DeliverR_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_DeliverR_trv_aft(__v0); } }} {{ void __trav_print_Finish_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_Finish_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_Finish_trv(PrintVisitor __v0) { __trav_print_Finish_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_Finish_trv_aft(__v0); } }} {{ void __trav_print_Derivative_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_Derivative_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_Derivative_trv(PrintVisitor __v0) { __trav_print_Derivative_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_Derivative_trv_aft(__v0); } }} {{ void __trav_print_FinishedProduct_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_FinishedProduct_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_FinishedProduct_trv(PrintVisitor __v0) { __trav_print_FinishedProduct_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_FinishedProduct_trv_aft(__v0); } }} {{ public void __trav_print(PrintVisitor __v0) { __trav_print_Money_trv(__v0); } }} {{ void __trav_print_Money_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_Money_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_Money_trv(PrintVisitor __v0) { __trav_print_Money_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_Money_trv_aft(__v0); } }} {{ void __trav_print_Player_List_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_Player_List_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_Player_List_trv(PrintVisitor __v0) { __trav_print_Player_List_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_Player_List_trv_aft(__v0); } }} {{ void __trav_print_Transaction_List_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_Transaction_List_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_Transaction_List_trv(PrintVisitor __v0) { __trav_print_Transaction_List_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_Transaction_List_trv_aft(__v0); } }} {{ void __trav_print_Transaction_EList_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_Transaction_EList_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_Transaction_EList_trv(PrintVisitor __v0) { __trav_print_Transaction_EList_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_Transaction_EList_trv_aft(__v0); } }} {{ void __trav_print_Derivative_EList_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_Derivative_EList_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_Derivative_EList_trv(PrintVisitor __v0) { __trav_print_Derivative_EList_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_Derivative_EList_trv_aft(__v0); } }} {{ void __trav_print_Nonempty_Player_List_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_Nonempty_Player_List_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_Nonempty_Player_List_trv(PrintVisitor __v0) { __trav_print_Nonempty_Player_List_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_Nonempty_Player_List_trv_aft(__v0); } }} {{ void __trav_print_Nonempty_Transaction_List_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_Nonempty_Transaction_List_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_Nonempty_Transaction_List_trv(PrintVisitor __v0) { __trav_print_Nonempty_Transaction_List_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_Nonempty_Transaction_List_trv_aft(__v0); } }} {{ void __trav_print_Nonempty_Transaction_EList_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_Nonempty_Transaction_EList_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_Nonempty_Transaction_EList_trv(PrintVisitor __v0) { __trav_print_Nonempty_Transaction_EList_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_Nonempty_Transaction_EList_trv_aft(__v0); } }} {{ void __trav_print_Nonempty_Derivative_EList_trv_bef(PrintVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_Nonempty_Derivative_EList_trv_aft(PrintVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_Nonempty_Derivative_EList_trv(PrintVisitor __v0) { __trav_print_Nonempty_Derivative_EList_trv_bef(__v0); ((PrintVisitor) __v0).before_price(this, price); ((PrintVisitor) __v0).after_price(this, price); __trav_print_Nonempty_Derivative_EList_trv_aft(__v0); } }} }