From 54313dd4d0e3a291d4caf2b201171f561182b674 Mon Sep 17 00:00:00 2001 From: paltherr Date: Wed, 12 Nov 2003 15:01:43 +0000 Subject: - Fixed symbol of generated Super. --- sources/scalac/transformer/ExpandMixins.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'sources/scalac/transformer') diff --git a/sources/scalac/transformer/ExpandMixins.java b/sources/scalac/transformer/ExpandMixins.java index 351664c03d..d4265ba9a6 100644 --- a/sources/scalac/transformer/ExpandMixins.java +++ b/sources/scalac/transformer/ExpandMixins.java @@ -248,14 +248,11 @@ public class ClassExpander { throw Debug.abort("illegal case", tree); } case Select(Super(_, _), _): - Symbol sym = tree.symbol(); - Symbol newSym = sym.overridingSymbol(parents[0]); - if (newSym != Symbol.NONE) - return gen.Select(tree.pos, - gen.Super(tree.pos, newSym.owner()), - newSym); - else - return super.transform(tree); + Tree qualifier = ((Tree.Select)tree).qualifier; + qualifier = gen.Super(qualifier.pos, clasz); + Symbol symbol = tree.symbol().overridingSymbol(parents[0]); + assert symbol != Symbol.NONE: Debug.show(tree.symbol()); + return gen.Select(tree.pos, qualifier, symbol); default: return super.transform(tree); } -- cgit v1.2.3