# HG changeset patch # User Christian Wirth # Date 1405590550 -7200 # Node ID 36bc37806c6187373e956452ff1eb9109afb4288 # Parent d5e6c379330995fb874f70cd0e5dd9e474501063 extract methods in DefaultASTPrinter diff -r d5e6c3793309 -r 36bc37806c61 graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/DefaultASTPrinter.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/DefaultASTPrinter.java Thu Jul 17 11:46:22 2014 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/DefaultASTPrinter.java Thu Jul 17 11:49:10 2014 +0200 @@ -66,7 +66,6 @@ p.print(nodeName(node)); - String sep = ""; p.print("("); final SourceSection src = node.getSourceSection(); @@ -76,15 +75,7 @@ } } if (node instanceof SyntaxTagged) { - final SyntaxTagged taggedNode = (SyntaxTagged) node; - p.print("["); - String prefix = ""; - for (SyntaxTag tag : taggedNode.getSyntaxTags()) { - p.print(prefix); - prefix = ","; - p.print(tag.toString()); - } - p.print("]"); + printSyntaxTagged(p, (SyntaxTagged) node); } ArrayList childFields = new ArrayList<>(); @@ -119,23 +110,9 @@ p.print(field.getName()); p.print(" = null "); } else if (field.getKind() == NodeFieldKind.CHILD) { - final Node valueNode = (Node) value; - printNewLine(p, level, valueNode == markNode); - p.print(field.getName()); - p.print(" = "); - printTree(p, valueNode, maxDepth, markNode, level + 1); + printChild(p, maxDepth, markNode, level, field, value); } else if (field.getKind() == NodeFieldKind.CHILDREN) { - printNewLine(p, level); - p.print(field.getName()); - Node[] children = (Node[]) value; - p.print(" = ["); - sep = ""; - for (Node child : children) { - p.print(sep); - sep = ", "; - printTree(p, child, maxDepth, markNode, level + 1); - } - p.print("]"); + printChildren(p, maxDepth, markNode, level, field, value); } else { printNewLine(p, level); p.print(field.getName()); @@ -147,6 +124,39 @@ } } + private static void printSyntaxTagged(PrintWriter p, final SyntaxTagged taggedNode) { + p.print("["); + String prefix = ""; + for (SyntaxTag tag : taggedNode.getSyntaxTags()) { + p.print(prefix); + prefix = ","; + p.print(tag.toString()); + } + p.print("]"); + } + + private static void printChildren(PrintWriter p, int maxDepth, Node markNode, int level, NodeField field, Object value) { + printNewLine(p, level); + p.print(field.getName()); + Node[] children = (Node[]) value; + p.print(" = ["); + String sep = ""; + for (Node child : children) { + p.print(sep); + sep = ", "; + printTree(p, child, maxDepth, markNode, level + 1); + } + p.print("]"); + } + + private static void printChild(PrintWriter p, int maxDepth, Node markNode, int level, NodeField field, Object value) { + final Node valueNode = (Node) value; + printNewLine(p, level, valueNode == markNode); + p.print(field.getName()); + p.print(" = "); + printTree(p, valueNode, maxDepth, markNode, level + 1); + } + private static void printNewLine(PrintWriter p, int level, boolean mark) { p.println(); for (int i = 0; i < level; i++) {