diff options
Diffstat (limited to 'sources/meta/scalac/ast/MetaTraverser.java')
-rw-r--r-- | sources/meta/scalac/ast/MetaTraverser.java | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/sources/meta/scalac/ast/MetaTraverser.java b/sources/meta/scalac/ast/MetaTraverser.java index 4e00b924c9..0f166510db 100644 --- a/sources/meta/scalac/ast/MetaTraverser.java +++ b/sources/meta/scalac/ast/MetaTraverser.java @@ -8,6 +8,8 @@ package meta.scalac.ast; +import meta.java.Type; + public class MetaTraverser extends AbstractTreeCaseExpander { //######################################################################## @@ -21,5 +23,22 @@ public class MetaTraverser extends AbstractTreeCaseExpander { writer.println("return;"); } + public void printTraverseArrays() { + int max = tree.arrays; + for (int i = 0; i < tree.nodes.length; i++) + max = Math.max(max, tree.nodes[i].arrays); + for (int i = 1; i <= max; i++) + printTraverseArray(tree.getType(i)); + } + + public void printTraverseArray(Type type) { + writer.print("public void traverse"). + print("(").print(type).print(" trees)").lbrace(); + writer.print("for (int i = 0; i < trees.length; i++) "). + println("traverse(trees[i]);"); + writer.rbrace(); + writer.line(); + } + //######################################################################## } |