summaryrefslogtreecommitdiff
path: root/sources/meta/scalac/ast/MetaTraverser.java
diff options
context:
space:
mode:
Diffstat (limited to 'sources/meta/scalac/ast/MetaTraverser.java')
-rw-r--r--sources/meta/scalac/ast/MetaTraverser.java19
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();
+ }
+
//########################################################################
}