diff options
author | Martin Odersky <odersky@gmail.com> | 2005-11-22 10:02:24 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2005-11-22 10:02:24 +0000 |
commit | 12c007cda6ff4d6b902efbfef18a057370bcd86e (patch) | |
tree | 266dba82490cb6953d1f367ae0007ae73632bcf2 /sources/scala/tools/nsc/ast/TreeGen.scala | |
parent | fb67524a831520da47ea29967d2595dced41c323 (diff) | |
download | scala-12c007cda6ff4d6b902efbfef18a057370bcd86e.tar.gz scala-12c007cda6ff4d6b902efbfef18a057370bcd86e.tar.bz2 scala-12c007cda6ff4d6b902efbfef18a057370bcd86e.zip |
*** empty log message ***
Diffstat (limited to 'sources/scala/tools/nsc/ast/TreeGen.scala')
-rwxr-xr-x | sources/scala/tools/nsc/ast/TreeGen.scala | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/sources/scala/tools/nsc/ast/TreeGen.scala b/sources/scala/tools/nsc/ast/TreeGen.scala index 8d2f30bd4d..425cf9eac8 100755 --- a/sources/scala/tools/nsc/ast/TreeGen.scala +++ b/sources/scala/tools/nsc/ast/TreeGen.scala @@ -24,12 +24,16 @@ abstract class TreeGen { case ThisType(clazz) => if (clazz.isRoot || clazz.isEmptyPackageClass) EmptyTree else This(clazz) case SingleType(pre, sym) => - val qual = mkStableRef(pre, sym); - qual.tpe match { - case MethodType(List(), restpe) => - Apply(qual, List()) setType restpe - case _ => - qual + if (sym.isThisSkolem) { + mkQualifier(ThisType(sym.deSkolemize)) + } else { + val qual = mkStableRef(pre, sym); + qual.tpe match { + case MethodType(List(), restpe) => + Apply(qual, List()) setType restpe + case _ => + qual + } } case TypeRef(pre, sym, args) => assert(phase.erasedTypes); |