// This file is automatically generated by DemeterJ. PrintVisitor { {{ 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; } PrintVisitor(java.io.PrintWriter out) { set_out(out); } PrintVisitor(java.io.PrintStream out) { set_out(new java.io.PrintWriter(out, true)); } }} finish {{ out.flush(); }} protected void space() {{ if (needSpace) out.print(" "); needSpace = false; }} before TraceMatch {{ space(); out.print("tracematch"); needSpace = true; out.print("("); needSpace = false; }} before -> TraceMatch, SymbolDeclaration, Symbol_List {{ out.print(")"); needSpace = false; }} before -> Symbol, name, Name {{ space(); out.print("sym"); needSpace = true; }} before -> Symbol, selectorexp, SelectorExp {{ out.print(":"); needSpace = false; }} after -> Symbol, selectorexp, SelectorExp {{ out.print(";"); needSpace = false; }} before Before {{ space(); out.print("before"); needSpace = true; }} before After {{ space(); out.print("after"); needSpace = true; }} before -> NodeVisit, nodename, NodeName {{ space(); out.print("visit"); needSpace = true; out.print("("); needSpace = false; }} after -> NodeVisit, nodename, NodeName {{ out.print(")"); needSpace = false; }} before -> Target, variablename, VariableName {{ space(); out.print("target"); needSpace = true; out.print("("); needSpace = false; }} after -> Target, variablename, VariableName {{ out.print(")"); needSpace = false; }} before -> This, variablename, VariableName {{ space(); out.print("this"); needSpace = true; out.print("("); needSpace = false; }} after -> This, variablename, VariableName {{ out.print(")"); needSpace = false; }} before -> Compound, op, Op {{ out.print("("); needSpace = false; }} after -> Compound, args, SelectorExp_List {{ out.print(")"); needSpace = false; }} before Union {{ out.print("|"); needSpace = false; }} before Intersection {{ out.print("&"); needSpace = false; }} before RegEx {{ space(); out.print("regex"); needSpace = true; }} before -> Name, ident, Ident {{ space(); out.print(source.get_ident()); needSpace = true; }} before -> NodeName, ident, Ident {{ space(); out.print(source.get_ident()); needSpace = true; }} before -> MethodName, ident, Ident {{ space(); out.print(source.get_ident()); needSpace = true; }} before -> VariableName, ident, Ident {{ space(); out.print(source.get_ident()); needSpace = true; }} before -> PrintVisitor, indent, int {{ space(); out.print(source.get_indent()); needSpace = true; }} before -> PrintVisitor, needSpace, boolean {{ space(); out.print(source.get_needSpace()); needSpace = true; }} before -> CopyVisitor, copy, Object {{ space(); out.print(source.get_copy()); needSpace = true; }} before -> SubgraphVisitor, is_equal, boolean {{ space(); out.print(source.get_is_equal()); needSpace = true; }} before -> EqualVisitor, is_equal, boolean {{ space(); out.print(source.get_is_equal()); needSpace = true; }} before -> DisplayVisitor, indent, int {{ space(); out.print(source.get_indent()); needSpace = true; }} before -> TraceVisitor, indent, int {{ space(); out.print(source.get_indent()); needSpace = true; }} before -> Nonempty_VariableDeclaration_CList, next, Nonempty_VariableDeclaration_CList {{ out.print(","); needSpace = false; }} }