diff options
-rw-r--r-- | sources/scalac/transformer/ExpandMixins.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sources/scalac/transformer/ExpandMixins.java b/sources/scalac/transformer/ExpandMixins.java index de5cbc9c51..295c3273b2 100644 --- a/sources/scalac/transformer/ExpandMixins.java +++ b/sources/scalac/transformer/ExpandMixins.java @@ -227,6 +227,17 @@ superFixer.transform(template.body)))); } } + public Tree transform(Tree tree) { + if (tree.hasSymbol() && tree.symbol().isParameter()) { + Symbol symbol = getSymbolFor(tree); + if (!symbol.isParameter()) { + assert tree instanceof Tree.Ident: tree; + return gen.Select(gen.This(tree.pos, clasz), symbol); + } + } + return super.transform(tree); + } + } private final Transformer superFixer; |