// 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 -> ClassGraph, classes, ClassDef_DList {{ ClassGraph it = (ClassGraph) history.peek(); ClassDef_DList p = new ClassDef_DList(); it.set_classes(p); history.push(p); }} after -> ClassGraph, classes, ClassDef_DList {{ history.pop(); }} before -> ClassDef, classname, ClassName {{ ClassDef it = (ClassDef) history.peek(); ClassName p = new ClassName(); it.set_classname(p); history.push(p); }} after -> ClassDef, classname, ClassName {{ history.pop(); }} before -> ClassDef, classparts, ClassParts {{ ClassDef it = (ClassDef) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_classparts((ClassParts) p); history.push(p); }} after -> ClassDef, classparts, ClassParts {{ history.pop(); }} before -> ConstOrAltClass, parts, PartOrSyntax_List {{ ConstOrAltClass it = (ConstOrAltClass) history.peek(); PartOrSyntax_List p = new PartOrSyntax_List(); it.set_parts(p); history.push(p); }} after -> ConstOrAltClass, parts, PartOrSyntax_List {{ history.pop(); }} before -> Part, partname, PartName {{ Part it = (Part) history.peek(); PartName p = new PartName(); it.set_partname(p); history.push(p); }} after -> Part, partname, PartName {{ history.pop(); }} before -> Part, classspec, ClassSpec {{ Part it = (Part) history.peek(); ClassSpec p = new ClassSpec(); it.set_classspec(p); history.push(p); }} after -> Part, classspec, ClassSpec {{ history.pop(); }} before -> OptionalPart, part, Part_Sandwich {{ OptionalPart it = (OptionalPart) history.peek(); Part_Sandwich p = new Part_Sandwich(); it.set_part(p); history.push(p); }} after -> OptionalPart, part, Part_Sandwich {{ history.pop(); }} before -> AlternationClass, subclasses, Subclass_Barlist {{ AlternationClass it = (AlternationClass) history.peek(); Subclass_Barlist p = new Subclass_Barlist(); it.set_subclasses(p); history.push(p); }} after -> AlternationClass, subclasses, Subclass_Barlist {{ history.pop(); }} before -> AlternationClass, common, Common {{ AlternationClass it = (AlternationClass) history.peek(); Common p = new Common(); it.set_common(p); history.push(p); }} after -> AlternationClass, common, Common {{ history.pop(); }} before -> Subclass, classspec, ClassSpec {{ Subclass it = (Subclass) history.peek(); ClassSpec p = new ClassSpec(); it.set_classspec(p); history.push(p); }} after -> Subclass, classspec, ClassSpec {{ history.pop(); }} before -> RepetitionClass, sandwiched, RepeatedPart_Sandwich {{ RepetitionClass it = (RepetitionClass) history.peek(); RepeatedPart_Sandwich p = new RepeatedPart_Sandwich(); it.set_sandwiched(p); history.push(p); }} after -> RepetitionClass, sandwiched, RepeatedPart_Sandwich {{ history.pop(); }} before -> RepeatedPart, nonempty, ClassSpec {{ RepeatedPart it = (RepeatedPart) history.peek(); ClassSpec p = new ClassSpec(); it.set_nonempty(p); history.push(p); }} after -> RepeatedPart, nonempty, ClassSpec {{ history.pop(); }} before -> RepeatedPart, repeated, ClassSpec_Sandwich {{ RepeatedPart it = (RepeatedPart) history.peek(); ClassSpec_Sandwich p = new ClassSpec_Sandwich(); it.set_repeated(p); history.push(p); }} after -> RepeatedPart, repeated, ClassSpec_Sandwich {{ history.pop(); }} before -> ClassSpec, classname, ClassName {{ ClassSpec it = (ClassSpec) history.peek(); ClassName p = new ClassName(); it.set_classname(p); history.push(p); }} after -> ClassSpec, classname, ClassName {{ history.pop(); }} before -> PlainSyntax, string, String {{ PlainSyntax it = (PlainSyntax) history.peek(); it.set_string(dest); }} before -> DirName, name, Ident {{ DirName it = (DirName) history.peek(); it.set_name(dest); }} before -> ClassName, name, Ident {{ ClassName it = (ClassName) history.peek(); it.set_name(dest); }} before -> PartName, name, Ident {{ PartName it = (PartName) history.peek(); it.set_name(dest); }} before -> TraversalName, name, Ident {{ TraversalName it = (TraversalName) history.peek(); it.set_name(dest); }} before -> VisitorName, name, Ident {{ VisitorName it = (VisitorName) history.peek(); it.set_name(dest); }} before -> MethodName, name, Ident {{ MethodName it = (MethodName) history.peek(); it.set_name(dest); }} before -> JavaCode, code, String {{ JavaCode it = (JavaCode) history.peek(); it.set_code(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 -> ClassDef_DList, first, Nonempty_ClassDef_DList {{ ClassDef_DList it = (ClassDef_DList) history.peek(); Nonempty_ClassDef_DList p = new Nonempty_ClassDef_DList(); it.set_first(p); history.push(p); }} after -> ClassDef_DList, first, Nonempty_ClassDef_DList {{ history.pop(); }} before -> PartOrSyntax_List, first, Nonempty_PartOrSyntax_List {{ PartOrSyntax_List it = (PartOrSyntax_List) history.peek(); Nonempty_PartOrSyntax_List p = new Nonempty_PartOrSyntax_List(); it.set_first(p); history.push(p); }} after -> PartOrSyntax_List, first, Nonempty_PartOrSyntax_List {{ history.pop(); }} before -> Part_Sandwich, first, Syntax_List {{ Part_Sandwich it = (Part_Sandwich) history.peek(); Syntax_List p = new Syntax_List(); it.set_first(p); history.push(p); }} after -> Part_Sandwich, first, Syntax_List {{ history.pop(); }} before -> Part_Sandwich, inner, Part {{ Part_Sandwich it = (Part_Sandwich) history.peek(); Part p = new Part(); it.set_inner(p); history.push(p); }} after -> Part_Sandwich, inner, Part {{ history.pop(); }} before -> Part_Sandwich, second, Syntax_List {{ Part_Sandwich it = (Part_Sandwich) history.peek(); Syntax_List p = new Syntax_List(); it.set_second(p); history.push(p); }} after -> Part_Sandwich, second, Syntax_List {{ history.pop(); }} before -> Subclass_Barlist, first, Nonempty_Subclass_Barlist {{ Subclass_Barlist it = (Subclass_Barlist) history.peek(); Nonempty_Subclass_Barlist p = new Nonempty_Subclass_Barlist(); it.set_first(p); history.push(p); }} after -> Subclass_Barlist, first, Nonempty_Subclass_Barlist {{ history.pop(); }} before -> RepeatedPart_Sandwich, first, Syntax_List {{ RepeatedPart_Sandwich it = (RepeatedPart_Sandwich) history.peek(); Syntax_List p = new Syntax_List(); it.set_first(p); history.push(p); }} after -> RepeatedPart_Sandwich, first, Syntax_List {{ history.pop(); }} before -> RepeatedPart_Sandwich, inner, RepeatedPart {{ RepeatedPart_Sandwich it = (RepeatedPart_Sandwich) history.peek(); RepeatedPart p = new RepeatedPart(); it.set_inner(p); history.push(p); }} after -> RepeatedPart_Sandwich, inner, RepeatedPart {{ history.pop(); }} before -> RepeatedPart_Sandwich, second, Syntax_List {{ RepeatedPart_Sandwich it = (RepeatedPart_Sandwich) history.peek(); Syntax_List p = new Syntax_List(); it.set_second(p); history.push(p); }} after -> RepeatedPart_Sandwich, second, Syntax_List {{ history.pop(); }} before -> ClassSpec_Sandwich, first, Syntax_List {{ ClassSpec_Sandwich it = (ClassSpec_Sandwich) history.peek(); Syntax_List p = new Syntax_List(); it.set_first(p); history.push(p); }} after -> ClassSpec_Sandwich, first, Syntax_List {{ history.pop(); }} before -> ClassSpec_Sandwich, inner, ClassSpec {{ ClassSpec_Sandwich it = (ClassSpec_Sandwich) history.peek(); ClassSpec p = new ClassSpec(); it.set_inner(p); history.push(p); }} after -> ClassSpec_Sandwich, inner, ClassSpec {{ history.pop(); }} before -> ClassSpec_Sandwich, second, Syntax_List {{ ClassSpec_Sandwich it = (ClassSpec_Sandwich) history.peek(); Syntax_List p = new Syntax_List(); it.set_second(p); history.push(p); }} after -> ClassSpec_Sandwich, second, Syntax_List {{ history.pop(); }} before -> Syntax_List, first, Nonempty_Syntax_List {{ Syntax_List it = (Syntax_List) history.peek(); Nonempty_Syntax_List p = new Nonempty_Syntax_List(); it.set_first(p); history.push(p); }} after -> Syntax_List, first, Nonempty_Syntax_List {{ history.pop(); }} before -> Nonempty_ClassDef_DList, it, ClassDef {{ Nonempty_ClassDef_DList it = (Nonempty_ClassDef_DList) history.peek(); ClassDef p = new ClassDef(); it.set_it(p); history.push(p); }} after -> Nonempty_ClassDef_DList, it, ClassDef {{ history.pop(); }} before -> Nonempty_ClassDef_DList, next, Nonempty_ClassDef_DList {{ Nonempty_ClassDef_DList it = (Nonempty_ClassDef_DList) history.peek(); Nonempty_ClassDef_DList p = new Nonempty_ClassDef_DList(); it.set_next(p); history.push(p); }} after -> Nonempty_ClassDef_DList, next, Nonempty_ClassDef_DList {{ history.pop(); }} before -> Nonempty_PartOrSyntax_List, it, PartOrSyntax {{ Nonempty_PartOrSyntax_List it = (Nonempty_PartOrSyntax_List) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((PartOrSyntax) p); history.push(p); }} after -> Nonempty_PartOrSyntax_List, it, PartOrSyntax {{ history.pop(); }} before -> Nonempty_PartOrSyntax_List, next, Nonempty_PartOrSyntax_List {{ Nonempty_PartOrSyntax_List it = (Nonempty_PartOrSyntax_List) history.peek(); Nonempty_PartOrSyntax_List p = new Nonempty_PartOrSyntax_List(); it.set_next(p); history.push(p); }} after -> Nonempty_PartOrSyntax_List, next, Nonempty_PartOrSyntax_List {{ history.pop(); }} before -> Nonempty_Subclass_Barlist, it, Subclass {{ Nonempty_Subclass_Barlist it = (Nonempty_Subclass_Barlist) history.peek(); Subclass p = new Subclass(); it.set_it(p); history.push(p); }} after -> Nonempty_Subclass_Barlist, it, Subclass {{ history.pop(); }} before -> Nonempty_Subclass_Barlist, next, Nonempty_Subclass_Barlist {{ Nonempty_Subclass_Barlist it = (Nonempty_Subclass_Barlist) history.peek(); Nonempty_Subclass_Barlist p = new Nonempty_Subclass_Barlist(); it.set_next(p); history.push(p); }} after -> Nonempty_Subclass_Barlist, next, Nonempty_Subclass_Barlist {{ history.pop(); }} before -> Nonempty_Syntax_List, it, Syntax {{ Nonempty_Syntax_List it = (Nonempty_Syntax_List) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((Syntax) p); history.push(p); }} after -> Nonempty_Syntax_List, it, Syntax {{ history.pop(); }} before -> Nonempty_Syntax_List, next, Nonempty_Syntax_List {{ Nonempty_Syntax_List it = (Nonempty_Syntax_List) history.peek(); Nonempty_Syntax_List p = new Nonempty_Syntax_List(); it.set_next(p); history.push(p); }} after -> Nonempty_Syntax_List, next, Nonempty_Syntax_List {{ history.pop(); }} }