From 5d09a0cea088a193f7e917cbc03187d5b6b7a795 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Tue, 24 Feb 2015 16:55:37 +0100 Subject: Have pkg intsead of static external references Static does not tell us whether to start the search it in empty package or in root package. --- .../tools/dotc/core/pickling/TreesUnpickler.scala | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'src/dotty/tools/dotc/core/pickling/TreesUnpickler.scala') 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) -- cgit v1.2.3