// This file is automatically generated by DemeterJ. TraceVisitor { {{ protected java.io.PrintWriter out = new java.io.PrintWriter(System.out, true); java.io.PrintWriter get_out() { return out; } void set_out(java.io.PrintWriter new_out) { out = new_out; } TraceVisitor(java.io.PrintWriter out) { set_out(out); } TraceVisitor(java.io.PrintStream out) { set_out(new java.io.PrintWriter(out, true)); } }} finish {{ out.flush(); }} before Main {{ out.println("before Main"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Main {{ out.println("after Main"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Main, func, FuncDef {{ out.println("before -> Main, func, FuncDef "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Main, func, FuncDef {{ out.println("after -> Main, func, FuncDef "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Main, cd, ClassDefList {{ out.println("before -> Main, cd, ClassDefList "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Main, cd, ClassDefList {{ out.println("after -> Main, cd, ClassDefList "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before FuncDef {{ out.println("before FuncDef"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after FuncDef {{ out.println("after FuncDef"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> FuncDef, methodlist, MethodList {{ out.println("before -> FuncDef, methodlist, MethodList "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> FuncDef, methodlist, MethodList {{ out.println("after -> FuncDef, methodlist, MethodList "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before MethodDef {{ out.println("before MethodDef"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after MethodDef {{ out.println("after MethodDef"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> MethodDef, ret, TypeName {{ out.println("before -> MethodDef, ret, TypeName "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> MethodDef, ret, TypeName {{ out.println("after -> MethodDef, ret, TypeName "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> MethodDef, arg, TypeName {{ out.println("before -> MethodDef, arg, TypeName "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> MethodDef, arg, TypeName {{ out.println("after -> MethodDef, arg, TypeName "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before MethodList {{ out.println("before MethodList"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after MethodList {{ out.println("after MethodList"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before MethodCons {{ out.println("before MethodCons"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after MethodCons {{ out.println("after MethodCons"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> MethodCons, first, MethodDef {{ out.println("before -> MethodCons, first, MethodDef "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> MethodCons, first, MethodDef {{ out.println("after -> MethodCons, first, MethodDef "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> MethodCons, rest, MethodList {{ out.println("before -> MethodCons, rest, MethodList "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> MethodCons, rest, MethodList {{ out.println("after -> MethodCons, rest, MethodList "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before MethodEmpty {{ out.println("before MethodEmpty"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after MethodEmpty {{ out.println("after MethodEmpty"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before ClassDef {{ out.println("before ClassDef"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after ClassDef {{ out.println("after ClassDef"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> ClassDef, name, Ident {{ out.println("before -> ClassDef, name, Ident "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> ClassDef, name, Ident {{ out.println("after -> ClassDef, name, Ident "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> ClassDef, decl, Decl {{ out.println("before -> ClassDef, decl, Decl "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> ClassDef, decl, Decl {{ out.println("after -> ClassDef, decl, Decl "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Decl {{ out.println("before Decl"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Decl {{ out.println("after Decl"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Abstract {{ out.println("before Abstract"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Abstract {{ out.println("after Abstract"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Abstract, subtypes, NESubtypeList {{ out.println("before -> Abstract, subtypes, NESubtypeList "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Abstract, subtypes, NESubtypeList {{ out.println("after -> Abstract, subtypes, NESubtypeList "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Concrete {{ out.println("before Concrete"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Concrete {{ out.println("after Concrete"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Concrete, fields, FieldList {{ out.println("before -> Concrete, fields, FieldList "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Concrete, fields, FieldList {{ out.println("after -> Concrete, fields, FieldList "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before Field {{ out.println("before Field"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after Field {{ out.println("after Field"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Field, name, Ident {{ out.println("before -> Field, name, Ident "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Field, name, Ident {{ out.println("after -> Field, name, Ident "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> Field, typename, TypeName {{ out.println("before -> Field, typename, TypeName "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> Field, typename, TypeName {{ out.println("after -> Field, typename, TypeName "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before TypeName {{ out.println("before TypeName"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after TypeName {{ out.println("after TypeName"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> TypeName, name, Ident {{ out.println("before -> TypeName, name, Ident "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> TypeName, name, Ident {{ out.println("after -> TypeName, name, Ident "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before ClassDefList {{ out.println("before ClassDefList"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after ClassDefList {{ out.println("after ClassDefList"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before ClassDefCons {{ out.println("before ClassDefCons"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after ClassDefCons {{ out.println("after ClassDefCons"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> ClassDefCons, first, ClassDef {{ out.println("before -> ClassDefCons, first, ClassDef "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> ClassDefCons, first, ClassDef {{ out.println("after -> ClassDefCons, first, ClassDef "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> ClassDefCons, rest, ClassDefList {{ out.println("before -> ClassDefCons, rest, ClassDefList "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> ClassDefCons, rest, ClassDefList {{ out.println("after -> ClassDefCons, rest, ClassDefList "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before ClassDefEmpty {{ out.println("before ClassDefEmpty"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after ClassDefEmpty {{ out.println("after ClassDefEmpty"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before FieldList {{ out.println("before FieldList"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after FieldList {{ out.println("after FieldList"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before FieldCons {{ out.println("before FieldCons"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after FieldCons {{ out.println("after FieldCons"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> FieldCons, first, Field {{ out.println("before -> FieldCons, first, Field "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> FieldCons, first, Field {{ out.println("after -> FieldCons, first, Field "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> FieldCons, rest, FieldList {{ out.println("before -> FieldCons, rest, FieldList "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> FieldCons, rest, FieldList {{ out.println("after -> FieldCons, rest, FieldList "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before FieldEmpty {{ out.println("before FieldEmpty"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after FieldEmpty {{ out.println("after FieldEmpty"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before NESubtypeList {{ out.println("before NESubtypeList"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after NESubtypeList {{ out.println("after NESubtypeList"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> NESubtypeList, first, TypeName {{ out.println("before -> NESubtypeList, first, TypeName "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> NESubtypeList, first, TypeName {{ out.println("after -> NESubtypeList, first, TypeName "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> NESubtypeList, rest, SubtypeList {{ out.println("before -> NESubtypeList, rest, SubtypeList "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> NESubtypeList, rest, SubtypeList {{ out.println("after -> NESubtypeList, rest, SubtypeList "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before SubtypeList {{ out.println("before SubtypeList"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after SubtypeList {{ out.println("after SubtypeList"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before SubtypeCons {{ out.println("before SubtypeCons"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after SubtypeCons {{ out.println("after SubtypeCons"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> SubtypeCons, first, TypeName {{ out.println("before -> SubtypeCons, first, TypeName "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> SubtypeCons, first, TypeName {{ out.println("after -> SubtypeCons, first, TypeName "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> SubtypeCons, rest, SubtypeList {{ out.println("before -> SubtypeCons, rest, SubtypeList "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> SubtypeCons, rest, SubtypeList {{ out.println("after -> SubtypeCons, rest, SubtypeList "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before SubtypeEmpty {{ out.println("before SubtypeEmpty"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after SubtypeEmpty {{ out.println("after SubtypeEmpty"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before StringList {{ out.println("before StringList"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after StringList {{ out.println("after StringList"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before StringCons {{ out.println("before StringCons"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after StringCons {{ out.println("after StringCons"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> StringCons, first, String {{ out.println("before -> StringCons, first, String "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> StringCons, first, String {{ out.println("after -> StringCons, first, String "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> StringCons, rest, StringList {{ out.println("before -> StringCons, rest, StringList "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> StringCons, rest, StringList {{ out.println("after -> StringCons, rest, StringList "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before StringEmpty {{ out.println("before StringEmpty"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after StringEmpty {{ out.println("after StringEmpty"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before ConsList {{ out.println("before ConsList"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after ConsList {{ out.println("after ConsList"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before EmptyList {{ out.println("before EmptyList"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after EmptyList {{ out.println("after EmptyList"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before PrintVisitor {{ out.println("before PrintVisitor"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after PrintVisitor {{ out.println("after PrintVisitor"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> PrintVisitor, indent, int {{ out.println("before -> PrintVisitor, indent, int "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> PrintVisitor, indent, int {{ out.println("after -> PrintVisitor, indent, int "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> PrintVisitor, needSpace, boolean {{ out.println("before -> PrintVisitor, needSpace, boolean "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> PrintVisitor, needSpace, boolean {{ out.println("after -> PrintVisitor, needSpace, boolean "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before CopyVisitor {{ out.println("before CopyVisitor"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after CopyVisitor {{ out.println("after CopyVisitor"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> CopyVisitor, copy, Object {{ out.println("before -> CopyVisitor, copy, Object "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> CopyVisitor, copy, Object {{ out.println("after -> CopyVisitor, copy, Object "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before SubgraphVisitor {{ out.println("before SubgraphVisitor"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after SubgraphVisitor {{ out.println("after SubgraphVisitor"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> SubgraphVisitor, is_equal, boolean {{ out.println("before -> SubgraphVisitor, is_equal, boolean "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> SubgraphVisitor, is_equal, boolean {{ out.println("after -> SubgraphVisitor, is_equal, boolean "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before EqualVisitor {{ out.println("before EqualVisitor"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after EqualVisitor {{ out.println("after EqualVisitor"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> EqualVisitor, is_equal, boolean {{ out.println("before -> EqualVisitor, is_equal, boolean "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> EqualVisitor, is_equal, boolean {{ out.println("after -> EqualVisitor, is_equal, boolean "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before DisplayVisitor {{ out.println("before DisplayVisitor"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after DisplayVisitor {{ out.println("after DisplayVisitor"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> DisplayVisitor, indent, int {{ out.println("before -> DisplayVisitor, indent, int "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> DisplayVisitor, indent, int {{ out.println("after -> DisplayVisitor, indent, int "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before TraceVisitor {{ out.println("before TraceVisitor"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after TraceVisitor {{ out.println("after TraceVisitor"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before -> TraceVisitor, indent, int {{ out.println("before -> TraceVisitor, indent, int "); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after -> TraceVisitor, indent, int {{ out.println("after -> TraceVisitor, indent, int "); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} before UniversalVisitor {{ out.println("before UniversalVisitor"); indent++; for (int i = 0; i < indent; i++) out.print(" "); }} after UniversalVisitor {{ out.println("after UniversalVisitor"); indent--; for (int i = 0; i < indent; i++) out.print(" "); }} }