diff options
author | paltherr <paltherr@epfl.ch> | 2003-04-16 09:21:53 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2003-04-16 09:21:53 +0000 |
commit | 609593beeb70645c1a9ce2cb02331a264d8cbf5b (patch) | |
tree | 182d868a483f799b31e253f4f2cd2b801d403396 /sources/meta | |
parent | 9a6a3347293acf9827555c60201a41ace52669f4 (diff) | |
download | scala-609593beeb70645c1a9ce2cb02331a264d8cbf5b.tar.gz scala-609593beeb70645c1a9ce2cb02331a264d8cbf5b.tar.bz2 scala-609593beeb70645c1a9ce2cb02331a264d8cbf5b.zip |
- Changed LazyTreeCopier to used a copier inste...
- Changed LazyTreeCopier to used a copier instead of a factory
Diffstat (limited to 'sources/meta')
-rw-r--r-- | sources/meta/scalac/ast/MetaLazyTreeCopier.java | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/sources/meta/scalac/ast/MetaLazyTreeCopier.java b/sources/meta/scalac/ast/MetaLazyTreeCopier.java index a3d770b0d1..56ed1e3e00 100644 --- a/sources/meta/scalac/ast/MetaLazyTreeCopier.java +++ b/sources/meta/scalac/ast/MetaLazyTreeCopier.java @@ -16,8 +16,8 @@ public class MetaLazyTreeCopier extends AbstractTreeMethodExpander { public void printTreeMethod(TreeNode node) { printTreeMethodHeader(node, tree.t_Tree + " tree"); writer.lbrace(); + writer.println(node.name + " t = (" + node.name + ")tree;"); if (node.fields.length > 0) { - writer.println(node.name + " t = (" + node.name + ")tree;"); writer.print("if (").indent(); for (int i = 0; i < node.fields.length; i++) { if (i > 0) writer.println(" &&"); @@ -26,14 +26,11 @@ public class MetaLazyTreeCopier extends AbstractTreeMethodExpander { } writer.println(")"); writer.println("return t;").undent(); - } else { - writer.print(node.name).space(); + writer.print("t = copier." + node.name + "("); + node.printArgs(writer, "tree").println(");"); + writer.println("t.type = tree.type;"); + if (node.hasSymbol())writer.println("t.setSymbol(tree.symbol());"); } - - writer.print("t = make." + node.name + "("); - node.printArgs(writer, "tree.pos").println(");"); - writer.println("t.type = tree.type;"); - if (node.hasSymbol()) writer.println("t.setSymbol(tree.symbol());"); writer.println("return t;"); writer.rbrace(); } |