diff options
author | paltherr <paltherr@epfl.ch> | 2003-12-12 19:02:29 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2003-12-12 19:02:29 +0000 |
commit | 15d8dae21dca443f0a9f048a51b71b8837a02c5b (patch) | |
tree | 95900eaa12fdbbaa3621e19026749549e269f8c2 /sources/scalac | |
parent | 161661cf29bb23d8640b32e1600cede618df8813 (diff) | |
download | scala-15d8dae21dca443f0a9f048a51b71b8837a02c5b.tar.gz scala-15d8dae21dca443f0a9f048a51b71b8837a02c5b.tar.bz2 scala-15d8dae21dca443f0a9f048a51b71b8837a02c5b.zip |
- Added case for references to inlined vparams:...
- Added case for references to inlined vparams: Ident(x) ->
Select(this,x)
Diffstat (limited to 'sources/scalac')
-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; |