diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Typers.scala | 7 |
1 files changed, 6 insertions, 1 deletions
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 { |