diff options
author | paltherr <paltherr@epfl.ch> | 2004-09-13 17:13:15 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2004-09-13 17:13:15 +0000 |
commit | 906348dd30ffb9568905f362175ad0dd3f5da4cc (patch) | |
tree | 7abf20a28917aca14e830093d9087676b0a3a6f5 /sources | |
parent | af375eabc6c38ab29c931d1de6aba237b1ab746c (diff) | |
download | scala-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.java | 8 |
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); |