diff options
Diffstat (limited to 'sources/scalac/ast/SubstTransformer.java')
-rw-r--r-- | sources/scalac/ast/SubstTransformer.java | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sources/scalac/ast/SubstTransformer.java b/sources/scalac/ast/SubstTransformer.java index cb64187c2b..ee8541dbb0 100644 --- a/sources/scalac/ast/SubstTransformer.java +++ b/sources/scalac/ast/SubstTransformer.java @@ -279,11 +279,10 @@ public class AttributedTreeCopier extends SubstTransformer { if (sym != Symbol.NONE && mustCopySymbol(tree) && !symbolMap.containsKey(sym)) { - Symbol newSym = sym.cloneSymbol(); - - if (symbolMap.containsKey(newSym.owner())) - newSym.setOwner((Symbol)symbolMap.get(newSym.owner())); - + Symbol oldOwner = sym.owner(); + Symbol newOwner = (Symbol)symbolMap.get(oldOwner); + if (newOwner == null) newOwner = oldOwner; + Symbol newSym = sym.cloneSymbol(newOwner); symbolMap.put(sym, newSym); } } |