summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2003-12-12 19:02:29 +0000
committerpaltherr <paltherr@epfl.ch>2003-12-12 19:02:29 +0000
commit15d8dae21dca443f0a9f048a51b71b8837a02c5b (patch)
tree95900eaa12fdbbaa3621e19026749549e269f8c2
parent161661cf29bb23d8640b32e1600cede618df8813 (diff)
downloadscala-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)
-rw-r--r--sources/scalac/transformer/ExpandMixins.java11
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;