summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2004-09-13 17:13:15 +0000
committerpaltherr <paltherr@epfl.ch>2004-09-13 17:13:15 +0000
commit906348dd30ffb9568905f362175ad0dd3f5da4cc (patch)
tree7abf20a28917aca14e830093d9087676b0a3a6f5 /sources
parentaf375eabc6c38ab29c931d1de6aba237b1ab746c (diff)
downloadscala-906348dd30ffb9568905f362175ad0dd3f5da4cc.tar.gz
scala-906348dd30ffb9568905f362175ad0dd3f5da4cc.tar.bz2
scala-906348dd30ffb9568905f362175ad0dd3f5da4cc.zip
- Added a missing substitution for cloned type ...
- Added a missing substitution for cloned type parameters
Diffstat (limited to 'sources')
-rw-r--r--sources/scalac/transformer/ExpandMixinsPhase.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/sources/scalac/transformer/ExpandMixinsPhase.java b/sources/scalac/transformer/ExpandMixinsPhase.java
index 57c94a8708..f2851ea156 100644
--- a/sources/scalac/transformer/ExpandMixinsPhase.java
+++ b/sources/scalac/transformer/ExpandMixinsPhase.java
@@ -415,6 +415,14 @@ public class ExpandMixinsPhase extends Phase {
case TypeRef(Type prefix, Symbol symbol, Type[] args):
Type inline = (Type)inlines.get(symbol);
if (inline != null) return inline;
+ if (symbol.isParameter()) {
+ Symbol clone = (Symbol)cloner.clones.get(symbol);
+ if (clone != null) {
+ assert prefix == Type.NoPrefix && args.length == 0:
+ type;
+ return Type.typeRef(prefix, clone, args);
+ }
+ }
return map(type);
case SingleType(Type prefix, Symbol symbol):
Symbol clone = (Symbol)cloner.clones.get(symbol);