From 3197c82a56dd43a3916511a41af5a4ddd1b2e1b3 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Mon, 21 Aug 2006 19:08:04 +0000 Subject: Changed super.T in asSeenFrom --- src/compiler/scala/tools/nsc/symtab/Types.scala | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/compiler/scala/tools/nsc/symtab/Types.scala b/src/compiler/scala/tools/nsc/symtab/Types.scala index cfc4fd7c75..f1540ff52f 100644 --- a/src/compiler/scala/tools/nsc/symtab/Types.scala +++ b/src/compiler/scala/tools/nsc/symtab/Types.scala @@ -1327,7 +1327,11 @@ trait Types requires SymbolTable { def toPrefix(pre: Type, clazz: Symbol): Type = if ((pre eq NoType) || (pre eq NoPrefix) || !clazz.isClass) tp else if ((sym isNonBottomSubClass clazz) && - (pre.widen.symbol isNonBottomSubClass sym)) pre + (pre.widen.symbol isNonBottomSubClass sym)) + pre match { + case SuperType(thistp, _) => thistp + case _ => pre + } else toPrefix(pre.baseType(clazz).prefix, clazz.owner); toPrefix(pre, clazz) case TypeRef(prefix, sym, args) if (sym.isTypeParameter) => -- cgit v1.2.3