// 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 -> Ex, first, Nonempty_Ex {{ Ex it = (Ex) history.peek(); Nonempty_Ex p = new Nonempty_Ex(); it.set_first(p); history.push(p); }} after -> Ex, first, Nonempty_Ex {{ history.pop(); }} before -> Expression, first, Nonempty_Expression {{ Expression it = (Expression) history.peek(); Nonempty_Expression p = new Nonempty_Expression(); it.set_first(p); history.push(p); }} after -> Expression, first, Nonempty_Expression {{ history.pop(); }} before -> Term, first, Nonempty_Term {{ Term it = (Term) history.peek(); Nonempty_Term p = new Nonempty_Term(); it.set_first(p); history.push(p); }} after -> Term, first, Nonempty_Term {{ history.pop(); }} before -> Compound, expression, Expression {{ Compound it = (Compound) history.peek(); Expression p = new Expression(); it.set_expression(p); history.push(p); }} after -> Compound, expression, Expression {{ history.pop(); }} before -> Variable, ident, Ident {{ Variable it = (Variable) history.peek(); it.set_ident(dest); }} 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 -> Nonempty_Ex, it, Expression {{ Nonempty_Ex it = (Nonempty_Ex) history.peek(); Expression p = new Expression(); it.set_it(p); history.push(p); }} after -> Nonempty_Ex, it, Expression {{ history.pop(); }} before -> Nonempty_Ex, next, Nonempty_Ex {{ Nonempty_Ex it = (Nonempty_Ex) history.peek(); Nonempty_Ex p = new Nonempty_Ex(); it.set_next(p); history.push(p); }} after -> Nonempty_Ex, next, Nonempty_Ex {{ history.pop(); }} before -> Nonempty_Expression, it, Term {{ Nonempty_Expression it = (Nonempty_Expression) history.peek(); Term p = new Term(); it.set_it(p); history.push(p); }} after -> Nonempty_Expression, it, Term {{ history.pop(); }} before -> Nonempty_Expression, next, Nonempty_Expression {{ Nonempty_Expression it = (Nonempty_Expression) history.peek(); Nonempty_Expression p = new Nonempty_Expression(); it.set_next(p); history.push(p); }} after -> Nonempty_Expression, next, Nonempty_Expression {{ history.pop(); }} before -> Nonempty_Term, it, Factor {{ Nonempty_Term it = (Nonempty_Term) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((Factor) p); history.push(p); }} after -> Nonempty_Term, it, Factor {{ history.pop(); }} before -> Nonempty_Term, next, Nonempty_Term {{ Nonempty_Term it = (Nonempty_Term) history.peek(); Nonempty_Term p = new Nonempty_Term(); it.set_next(p); history.push(p); }} after -> Nonempty_Term, next, Nonempty_Term {{ history.pop(); }} }