// This file is automatically generated by DemeterJ. CopyVisitor { {{ private java.util.Stack history = new java.util.Stack(); public CopyVisitor(Class firstClass) { try { history.push(firstClass.newInstance()); } catch(Exception e) { e.printStackTrace(); } } }} get copy {{ return history.peek(); }} return Object {{ get_copy() }} before -> Main, s, String {{ Main it = (Main) history.peek(); it.set_s(dest); }} before -> SPL, block, Block {{ SPL it = (SPL) history.peek(); Block p = new Block(); it.set_block(p); history.push(p); }} after -> SPL, block, Block {{ history.pop(); }} before -> Block, declaration_list, Declaration_List {{ Block it = (Block) history.peek(); Declaration_List p = new Declaration_List(); it.set_declaration_list(p); history.push(p); }} after -> Block, declaration_list, Declaration_List {{ history.pop(); }} before -> Block, statement_nlist, Statement_NList {{ Block it = (Block) history.peek(); Statement_NList p = new Statement_NList(); it.set_statement_nlist(p); history.push(p); }} after -> Block, statement_nlist, Statement_NList {{ history.pop(); }} before -> Declaration, type, Type {{ Declaration it = (Declaration) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_type((Type) p); history.push(p); }} after -> Declaration, type, Type {{ history.pop(); }} before -> Declaration, variable, Variable {{ Declaration it = (Declaration) history.peek(); Variable p = new Variable(); it.set_variable(p); history.push(p); }} after -> Declaration, variable, Variable {{ history.pop(); }} before -> Declaration, exp, Exp {{ Declaration it = (Declaration) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_exp((Exp) p); history.push(p); }} after -> Declaration, exp, Exp {{ history.pop(); }} before -> Variable, ident, Ident {{ Variable it = (Variable) history.peek(); it.set_ident(dest); }} before -> Numbe, val, int {{ Numbe it = (Numbe) history.peek(); it.set_val(dest); }} before -> Compound, arg1, Exp {{ Compound it = (Compound) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_arg1((Exp) p); history.push(p); }} after -> Compound, arg1, Exp {{ history.pop(); }} before -> Compound, op, Op {{ Compound it = (Compound) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_op((Op) p); history.push(p); }} after -> Compound, op, Op {{ history.pop(); }} before -> Compound, arg2, Exp {{ Compound it = (Compound) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_arg2((Exp) p); history.push(p); }} after -> Compound, arg2, Exp {{ history.pop(); }} before -> Assignment, variable, Variable {{ Assignment it = (Assignment) history.peek(); Variable p = new Variable(); it.set_variable(p); history.push(p); }} after -> Assignment, variable, Variable {{ history.pop(); }} before -> Assignment, exp, Exp {{ Assignment it = (Assignment) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_exp((Exp) p); history.push(p); }} after -> Assignment, exp, Exp {{ history.pop(); }} before -> IfStat, exp, Exp {{ IfStat it = (IfStat) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_exp((Exp) p); history.push(p); }} after -> IfStat, exp, Exp {{ history.pop(); }} before -> IfStat, thePart, Block {{ IfStat it = (IfStat) history.peek(); Block p = new Block(); it.set_thePart(p); history.push(p); }} after -> IfStat, thePart, Block {{ history.pop(); }} before -> IfStat, elsePart, Block {{ IfStat it = (IfStat) history.peek(); Block p = new Block(); it.set_elsePart(p); history.push(p); }} after -> IfStat, elsePart, Block {{ history.pop(); }} before -> WhileStat, exp, Exp {{ WhileStat it = (WhileStat) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_exp((Exp) p); history.push(p); }} after -> WhileStat, exp, Exp {{ history.pop(); }} before -> WhileStat, block, Block {{ WhileStat it = (WhileStat) history.peek(); Block p = new Block(); it.set_block(p); history.push(p); }} after -> WhileStat, block, Block {{ history.pop(); }} before -> PrintVisitor, indent, int {{ PrintVisitor it = (PrintVisitor) history.peek(); it.set_indent(dest); }} before -> PrintVisitor, needSpace, boolean {{ PrintVisitor it = (PrintVisitor) history.peek(); it.set_needSpace(dest); }} before -> SubgraphVisitor, is_equal, boolean {{ SubgraphVisitor it = (SubgraphVisitor) history.peek(); it.set_is_equal(dest); }} before -> EqualVisitor, is_equal, boolean {{ EqualVisitor it = (EqualVisitor) history.peek(); it.set_is_equal(dest); }} before -> DisplayVisitor, indent, int {{ DisplayVisitor it = (DisplayVisitor) history.peek(); it.set_indent(dest); }} before -> TraceVisitor, indent, int {{ TraceVisitor it = (TraceVisitor) history.peek(); it.set_indent(dest); }} before -> Declaration_List, first, Nonempty_Declaration_List {{ Declaration_List it = (Declaration_List) history.peek(); Nonempty_Declaration_List p = new Nonempty_Declaration_List(); it.set_first(p); history.push(p); }} after -> Declaration_List, first, Nonempty_Declaration_List {{ history.pop(); }} before -> Statement_NList, first, Nonempty_Statement_NList {{ Statement_NList it = (Statement_NList) history.peek(); Nonempty_Statement_NList p = new Nonempty_Statement_NList(); it.set_first(p); history.push(p); }} after -> Statement_NList, first, Nonempty_Statement_NList {{ history.pop(); }} before -> Nonempty_Declaration_List, it, Declaration {{ Nonempty_Declaration_List it = (Nonempty_Declaration_List) history.peek(); Declaration p = new Declaration(); it.set_it(p); history.push(p); }} after -> Nonempty_Declaration_List, it, Declaration {{ history.pop(); }} before -> Nonempty_Declaration_List, next, Nonempty_Declaration_List {{ Nonempty_Declaration_List it = (Nonempty_Declaration_List) history.peek(); Nonempty_Declaration_List p = new Nonempty_Declaration_List(); it.set_next(p); history.push(p); }} after -> Nonempty_Declaration_List, next, Nonempty_Declaration_List {{ history.pop(); }} before -> Nonempty_Statement_NList, it, Statement {{ Nonempty_Statement_NList it = (Nonempty_Statement_NList) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((Statement) p); history.push(p); }} after -> Nonempty_Statement_NList, it, Statement {{ history.pop(); }} before -> Nonempty_Statement_NList, next, Nonempty_Statement_NList {{ Nonempty_Statement_NList it = (Nonempty_Statement_NList) history.peek(); Nonempty_Statement_NList p = new Nonempty_Statement_NList(); it.set_next(p); history.push(p); }} after -> Nonempty_Statement_NList, next, Nonempty_Statement_NList {{ history.pop(); }} }