// 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 -> StratSeq, decls, Decls {{ StratSeq it = (StratSeq) history.peek(); Decls p = new Decls(); it.set_decls(p); history.push(p); }} after -> StratSeq, decls, Decls {{ history.pop(); }} before -> StratSeq, strategyexpression_sequence, StrategyExpression_Sequence {{ StratSeq it = (StratSeq) history.peek(); StrategyExpression_Sequence p = new StrategyExpression_Sequence(); it.set_strategyexpression_sequence(p); history.push(p); }} after -> StratSeq, strategyexpression_sequence, StrategyExpression_Sequence {{ history.pop(); }} before -> Decls, decl_slist, Decl_SList {{ Decls it = (Decls) history.peek(); Decl_SList p = new Decl_SList(); it.set_decl_slist(p); history.push(p); }} after -> Decls, decl_slist, Decl_SList {{ history.pop(); }} before -> Decl, classname, ClassName {{ Decl it = (Decl) history.peek(); ClassName p = new ClassName(); it.set_classname(p); history.push(p); }} after -> Decl, classname, ClassName {{ history.pop(); }} before -> Decl, variablename, VariableName {{ Decl it = (Decl) history.peek(); VariableName p = new VariableName(); it.set_variablename(p); history.push(p); }} after -> Decl, variablename, VariableName {{ history.pop(); }} before -> StrategyExpression, strategy, Strategy {{ StrategyExpression it = (StrategyExpression) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_strategy((Strategy) p); history.push(p); }} after -> StrategyExpression, strategy, Strategy {{ history.pop(); }} before -> StrategyGraph, edges, SGEdge_SList {{ StrategyGraph it = (StrategyGraph) history.peek(); SGEdge_SList p = new SGEdge_SList(); it.set_edges(p); history.push(p); }} after -> StrategyGraph, edges, SGEdge_SList {{ history.pop(); }} before -> SGEdge, sourcemarker, SourceMarker {{ SGEdge it = (SGEdge) history.peek(); SourceMarker p = new SourceMarker(); it.set_sourcemarker(p); history.push(p); }} after -> SGEdge, sourcemarker, SourceMarker {{ history.pop(); }} before -> SGEdge, source, GlobSpec {{ SGEdge it = (SGEdge) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_source((GlobSpec) p); history.push(p); }} after -> SGEdge, source, GlobSpec {{ history.pop(); }} before -> SGEdge, targetmarker, TargetMarker {{ SGEdge it = (SGEdge) history.peek(); TargetMarker p = new TargetMarker(); it.set_targetmarker(p); history.push(p); }} after -> SGEdge, targetmarker, TargetMarker {{ history.pop(); }} before -> SGEdge, target, GlobSpec {{ SGEdge it = (SGEdge) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_target((GlobSpec) p); history.push(p); }} after -> SGEdge, target, GlobSpec {{ history.pop(); }} before -> SGEdge, constraint, NegativeConstraint {{ SGEdge it = (SGEdge) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_constraint((NegativeConstraint) p); history.push(p); }} after -> SGEdge, constraint, NegativeConstraint {{ history.pop(); }} before -> Constraint, glob, GlobSpec {{ Constraint it = (Constraint) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_glob((GlobSpec) p); history.push(p); }} after -> Constraint, glob, GlobSpec {{ history.pop(); }} before -> OneGlob, glob, Glob {{ OneGlob it = (OneGlob) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_glob((Glob) p); history.push(p); }} after -> OneGlob, glob, Glob {{ history.pop(); }} before -> GlobSet, globs, Glob_Commalist {{ GlobSet it = (GlobSet) history.peek(); Glob_Commalist p = new Glob_Commalist(); it.set_globs(p); history.push(p); }} after -> GlobSet, globs, Glob_Commalist {{ history.pop(); }} before -> ClassGlob, name, ClassNameGlob {{ ClassGlob it = (ClassGlob) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_name((ClassNameGlob) p); history.push(p); }} after -> ClassGlob, name, ClassNameGlob {{ history.pop(); }} before -> PartGlob, source, SourceGlob {{ PartGlob it = (PartGlob) history.peek(); SourceGlob p = new SourceGlob(); it.set_source(p); history.push(p); }} after -> PartGlob, source, SourceGlob {{ history.pop(); }} before -> PartGlob, name, PartNameGlob {{ PartGlob it = (PartGlob) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_name((PartNameGlob) p); history.push(p); }} after -> PartGlob, name, PartNameGlob {{ history.pop(); }} before -> PartGlob, target, TargetGlob {{ PartGlob it = (PartGlob) history.peek(); TargetGlob p = new TargetGlob(); it.set_target(p); history.push(p); }} after -> PartGlob, target, TargetGlob {{ history.pop(); }} before -> SubclassGlob, source, SourceGlob {{ SubclassGlob it = (SubclassGlob) history.peek(); SourceGlob p = new SourceGlob(); it.set_source(p); history.push(p); }} after -> SubclassGlob, source, SourceGlob {{ history.pop(); }} before -> SubclassGlob, target, TargetGlob {{ SubclassGlob it = (SubclassGlob) history.peek(); TargetGlob p = new TargetGlob(); it.set_target(p); history.push(p); }} after -> SubclassGlob, target, TargetGlob {{ history.pop(); }} before -> SuperclassGlob, source, SourceGlob {{ SuperclassGlob it = (SuperclassGlob) history.peek(); SourceGlob p = new SourceGlob(); it.set_source(p); history.push(p); }} after -> SuperclassGlob, source, SourceGlob {{ history.pop(); }} before -> SuperclassGlob, target, TargetGlob {{ SuperclassGlob it = (SuperclassGlob) history.peek(); TargetGlob p = new TargetGlob(); it.set_target(p); history.push(p); }} after -> SuperclassGlob, target, TargetGlob {{ history.pop(); }} before -> SourceGlob, name, ClassNameGlob {{ SourceGlob it = (SourceGlob) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_name((ClassNameGlob) p); history.push(p); }} after -> SourceGlob, name, ClassNameGlob {{ history.pop(); }} before -> TargetGlob, name, ClassNameGlob {{ TargetGlob it = (TargetGlob) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_name((ClassNameGlob) p); history.push(p); }} after -> TargetGlob, name, ClassNameGlob {{ history.pop(); }} before -> ClassNameExact, classname, ClassName {{ ClassNameExact it = (ClassNameExact) history.peek(); ClassName p = new ClassName(); it.set_classname(p); history.push(p); }} after -> ClassNameExact, classname, ClassName {{ history.pop(); }} before -> ClassNameVar, ident, Ident {{ ClassNameVar it = (ClassNameVar) history.peek(); it.set_ident(dest); }} before -> PartNameExact, partname, PartName {{ PartNameExact it = (PartNameExact) history.peek(); PartName p = new PartName(); it.set_partname(p); history.push(p); }} after -> PartNameExact, partname, PartName {{ history.pop(); }} before -> OneClassGlob, classglob, ClassGlob {{ OneClassGlob it = (OneClassGlob) history.peek(); ClassGlob p = new ClassGlob(); it.set_classglob(p); history.push(p); }} after -> OneClassGlob, classglob, ClassGlob {{ history.pop(); }} before -> ClassGlobSet, globs, ClassGlob_Commalist {{ ClassGlobSet it = (ClassGlobSet) history.peek(); ClassGlob_Commalist p = new ClassGlob_Commalist(); it.set_globs(p); history.push(p); }} after -> ClassGlobSet, globs, ClassGlob_Commalist {{ history.pop(); }} 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 -> VariableName, ident, Ident {{ VariableName it = (VariableName) history.peek(); it.set_ident(dest); }} before -> PartName, name, Ident {{ PartName it = (PartName) history.peek(); it.set_name(dest); }} 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 -> 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 -> StrategyExpression_Sequence, first, Nonempty_StrategyExpression_Sequence {{ StrategyExpression_Sequence it = (StrategyExpression_Sequence) history.peek(); Nonempty_StrategyExpression_Sequence p = new Nonempty_StrategyExpression_Sequence(); it.set_first(p); history.push(p); }} after -> StrategyExpression_Sequence, first, Nonempty_StrategyExpression_Sequence {{ history.pop(); }} before -> Decl_SList, first, Nonempty_Decl_SList {{ Decl_SList it = (Decl_SList) history.peek(); Nonempty_Decl_SList p = new Nonempty_Decl_SList(); it.set_first(p); history.push(p); }} after -> Decl_SList, first, Nonempty_Decl_SList {{ history.pop(); }} before -> SGEdge_SList, first, Nonempty_SGEdge_SList {{ SGEdge_SList it = (SGEdge_SList) history.peek(); Nonempty_SGEdge_SList p = new Nonempty_SGEdge_SList(); it.set_first(p); history.push(p); }} after -> SGEdge_SList, first, Nonempty_SGEdge_SList {{ history.pop(); }} before -> Glob_Commalist, first, Nonempty_Glob_Commalist {{ Glob_Commalist it = (Glob_Commalist) history.peek(); Nonempty_Glob_Commalist p = new Nonempty_Glob_Commalist(); it.set_first(p); history.push(p); }} after -> Glob_Commalist, first, Nonempty_Glob_Commalist {{ history.pop(); }} before -> ClassGlob_Commalist, first, Nonempty_ClassGlob_Commalist {{ ClassGlob_Commalist it = (ClassGlob_Commalist) history.peek(); Nonempty_ClassGlob_Commalist p = new Nonempty_ClassGlob_Commalist(); it.set_first(p); history.push(p); }} after -> ClassGlob_Commalist, first, Nonempty_ClassGlob_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_StrategyExpression_Sequence, it, StrategyExpression {{ Nonempty_StrategyExpression_Sequence it = (Nonempty_StrategyExpression_Sequence) history.peek(); StrategyExpression p = new StrategyExpression(); it.set_it(p); history.push(p); }} after -> Nonempty_StrategyExpression_Sequence, it, StrategyExpression {{ history.pop(); }} before -> Nonempty_StrategyExpression_Sequence, next, Nonempty_StrategyExpression_Sequence {{ Nonempty_StrategyExpression_Sequence it = (Nonempty_StrategyExpression_Sequence) history.peek(); Nonempty_StrategyExpression_Sequence p = new Nonempty_StrategyExpression_Sequence(); it.set_next(p); history.push(p); }} after -> Nonempty_StrategyExpression_Sequence, next, Nonempty_StrategyExpression_Sequence {{ history.pop(); }} before -> Nonempty_Decl_SList, it, Decl {{ Nonempty_Decl_SList it = (Nonempty_Decl_SList) history.peek(); Decl p = new Decl(); it.set_it(p); history.push(p); }} after -> Nonempty_Decl_SList, it, Decl {{ history.pop(); }} before -> Nonempty_Decl_SList, next, Nonempty_Decl_SList {{ Nonempty_Decl_SList it = (Nonempty_Decl_SList) history.peek(); Nonempty_Decl_SList p = new Nonempty_Decl_SList(); it.set_next(p); history.push(p); }} after -> Nonempty_Decl_SList, next, Nonempty_Decl_SList {{ history.pop(); }} before -> Nonempty_SGEdge_SList, it, SGEdge {{ Nonempty_SGEdge_SList it = (Nonempty_SGEdge_SList) history.peek(); SGEdge p = new SGEdge(); it.set_it(p); history.push(p); }} after -> Nonempty_SGEdge_SList, it, SGEdge {{ history.pop(); }} before -> Nonempty_SGEdge_SList, next, Nonempty_SGEdge_SList {{ Nonempty_SGEdge_SList it = (Nonempty_SGEdge_SList) history.peek(); Nonempty_SGEdge_SList p = new Nonempty_SGEdge_SList(); it.set_next(p); history.push(p); }} after -> Nonempty_SGEdge_SList, next, Nonempty_SGEdge_SList {{ history.pop(); }} before -> Nonempty_Glob_Commalist, it, Glob {{ Nonempty_Glob_Commalist it = (Nonempty_Glob_Commalist) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((Glob) p); history.push(p); }} after -> Nonempty_Glob_Commalist, it, Glob {{ history.pop(); }} before -> Nonempty_Glob_Commalist, next, Nonempty_Glob_Commalist {{ Nonempty_Glob_Commalist it = (Nonempty_Glob_Commalist) history.peek(); Nonempty_Glob_Commalist p = new Nonempty_Glob_Commalist(); it.set_next(p); history.push(p); }} after -> Nonempty_Glob_Commalist, next, Nonempty_Glob_Commalist {{ history.pop(); }} before -> Nonempty_ClassGlob_Commalist, it, ClassGlob {{ Nonempty_ClassGlob_Commalist it = (Nonempty_ClassGlob_Commalist) history.peek(); ClassGlob p = new ClassGlob(); it.set_it(p); history.push(p); }} after -> Nonempty_ClassGlob_Commalist, it, ClassGlob {{ history.pop(); }} before -> Nonempty_ClassGlob_Commalist, next, Nonempty_ClassGlob_Commalist {{ Nonempty_ClassGlob_Commalist it = (Nonempty_ClassGlob_Commalist) history.peek(); Nonempty_ClassGlob_Commalist p = new Nonempty_ClassGlob_Commalist(); it.set_next(p); history.push(p); }} after -> Nonempty_ClassGlob_Commalist, next, Nonempty_ClassGlob_Commalist {{ history.pop(); }} }