summaryrefslogtreecommitdiff
path: root/sources/scala/tools/nsc/ast/TreeGen.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2005-11-22 10:02:24 +0000
committerMartin Odersky <odersky@gmail.com>2005-11-22 10:02:24 +0000
commit12c007cda6ff4d6b902efbfef18a057370bcd86e (patch)
tree266dba82490cb6953d1f367ae0007ae73632bcf2 /sources/scala/tools/nsc/ast/TreeGen.scala
parentfb67524a831520da47ea29967d2595dced41c323 (diff)
downloadscala-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-xsources/scala/tools/nsc/ast/TreeGen.scala16
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);