// 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 -> Input, classgraphh, ClassGraphh {{ Input it = (Input) history.peek(); ClassGraphh p = new ClassGraphh(); it.set_classgraphh(p); history.push(p); }} after -> Input, classgraphh, ClassGraphh {{ history.pop(); }} before -> Input, syntaxenhancement, SyntaxEnhancement {{ Input it = (Input) history.peek(); SyntaxEnhancement p = new SyntaxEnhancement(); it.set_syntaxenhancement(p); history.push(p); }} after -> Input, syntaxenhancement, SyntaxEnhancement {{ history.pop(); }} before -> ClassGraphh, classes, Definition_DList {{ ClassGraphh it = (ClassGraphh) history.peek(); Definition_DList p = new Definition_DList(); it.set_classes(p); history.push(p); }} after -> ClassGraphh, classes, Definition_DList {{ history.pop(); }} before -> ClassDef, paramclassname, ParamClassName {{ ClassDef it = (ClassDef) history.peek(); ParamClassName p = new ParamClassName(); it.set_paramclassname(p); history.push(p); }} after -> ClassDef, paramclassname, ParamClassName {{ 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 -> ParamClassName, classname, ClassName {{ ParamClassName it = (ParamClassName) history.peek(); ClassName p = new ClassName(); it.set_classname(p); history.push(p); }} after -> ParamClassName, classname, ClassName {{ history.pop(); }} before -> ParamClassName, parameters, ClassName_Commalist {{ ParamClassName it = (ParamClassName) history.peek(); ClassName_Commalist p = new ClassName_Commalist(); it.set_parameters(p); history.push(p); }} after -> ParamClassName, parameters, ClassName_Commalist {{ history.pop(); }} before -> ConstOrAltClass, parts, ClassElementWithSyntax_List {{ ConstOrAltClass it = (ConstOrAltClass) history.peek(); ClassElementWithSyntax_List p = new ClassElementWithSyntax_List(); it.set_parts(p); history.push(p); }} after -> ConstOrAltClass, parts, ClassElementWithSyntax_List {{ history.pop(); }} before -> SandwichedClassElement, classelement_psandwich, ClassElement_PSandwich {{ SandwichedClassElement it = (SandwichedClassElement) history.peek(); ClassElement_PSandwich p = new ClassElement_PSandwich(); it.set_classelement_psandwich(p); history.push(p); }} after -> SandwichedClassElement, classelement_psandwich, ClassElement_PSandwich {{ 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, ClassSpec_Barlist {{ AlternationClass it = (AlternationClass) history.peek(); ClassSpec_Barlist p = new ClassSpec_Barlist(); it.set_subclasses(p); history.push(p); }} after -> AlternationClass, subclasses, ClassSpec_Barlist {{ 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 -> ClassSpec, actual_parameters, ClassSpec_Commalist {{ ClassSpec it = (ClassSpec) history.peek(); ClassSpec_Commalist p = new ClassSpec_Commalist(); it.set_actual_parameters(p); history.push(p); }} after -> ClassSpec, actual_parameters, ClassSpec_Commalist {{ history.pop(); }} before -> SyntaxToken, string, String {{ SyntaxToken it = (SyntaxToken) history.peek(); it.set_string(dest); }} before -> ClassName, ident, Ident {{ ClassName it = (ClassName) history.peek(); it.set_ident(dest); }} before -> PartName, name, Ident {{ PartName it = (PartName) history.peek(); it.set_name(dest); }} before -> SyntaxEnhancement, enhancement_list, Enhancement_List {{ SyntaxEnhancement it = (SyntaxEnhancement) history.peek(); Enhancement_List p = new Enhancement_List(); it.set_enhancement_list(p); history.push(p); }} after -> SyntaxEnhancement, enhancement_list, Enhancement_List {{ history.pop(); }} before -> Enhancement, where, Where {{ Enhancement it = (Enhancement) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_where((Where) p); history.push(p); }} after -> Enhancement, where, Where {{ history.pop(); }} before -> Enhancement, enhancementbody, EnhancementBody {{ Enhancement it = (Enhancement) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_enhancementbody((EnhancementBody) p); history.push(p); }} after -> Enhancement, enhancementbody, EnhancementBody {{ history.pop(); }} before -> EnhancementBody, syntaxtoken, SyntaxToken {{ EnhancementBody it = (EnhancementBody) history.peek(); SyntaxToken p = new SyntaxToken(); it.set_syntaxtoken(p); history.push(p); }} after -> EnhancementBody, syntaxtoken, SyntaxToken {{ history.pop(); }} before -> PartCoordinate, syntaxclassname, SyntaxClassName {{ PartCoordinate it = (PartCoordinate) history.peek(); SyntaxClassName p = new SyntaxClassName(); it.set_syntaxclassname(p); history.push(p); }} after -> PartCoordinate, syntaxclassname, SyntaxClassName {{ history.pop(); }} before -> PartCoordinate, syntaxpartname, SyntaxPartName {{ PartCoordinate it = (PartCoordinate) history.peek(); SyntaxPartName p = new SyntaxPartName(); it.set_syntaxpartname(p); history.push(p); }} after -> PartCoordinate, syntaxpartname, SyntaxPartName {{ history.pop(); }} before -> OptionalPartCoordinate, syntaxclassname, SyntaxClassName {{ OptionalPartCoordinate it = (OptionalPartCoordinate) history.peek(); SyntaxClassName p = new SyntaxClassName(); it.set_syntaxclassname(p); history.push(p); }} after -> OptionalPartCoordinate, syntaxclassname, SyntaxClassName {{ history.pop(); }} before -> OptionalPartCoordinate, syntaxpartname, SyntaxPartName {{ OptionalPartCoordinate it = (OptionalPartCoordinate) history.peek(); SyntaxPartName p = new SyntaxPartName(); it.set_syntaxpartname(p); history.push(p); }} after -> OptionalPartCoordinate, syntaxpartname, SyntaxPartName {{ history.pop(); }} before -> ClassBody, syntaxclassname, SyntaxClassName {{ ClassBody it = (ClassBody) history.peek(); SyntaxClassName p = new SyntaxClassName(); it.set_syntaxclassname(p); history.push(p); }} after -> ClassBody, syntaxclassname, SyntaxClassName {{ history.pop(); }} before -> CollectionCoordinate, syntaxclassname, SyntaxClassName {{ CollectionCoordinate it = (CollectionCoordinate) history.peek(); SyntaxClassName p = new SyntaxClassName(); it.set_syntaxclassname(p); history.push(p); }} after -> CollectionCoordinate, syntaxclassname, SyntaxClassName {{ history.pop(); }} before -> CollectionCoordinate, curlybracket, CurlyBracket {{ CollectionCoordinate it = (CollectionCoordinate) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_curlybracket((CurlyBracket) p); history.push(p); }} after -> CollectionCoordinate, curlybracket, CurlyBracket {{ history.pop(); }} before -> SyntaxClassName, ident, Ident {{ SyntaxClassName it = (SyntaxClassName) history.peek(); it.set_ident(dest); }} before -> SyntaxPartName, ident, Ident {{ SyntaxPartName it = (SyntaxPartName) 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 -> Definition_DList, first, Nonempty_Definition_DList {{ Definition_DList it = (Definition_DList) history.peek(); Nonempty_Definition_DList p = new Nonempty_Definition_DList(); it.set_first(p); history.push(p); }} after -> Definition_DList, first, Nonempty_Definition_DList {{ history.pop(); }} before -> ClassName_Commalist, first, Nonempty_ClassName_Commalist {{ ClassName_Commalist it = (ClassName_Commalist) history.peek(); Nonempty_ClassName_Commalist p = new Nonempty_ClassName_Commalist(); it.set_first(p); history.push(p); }} after -> ClassName_Commalist, first, Nonempty_ClassName_Commalist {{ history.pop(); }} before -> ClassElementWithSyntax_List, first, Nonempty_ClassElementWithSyntax_List {{ ClassElementWithSyntax_List it = (ClassElementWithSyntax_List) history.peek(); Nonempty_ClassElementWithSyntax_List p = new Nonempty_ClassElementWithSyntax_List(); it.set_first(p); history.push(p); }} after -> ClassElementWithSyntax_List, first, Nonempty_ClassElementWithSyntax_List {{ history.pop(); }} before -> ClassElement_PSandwich, s, ClassElement_Sandwich {{ ClassElement_PSandwich it = (ClassElement_PSandwich) history.peek(); ClassElement_Sandwich p = new ClassElement_Sandwich(); it.set_s(p); history.push(p); }} after -> ClassElement_PSandwich, s, ClassElement_Sandwich {{ history.pop(); }} before -> ClassElement_Sandwich, first, Syntax_List {{ ClassElement_Sandwich it = (ClassElement_Sandwich) history.peek(); Syntax_List p = new Syntax_List(); it.set_first(p); history.push(p); }} after -> ClassElement_Sandwich, first, Syntax_List {{ history.pop(); }} before -> ClassElement_Sandwich, inner, ClassElement {{ ClassElement_Sandwich it = (ClassElement_Sandwich) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_inner((ClassElement) p); history.push(p); }} after -> ClassElement_Sandwich, inner, ClassElement {{ history.pop(); }} before -> ClassElement_Sandwich, second, Syntax_List {{ ClassElement_Sandwich it = (ClassElement_Sandwich) history.peek(); Syntax_List p = new Syntax_List(); it.set_second(p); history.push(p); }} after -> ClassElement_Sandwich, second, Syntax_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 -> ClassSpec_Barlist, first, Nonempty_ClassSpec_Barlist {{ ClassSpec_Barlist it = (ClassSpec_Barlist) history.peek(); Nonempty_ClassSpec_Barlist p = new Nonempty_ClassSpec_Barlist(); it.set_first(p); history.push(p); }} after -> ClassSpec_Barlist, first, Nonempty_ClassSpec_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 -> ClassSpec_Commalist, first, Nonempty_ClassSpec_Commalist {{ ClassSpec_Commalist it = (ClassSpec_Commalist) history.peek(); Nonempty_ClassSpec_Commalist p = new Nonempty_ClassSpec_Commalist(); it.set_first(p); history.push(p); }} after -> ClassSpec_Commalist, first, Nonempty_ClassSpec_Commalist {{ history.pop(); }} before -> Enhancement_List, first, Nonempty_Enhancement_List {{ Enhancement_List it = (Enhancement_List) history.peek(); Nonempty_Enhancement_List p = new Nonempty_Enhancement_List(); it.set_first(p); history.push(p); }} after -> Enhancement_List, first, Nonempty_Enhancement_List {{ history.pop(); }} before -> Nonempty_Definition_DList, it, Definition {{ Nonempty_Definition_DList it = (Nonempty_Definition_DList) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((Definition) p); history.push(p); }} after -> Nonempty_Definition_DList, it, Definition {{ history.pop(); }} before -> Nonempty_Definition_DList, next, Nonempty_Definition_DList {{ Nonempty_Definition_DList it = (Nonempty_Definition_DList) history.peek(); Nonempty_Definition_DList p = new Nonempty_Definition_DList(); it.set_next(p); history.push(p); }} after -> Nonempty_Definition_DList, next, Nonempty_Definition_DList {{ history.pop(); }} before -> Nonempty_ClassName_Commalist, it, ClassName {{ Nonempty_ClassName_Commalist it = (Nonempty_ClassName_Commalist) history.peek(); ClassName p = new ClassName(); it.set_it(p); history.push(p); }} after -> Nonempty_ClassName_Commalist, it, ClassName {{ history.pop(); }} before -> Nonempty_ClassName_Commalist, next, Nonempty_ClassName_Commalist {{ Nonempty_ClassName_Commalist it = (Nonempty_ClassName_Commalist) history.peek(); Nonempty_ClassName_Commalist p = new Nonempty_ClassName_Commalist(); it.set_next(p); history.push(p); }} after -> Nonempty_ClassName_Commalist, next, Nonempty_ClassName_Commalist {{ history.pop(); }} before -> Nonempty_ClassElementWithSyntax_List, it, ClassElementWithSyntax {{ Nonempty_ClassElementWithSyntax_List it = (Nonempty_ClassElementWithSyntax_List) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((ClassElementWithSyntax) p); history.push(p); }} after -> Nonempty_ClassElementWithSyntax_List, it, ClassElementWithSyntax {{ history.pop(); }} before -> Nonempty_ClassElementWithSyntax_List, next, Nonempty_ClassElementWithSyntax_List {{ Nonempty_ClassElementWithSyntax_List it = (Nonempty_ClassElementWithSyntax_List) history.peek(); Nonempty_ClassElementWithSyntax_List p = new Nonempty_ClassElementWithSyntax_List(); it.set_next(p); history.push(p); }} after -> Nonempty_ClassElementWithSyntax_List, next, Nonempty_ClassElementWithSyntax_List {{ history.pop(); }} before -> Nonempty_ClassSpec_Barlist, it, ClassSpec {{ Nonempty_ClassSpec_Barlist it = (Nonempty_ClassSpec_Barlist) history.peek(); ClassSpec p = new ClassSpec(); it.set_it(p); history.push(p); }} after -> Nonempty_ClassSpec_Barlist, it, ClassSpec {{ history.pop(); }} before -> Nonempty_ClassSpec_Barlist, next, Nonempty_ClassSpec_Barlist {{ Nonempty_ClassSpec_Barlist it = (Nonempty_ClassSpec_Barlist) history.peek(); Nonempty_ClassSpec_Barlist p = new Nonempty_ClassSpec_Barlist(); it.set_next(p); history.push(p); }} after -> Nonempty_ClassSpec_Barlist, next, Nonempty_ClassSpec_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(); }} before -> Nonempty_ClassSpec_Commalist, it, ClassSpec {{ Nonempty_ClassSpec_Commalist it = (Nonempty_ClassSpec_Commalist) history.peek(); ClassSpec p = new ClassSpec(); it.set_it(p); history.push(p); }} after -> Nonempty_ClassSpec_Commalist, it, ClassSpec {{ history.pop(); }} before -> Nonempty_ClassSpec_Commalist, next, Nonempty_ClassSpec_Commalist {{ Nonempty_ClassSpec_Commalist it = (Nonempty_ClassSpec_Commalist) history.peek(); Nonempty_ClassSpec_Commalist p = new Nonempty_ClassSpec_Commalist(); it.set_next(p); history.push(p); }} after -> Nonempty_ClassSpec_Commalist, next, Nonempty_ClassSpec_Commalist {{ history.pop(); }} before -> Nonempty_Enhancement_List, it, Enhancement {{ Nonempty_Enhancement_List it = (Nonempty_Enhancement_List) history.peek(); Enhancement p = new Enhancement(); it.set_it(p); history.push(p); }} after -> Nonempty_Enhancement_List, it, Enhancement {{ history.pop(); }} before -> Nonempty_Enhancement_List, next, Nonempty_Enhancement_List {{ Nonempty_Enhancement_List it = (Nonempty_Enhancement_List) history.peek(); Nonempty_Enhancement_List p = new Nonempty_Enhancement_List(); it.set_next(p); history.push(p); }} after -> Nonempty_Enhancement_List, next, Nonempty_Enhancement_List {{ history.pop(); }} }