summaryrefslogtreecommitdiff
path: root/sources/meta
diff options
context:
space:
mode:
Diffstat (limited to 'sources/meta')
-rw-r--r--sources/meta/scalac/ast/MetaStrictTreeCopier.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/sources/meta/scalac/ast/MetaStrictTreeCopier.java b/sources/meta/scalac/ast/MetaStrictTreeCopier.java
index cd0ec6bf58..62823377dd 100644
--- a/sources/meta/scalac/ast/MetaStrictTreeCopier.java
+++ b/sources/meta/scalac/ast/MetaStrictTreeCopier.java
@@ -22,8 +22,10 @@ public class MetaStrictTreeCopier extends AbstractTreeMethodExpander {
writer.print(node.getType(0)).print(" t = make.");
node.printCall(writer, "tree.pos", withSymbol).println(";");
writer.println("t.type = tree.type;");
- if (!withSymbol && node.hasSymbol() && !node.hasLinkedFields())
- writer.println("t.setSymbol(tree.symbol());");
+ if (!withSymbol && node.hasSymbol() && !node.hasLinkedFields()) {
+ symbol.print(writer, true).println(" = tree.symbol();");
+ writer.println("if ("+symbol+" != null) t.setSymbol("+symbol+");");
+ }
writer.println("return t;");
writer.rbrace();