// 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 -> Program, exps, Expression_List {{ Program it = (Program) history.peek(); Expression_List p = new Expression_List(); it.set_exps(p); history.push(p); }} after -> Program, exps, Expression_List {{ history.pop(); }} before -> LetExp, assignment, Literal {{ LetExp it = (LetExp) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_assignment((Literal) p); history.push(p); }} after -> LetExp, assignment, Literal {{ history.pop(); }} before -> LetExp, body, Expression {{ LetExp it = (LetExp) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_body((Expression) p); history.push(p); }} after -> LetExp, body, Expression {{ history.pop(); }} before -> CNF, clauses, Clause_List {{ CNF it = (CNF) history.peek(); Clause_List p = new Clause_List(); it.set_clauses(p); history.push(p); }} after -> CNF, clauses, Clause_List {{ history.pop(); }} before -> CNF, sat, ClauseCount {{ CNF it = (CNF) history.peek(); ClauseCount p = new ClauseCount(); it.set_sat(p); history.push(p); }} after -> CNF, sat, ClauseCount {{ history.pop(); }} before -> CNF, unsat, ClauseCount {{ CNF it = (CNF) history.peek(); ClauseCount p = new ClauseCount(); it.set_unsat(p); history.push(p); }} after -> CNF, unsat, ClauseCount {{ history.pop(); }} before -> Clause, weight, Weight {{ Clause it = (Clause) history.peek(); Weight p = new Weight(); it.set_weight(p); history.push(p); }} after -> Clause, weight, Weight {{ history.pop(); }} before -> Clause, literals, Literals {{ Clause it = (Clause) history.peek(); Literals p = new Literals(); it.set_literals(p); history.push(p); }} after -> Clause, literals, Literals {{ history.pop(); }} before -> Literals, literals, Literal_List {{ Literals it = (Literals) history.peek(); Literal_List p = new Literal_List(); it.set_literals(p); history.push(p); }} after -> Literals, literals, Literal_List {{ history.pop(); }} before -> Pos, variable, Variable {{ Pos it = (Pos) history.peek(); Variable p = new Variable(); it.set_variable(p); history.push(p); }} after -> Pos, variable, Variable {{ history.pop(); }} before -> Neg, variable, Variable {{ Neg it = (Neg) history.peek(); Variable p = new Variable(); it.set_variable(p); history.push(p); }} after -> Neg, variable, Variable {{ history.pop(); }} before -> Variable, v, Ident {{ Variable it = (Variable) history.peek(); it.set_v(dest); }} before -> Weight, v, int {{ Weight it = (Weight) history.peek(); it.set_v(dest); }} before -> ClauseCount, v, int {{ ClauseCount it = (ClauseCount) history.peek(); it.set_v(dest); }} before -> Main, s, String {{ Main it = (Main) history.peek(); it.set_s(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 -> Expression_List, first, Nonempty_Expression_List {{ Expression_List it = (Expression_List) history.peek(); Nonempty_Expression_List p = new Nonempty_Expression_List(); it.set_first(p); history.push(p); }} after -> Expression_List, first, Nonempty_Expression_List {{ history.pop(); }} before -> Clause_List, first, Nonempty_Clause_List {{ Clause_List it = (Clause_List) history.peek(); Nonempty_Clause_List p = new Nonempty_Clause_List(); it.set_first(p); history.push(p); }} after -> Clause_List, first, Nonempty_Clause_List {{ history.pop(); }} before -> Literal_List, first, Nonempty_Literal_List {{ Literal_List it = (Literal_List) history.peek(); Nonempty_Literal_List p = new Nonempty_Literal_List(); it.set_first(p); history.push(p); }} after -> Literal_List, first, Nonempty_Literal_List {{ history.pop(); }} before -> Nonempty_Expression_List, it, Expression {{ Nonempty_Expression_List it = (Nonempty_Expression_List) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((Expression) p); history.push(p); }} after -> Nonempty_Expression_List, it, Expression {{ history.pop(); }} before -> Nonempty_Expression_List, next, Nonempty_Expression_List {{ Nonempty_Expression_List it = (Nonempty_Expression_List) history.peek(); Nonempty_Expression_List p = new Nonempty_Expression_List(); it.set_next(p); history.push(p); }} after -> Nonempty_Expression_List, next, Nonempty_Expression_List {{ history.pop(); }} before -> Nonempty_Clause_List, it, Clause {{ Nonempty_Clause_List it = (Nonempty_Clause_List) history.peek(); Clause p = new Clause(); it.set_it(p); history.push(p); }} after -> Nonempty_Clause_List, it, Clause {{ history.pop(); }} before -> Nonempty_Clause_List, next, Nonempty_Clause_List {{ Nonempty_Clause_List it = (Nonempty_Clause_List) history.peek(); Nonempty_Clause_List p = new Nonempty_Clause_List(); it.set_next(p); history.push(p); }} after -> Nonempty_Clause_List, next, Nonempty_Clause_List {{ history.pop(); }} before -> Nonempty_Literal_List, it, Literal {{ Nonempty_Literal_List it = (Nonempty_Literal_List) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((Literal) p); history.push(p); }} after -> Nonempty_Literal_List, it, Literal {{ history.pop(); }} before -> Nonempty_Literal_List, next, Nonempty_Literal_List {{ Nonempty_Literal_List it = (Nonempty_Literal_List) history.peek(); Nonempty_Literal_List p = new Nonempty_Literal_List(); it.set_next(p); history.push(p); }} after -> Nonempty_Literal_List, next, Nonempty_Literal_List {{ history.pop(); }} }