From 280d025c7ee678e85d3945256e39441ef445a420 Mon Sep 17 00:00:00 2001 From: schinz Date: Wed, 16 Jul 2003 08:15:16 +0000 Subject: - bug fix: fixed a bug which was introduced by ... - bug fix: fixed a bug which was introduced by the previous commmit and which produced incorrect owners for mixed-in members --- sources/scalac/transformer/ExpandMixins.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'sources/scalac') 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()); + } } } -- cgit v1.2.3