aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/pickling/TreesUnpickler.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/dotty/tools/dotc/core/pickling/TreesUnpickler.scala')
-rw-r--r--src/dotty/tools/dotc/core/pickling/TreesUnpickler.scala18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/dotty/tools/dotc/core/pickling/TreesUnpickler.scala b/src/dotty/tools/dotc/core/pickling/TreesUnpickler.scala
index 4bc79964a..c652e1b90 100644
--- a/src/dotty/tools/dotc/core/pickling/TreesUnpickler.scala
+++ b/src/dotty/tools/dotc/core/pickling/TreesUnpickler.scala
@@ -179,10 +179,20 @@ class TreesUnpickler(reader: TastyReader, tastyName: TastyName.Table,
case TYPEREFsymbol | TERMREFsymbol =>
val sym = readSymRef()
NamedType.withFixedSym(readType(), sym)
- case TYPEREFstatic =>
- ctx.requiredClass(readName().toTypeName).typeRef
- case TERMREFstatic =>
- ctx.requiredModule(readName()).termRef
+ case TYPEREFpkg =>
+ val name = readName()
+ val pkg =
+ if (name == nme.ROOT) defn.RootClass
+ else if (name == nme.EMPTY_PACKAGE) defn.EmptyPackageClass
+ else ctx.requiredPackage(name).moduleClass
+ pkg.typeRef
+ case TERMREFpkg =>
+ val name = readName()
+ val pkg =
+ if (name == nme.ROOT) defn.RootPackage
+ else if (name == nme.EMPTY_PACKAGE) defn.EmptyPackageVal
+ else ctx.requiredPackage(name)
+ pkg.termRef
case TYPEREF =>
val name = readName().toTypeName
TypeRef(readType(), name)