diff options
author | paltherr <paltherr@epfl.ch> | 2004-01-08 12:47:11 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2004-01-08 12:47:11 +0000 |
commit | 3fcadde1cd70c82969cbcd79bcb3a7fd1ae8cdba (patch) | |
tree | 7694f59f7b89c08c1730b36859b9b257540a2b57 | |
parent | fd033d227b150d5bb231e7b28f36414335daff53 (diff) | |
download | scala-3fcadde1cd70c82969cbcd79bcb3a7fd1ae8cdba.tar.gz scala-3fcadde1cd70c82969cbcd79bcb3a7fd1ae8cdba.tar.bz2 scala-3fcadde1cd70c82969cbcd79bcb3a7fd1ae8cdba.zip |
- Added a special case to convert thistype of m...
- Added a special case to convert thistype of module classes into single
types
-rw-r--r-- | sources/scalac/transformer/ExplicitOuterClassesPhase.java | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sources/scalac/transformer/ExplicitOuterClassesPhase.java b/sources/scalac/transformer/ExplicitOuterClassesPhase.java index f047b15b45..1d000e5e55 100644 --- a/sources/scalac/transformer/ExplicitOuterClassesPhase.java +++ b/sources/scalac/transformer/ExplicitOuterClassesPhase.java @@ -319,6 +319,10 @@ public class ExplicitOuterClassesPhase extends Phase { if (clasz == Symbol.NONE) return type; if (clasz == context.clasz) return type; if (clasz.isPackage()) return Type.localThisType; + if (clasz.isModuleClass()) { + Type prefix = clasz.owner().thisType(); + return Type.singleType(apply(prefix), clasz.module()); + } for (int i = 0; i < context.outers.length; i++) if (clasz == context.outers[i].clasz) return context.getTypeLink(i); |