summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
Diffstat (limited to 'sources')
-rw-r--r--sources/scalac/transformer/ExpandMixins.java16
1 files changed, 11 insertions, 5 deletions
diff --git a/sources/scalac/transformer/ExpandMixins.java b/sources/scalac/transformer/ExpandMixins.java
index 9c589cf4f8..7b9439ce0f 100644
--- a/sources/scalac/transformer/ExpandMixins.java
+++ b/sources/scalac/transformer/ExpandMixins.java
@@ -247,11 +247,8 @@ public class ExpandMixins extends Transformer {
if (memSymT != memSymM) {
if ((memSym.flags & Modifiers.DEFERRED) != 0)
leftOutMembers.add(member);
- else {
- Symbol newMemSym = renameSymbol(symbolMap, memSym, owner);
- newMembers.enterOrOverload(newMemSym);
- mixedInSymbols.put(memSym, newMemSym);
- }
+ else
+ renameSymbol(symbolMap, memSym, owner);
}
}
@@ -269,6 +266,15 @@ public class ExpandMixins extends Transformer {
treeCopier.popSymbolSubst();
newBody.add(newMember);
+
+ if (newMember.definesSymbol()) {
+ Symbol sym = newMember.symbol();
+
+ sym.setOwner(owner);
+ newMembers.enterOrOverload(sym);
+
+ mixedInSymbols.put(member.symbol(), newMember.symbol());
+ }
}
}