summaryrefslogtreecommitdiff
path: root/sources/scalac/symtab/SymbolTablePrinter.java
diff options
context:
space:
mode:
Diffstat (limited to 'sources/scalac/symtab/SymbolTablePrinter.java')
-rw-r--r--sources/scalac/symtab/SymbolTablePrinter.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/sources/scalac/symtab/SymbolTablePrinter.java b/sources/scalac/symtab/SymbolTablePrinter.java
index d70d62d3c2..89fe42d869 100644
--- a/sources/scalac/symtab/SymbolTablePrinter.java
+++ b/sources/scalac/symtab/SymbolTablePrinter.java
@@ -407,7 +407,10 @@ public class SymbolTablePrinter {
case ThisType(Symbol clasz):
if (global.debug || !clasz.isModuleClass()) return type;
Type prefix = getTypeToPrintForType(clasz.owner().thisType());
- return Type.singleType(prefix, clasz.module());
+ Symbol module = clasz.sourceModule();
+ if (module.owner() != clasz.owner()) return type;
+ if (!module.type().isObjectType()) return type;
+ return Type.singleType(prefix, module);
case SingleType(_, Symbol sym):
if (global.debug) return type;
if (sym.isSynthetic()) return type.widen();