// 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 -> DAJ, traversalaspect_list, TraversalAspect_List {{ DAJ it = (DAJ) history.peek(); TraversalAspect_List p = new TraversalAspect_List(); it.set_traversalaspect_list(p); history.push(p); }} after -> DAJ, traversalaspect_list, TraversalAspect_List {{ history.pop(); }} before -> TraversalAspect, aspectname, AspectName {{ TraversalAspect it = (TraversalAspect) history.peek(); AspectName p = new AspectName(); it.set_aspectname(p); history.push(p); }} after -> TraversalAspect, aspectname, AspectName {{ history.pop(); }} before -> TraversalAspect, decls, Definition_CurlyList {{ TraversalAspect it = (TraversalAspect) history.peek(); Definition_CurlyList p = new Definition_CurlyList(); it.set_decls(p); history.push(p); }} after -> TraversalAspect, decls, Definition_CurlyList {{ history.pop(); }} before -> Definition, definitionbody, DefinitionBody {{ Definition it = (Definition) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_definitionbody((DefinitionBody) p); history.push(p); }} after -> Definition, definitionbody, DefinitionBody {{ history.pop(); }} before -> CG, classgraphname, ClassGraphName {{ CG it = (CG) history.peek(); ClassGraphName p = new ClassGraphName(); it.set_classgraphname(p); history.push(p); }} after -> CG, classgraphname, ClassGraphName {{ history.pop(); }} before -> Strategy, strategyname, StrategyName {{ Strategy it = (Strategy) history.peek(); StrategyName p = new StrategyName(); it.set_strategyname(p); history.push(p); }} after -> Strategy, strategyname, StrategyName {{ history.pop(); }} before -> Strategy, strategyexpression, StrategyExpression {{ Strategy it = (Strategy) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_strategyexpression((StrategyExpression) p); history.push(p); }} after -> Strategy, strategyexpression, StrategyExpression {{ history.pop(); }} before -> StrategyString, string, String {{ StrategyString it = (StrategyString) history.peek(); it.set_string(dest); }} 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, strategyexpression_list, StrategyExpression_List {{ Compound it = (Compound) history.peek(); StrategyExpression_List p = new StrategyExpression_List(); it.set_strategyexpression_list(p); history.push(p); }} after -> Compound, strategyexpression_list, StrategyExpression_List {{ history.pop(); }} before -> AdaptiveMethod, methodsignature, MethodSignature {{ AdaptiveMethod it = (AdaptiveMethod) history.peek(); MethodSignature p = new MethodSignature(); it.set_methodsignature(p); history.push(p); }} after -> AdaptiveMethod, methodsignature, MethodSignature {{ history.pop(); }} before -> AdaptiveMethod, methodbody, MethodBody {{ AdaptiveMethod it = (AdaptiveMethod) history.peek(); MethodBody p = new MethodBody(); it.set_methodbody(p); history.push(p); }} after -> AdaptiveMethod, methodbody, MethodBody {{ history.pop(); }} before -> MethodSignature, keywords, MethodKeyword_List {{ MethodSignature it = (MethodSignature) history.peek(); MethodKeyword_List p = new MethodKeyword_List(); it.set_keywords(p); history.push(p); }} after -> MethodSignature, keywords, MethodKeyword_List {{ history.pop(); }} before -> MethodSignature, returnType, JavaType {{ MethodSignature it = (MethodSignature) history.peek(); JavaType p = new JavaType(); it.set_returnType(p); history.push(p); }} after -> MethodSignature, returnType, JavaType {{ history.pop(); }} before -> MethodSignature, name, MethodName {{ MethodSignature it = (MethodSignature) history.peek(); MethodName p = new MethodName(); it.set_name(p); history.push(p); }} after -> MethodSignature, name, MethodName {{ history.pop(); }} before -> MethodSignature, parms, MethodParm_Commalist {{ MethodSignature it = (MethodSignature) history.peek(); MethodParm_Commalist p = new MethodParm_Commalist(); it.set_parms(p); history.push(p); }} after -> MethodSignature, parms, MethodParm_Commalist {{ history.pop(); }} before -> MethodSignature, throwsclause, Throws {{ MethodSignature it = (MethodSignature) history.peek(); Throws p = new Throws(); it.set_throwsclause(p); history.push(p); }} after -> MethodSignature, throwsclause, Throws {{ history.pop(); }} before -> MethodParm, type, JavaType {{ MethodParm it = (MethodParm) history.peek(); JavaType p = new JavaType(); it.set_type(p); history.push(p); }} after -> MethodParm, type, JavaType {{ history.pop(); }} before -> MethodParm, name, ParmName {{ MethodParm it = (MethodParm) history.peek(); ParmName p = new ParmName(); it.set_name(p); history.push(p); }} after -> MethodParm, name, ParmName {{ history.pop(); }} before -> MethodParm, array, ArraySpec_List {{ MethodParm it = (MethodParm) history.peek(); ArraySpec_List p = new ArraySpec_List(); it.set_array(p); history.push(p); }} after -> MethodParm, array, ArraySpec_List {{ history.pop(); }} before -> Throws, exceptions, ClassName_Commalist {{ Throws it = (Throws) history.peek(); ClassName_Commalist p = new ClassName_Commalist(); it.set_exceptions(p); history.push(p); }} after -> Throws, exceptions, ClassName_Commalist {{ history.pop(); }} before -> MethodBody, trv, StrategyExpression {{ MethodBody it = (MethodBody) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_trv((StrategyExpression) p); history.push(p); }} after -> MethodBody, trv, StrategyExpression {{ history.pop(); }} before -> MethodBody, vis, VisitorRef {{ MethodBody it = (MethodBody) history.peek(); VisitorRef p = new VisitorRef(); it.set_vis(p); history.push(p); }} after -> MethodBody, vis, VisitorRef {{ history.pop(); }} before -> VisitorRef, visitorClasses, ClassName_Commalist {{ VisitorRef it = (VisitorRef) history.peek(); ClassName_Commalist p = new ClassName_Commalist(); it.set_visitorClasses(p); history.push(p); }} after -> VisitorRef, visitorClasses, ClassName_Commalist {{ history.pop(); }} before -> JavaType, type, Name {{ JavaType it = (JavaType) history.peek(); Name p = new Name(); it.set_type(p); history.push(p); }} after -> JavaType, type, Name {{ history.pop(); }} before -> JavaType, array, ArraySpec_List {{ JavaType it = (JavaType) history.peek(); ArraySpec_List p = new ArraySpec_List(); it.set_array(p); history.push(p); }} after -> JavaType, array, ArraySpec_List {{ history.pop(); }} before -> Name, first, Nonempty_Name {{ Name it = (Name) history.peek(); Nonempty_Name p = new Nonempty_Name(); it.set_first(p); history.push(p); }} after -> Name, first, Nonempty_Name {{ history.pop(); }} before -> ClassGraphName, ident, Ident {{ ClassGraphName it = (ClassGraphName) history.peek(); it.set_ident(dest); }} before -> StrategyName, ident, Ident {{ StrategyName it = (StrategyName) history.peek(); it.set_ident(dest); }} before -> MethodName, ident, Ident {{ MethodName it = (MethodName) history.peek(); it.set_ident(dest); }} before -> ClassName, name, Name {{ ClassName it = (ClassName) history.peek(); Name p = new Name(); it.set_name(p); history.push(p); }} after -> ClassName, name, Name {{ history.pop(); }} before -> ParmName, name, Ident {{ ParmName it = (ParmName) history.peek(); it.set_name(dest); }} before -> AspectName, name, Name {{ AspectName it = (AspectName) history.peek(); Name p = new Name(); it.set_name(p); history.push(p); }} after -> AspectName, name, Name {{ history.pop(); }} 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 -> TraversalAspect_List, first, Nonempty_TraversalAspect_List {{ TraversalAspect_List it = (TraversalAspect_List) history.peek(); Nonempty_TraversalAspect_List p = new Nonempty_TraversalAspect_List(); it.set_first(p); history.push(p); }} after -> TraversalAspect_List, first, Nonempty_TraversalAspect_List {{ history.pop(); }} before -> Definition_CurlyList, first, Nonempty_Definition_CurlyList {{ Definition_CurlyList it = (Definition_CurlyList) history.peek(); Nonempty_Definition_CurlyList p = new Nonempty_Definition_CurlyList(); it.set_first(p); history.push(p); }} after -> Definition_CurlyList, first, Nonempty_Definition_CurlyList {{ history.pop(); }} before -> StrategyExpression_List, first, Nonempty_StrategyExpression_List {{ StrategyExpression_List it = (StrategyExpression_List) history.peek(); Nonempty_StrategyExpression_List p = new Nonempty_StrategyExpression_List(); it.set_first(p); history.push(p); }} after -> StrategyExpression_List, first, Nonempty_StrategyExpression_List {{ history.pop(); }} before -> MethodKeyword_List, first, Nonempty_MethodKeyword_List {{ MethodKeyword_List it = (MethodKeyword_List) history.peek(); Nonempty_MethodKeyword_List p = new Nonempty_MethodKeyword_List(); it.set_first(p); history.push(p); }} after -> MethodKeyword_List, first, Nonempty_MethodKeyword_List {{ history.pop(); }} before -> MethodParm_Commalist, first, Nonempty_MethodParm_Commalist {{ MethodParm_Commalist it = (MethodParm_Commalist) history.peek(); Nonempty_MethodParm_Commalist p = new Nonempty_MethodParm_Commalist(); it.set_first(p); history.push(p); }} after -> MethodParm_Commalist, first, Nonempty_MethodParm_Commalist {{ history.pop(); }} before -> ArraySpec_List, first, Nonempty_ArraySpec_List {{ ArraySpec_List it = (ArraySpec_List) history.peek(); Nonempty_ArraySpec_List p = new Nonempty_ArraySpec_List(); it.set_first(p); history.push(p); }} after -> ArraySpec_List, first, Nonempty_ArraySpec_List {{ 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 -> Nonempty_Name, it, Ident {{ Nonempty_Name it = (Nonempty_Name) history.peek(); it.set_it(dest); }} before -> Nonempty_Name, next, Nonempty_Name {{ Nonempty_Name it = (Nonempty_Name) history.peek(); Nonempty_Name p = new Nonempty_Name(); it.set_next(p); history.push(p); }} after -> Nonempty_Name, next, Nonempty_Name {{ history.pop(); }} before -> Nonempty_TraversalAspect_List, it, TraversalAspect {{ Nonempty_TraversalAspect_List it = (Nonempty_TraversalAspect_List) history.peek(); TraversalAspect p = new TraversalAspect(); it.set_it(p); history.push(p); }} after -> Nonempty_TraversalAspect_List, it, TraversalAspect {{ history.pop(); }} before -> Nonempty_TraversalAspect_List, next, Nonempty_TraversalAspect_List {{ Nonempty_TraversalAspect_List it = (Nonempty_TraversalAspect_List) history.peek(); Nonempty_TraversalAspect_List p = new Nonempty_TraversalAspect_List(); it.set_next(p); history.push(p); }} after -> Nonempty_TraversalAspect_List, next, Nonempty_TraversalAspect_List {{ history.pop(); }} before -> Nonempty_Definition_CurlyList, it, Definition {{ Nonempty_Definition_CurlyList it = (Nonempty_Definition_CurlyList) history.peek(); Definition p = new Definition(); it.set_it(p); history.push(p); }} after -> Nonempty_Definition_CurlyList, it, Definition {{ history.pop(); }} before -> Nonempty_Definition_CurlyList, next, Nonempty_Definition_CurlyList {{ Nonempty_Definition_CurlyList it = (Nonempty_Definition_CurlyList) history.peek(); Nonempty_Definition_CurlyList p = new Nonempty_Definition_CurlyList(); it.set_next(p); history.push(p); }} after -> Nonempty_Definition_CurlyList, next, Nonempty_Definition_CurlyList {{ history.pop(); }} before -> Nonempty_StrategyExpression_List, it, StrategyExpression {{ Nonempty_StrategyExpression_List it = (Nonempty_StrategyExpression_List) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((StrategyExpression) p); history.push(p); }} after -> Nonempty_StrategyExpression_List, it, StrategyExpression {{ history.pop(); }} before -> Nonempty_StrategyExpression_List, next, Nonempty_StrategyExpression_List {{ Nonempty_StrategyExpression_List it = (Nonempty_StrategyExpression_List) history.peek(); Nonempty_StrategyExpression_List p = new Nonempty_StrategyExpression_List(); it.set_next(p); history.push(p); }} after -> Nonempty_StrategyExpression_List, next, Nonempty_StrategyExpression_List {{ history.pop(); }} before -> Nonempty_MethodKeyword_List, it, MethodKeyword {{ Nonempty_MethodKeyword_List it = (Nonempty_MethodKeyword_List) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((MethodKeyword) p); history.push(p); }} after -> Nonempty_MethodKeyword_List, it, MethodKeyword {{ history.pop(); }} before -> Nonempty_MethodKeyword_List, next, Nonempty_MethodKeyword_List {{ Nonempty_MethodKeyword_List it = (Nonempty_MethodKeyword_List) history.peek(); Nonempty_MethodKeyword_List p = new Nonempty_MethodKeyword_List(); it.set_next(p); history.push(p); }} after -> Nonempty_MethodKeyword_List, next, Nonempty_MethodKeyword_List {{ history.pop(); }} before -> Nonempty_MethodParm_Commalist, it, MethodParm {{ Nonempty_MethodParm_Commalist it = (Nonempty_MethodParm_Commalist) history.peek(); MethodParm p = new MethodParm(); it.set_it(p); history.push(p); }} after -> Nonempty_MethodParm_Commalist, it, MethodParm {{ history.pop(); }} before -> Nonempty_MethodParm_Commalist, next, Nonempty_MethodParm_Commalist {{ Nonempty_MethodParm_Commalist it = (Nonempty_MethodParm_Commalist) history.peek(); Nonempty_MethodParm_Commalist p = new Nonempty_MethodParm_Commalist(); it.set_next(p); history.push(p); }} after -> Nonempty_MethodParm_Commalist, next, Nonempty_MethodParm_Commalist {{ history.pop(); }} before -> Nonempty_ArraySpec_List, it, ArraySpec {{ Nonempty_ArraySpec_List it = (Nonempty_ArraySpec_List) history.peek(); ArraySpec p = new ArraySpec(); it.set_it(p); history.push(p); }} after -> Nonempty_ArraySpec_List, it, ArraySpec {{ history.pop(); }} before -> Nonempty_ArraySpec_List, next, Nonempty_ArraySpec_List {{ Nonempty_ArraySpec_List it = (Nonempty_ArraySpec_List) history.peek(); Nonempty_ArraySpec_List p = new Nonempty_ArraySpec_List(); it.set_next(p); history.push(p); }} after -> Nonempty_ArraySpec_List, next, Nonempty_ArraySpec_List {{ 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(); }} }