From e64b94fcc972f8da390450e39140257bb91126fd Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Mon, 14 Mar 2011 14:35:38 +0000 Subject: Closes #4300. No review. --- src/compiler/scala/tools/nsc/typechecker/Typers.scala | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala index c0158a09c1..897e6bd81b 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala @@ -3380,7 +3380,7 @@ trait Typers extends Modes { def typedSuper(qual: Tree, mix: TypeName) = { val qual1 = typed(qual) - val clazz = qual1.symbol + val clazz = qual1.tpe.typeSymbol def findMixinSuper(site: Type): Type = { var ps = site.parents filter (_.typeSymbol.name == mix) @@ -3390,6 +3390,11 @@ trait Typers extends Modes { if (settings.debug.value) Console.println(site.parents map (_.typeSymbol.name))//debug if (phase.erasedTypes && context.enclClass.owner.isImplClass) { + // println(qual1) + // println(clazz) + // println(site) + // println(site.parents) + // println(mix) // the reference to super class got lost during erasure restrictionError(tree.pos, unit, "traits may not select fields or methods from super[C] where C is a class") } else { -- cgit v1.2.3