diff options
author | Martin Odersky <odersky@gmail.com> | 2011-03-14 14:35:38 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2011-03-14 14:35:38 +0000 |
commit | e64b94fcc972f8da390450e39140257bb91126fd (patch) | |
tree | a60db52dc980cb3a0576b1f445144d6147f735aa | |
parent | 13c59adf9fbff0e99ffa9f8e30f5dc05e0c1ee4d (diff) | |
download | scala-e64b94fcc972f8da390450e39140257bb91126fd.tar.gz scala-e64b94fcc972f8da390450e39140257bb91126fd.tar.bz2 scala-e64b94fcc972f8da390450e39140257bb91126fd.zip |
Closes #4300. No review.
-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 { |