summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2004-01-23 20:19:22 +0000
committerpaltherr <paltherr@epfl.ch>2004-01-23 20:19:22 +0000
commit3cb16fdb4084aeed8af7b64f282bde5c2a42e096 (patch)
tree92f02738c97f1b8104a3cc1ef0d4f668f37c16b3 /sources
parent17ea384cb388e778fd78698b854c76bea30abfb6 (diff)
downloadscala-3cb16fdb4084aeed8af7b64f282bde5c2a42e096.tar.gz
scala-3cb16fdb4084aeed8af7b64f282bde5c2a42e096.tar.bz2
scala-3cb16fdb4084aeed8af7b64f282bde5c2a42e096.zip
- Added test to avoid StackOverflow
Diffstat (limited to 'sources')
-rw-r--r--sources/scalac/transformer/ExpandMixinsPhase.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/sources/scalac/transformer/ExpandMixinsPhase.java b/sources/scalac/transformer/ExpandMixinsPhase.java
index e4c08ae58b..261c52354b 100644
--- a/sources/scalac/transformer/ExpandMixinsPhase.java
+++ b/sources/scalac/transformer/ExpandMixinsPhase.java
@@ -418,8 +418,10 @@ public class ExpandMixinsPhase extends Phase {
case TypeRef(Type prefix, Symbol symbol, Type[] args):
Type inline = (Type)inlines.get(symbol);
if (inline != null) return inline;
- prefix = apply(prefix);
- symbol = prefix.rebind(symbol);
+ if (!symbol.isClassType()) { // !!! why do we need that ?
+ prefix = apply(prefix);
+ symbol = prefix.rebind(symbol);
+ }
args = map(args);
return Type.TypeRef(prefix, symbol, args).unalias();
case SingleType(Type prefix, Symbol symbol):