diff options
author | Martin Odersky <odersky@gmail.com> | 2015-02-24 16:55:37 +0100 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-03-18 11:14:10 +0100 |
commit | 5d09a0cea088a193f7e917cbc03187d5b6b7a795 (patch) | |
tree | 86a757ebe6951cba44e4de6eb00c16ab62e662b1 /src/dotty/tools/dotc/core/pickling/TreesUnpickler.scala | |
parent | aebc626de6fa762dcd30fd78d0cc2cf3e5a983d4 (diff) | |
download | dotty-5d09a0cea088a193f7e917cbc03187d5b6b7a795.tar.gz dotty-5d09a0cea088a193f7e917cbc03187d5b6b7a795.tar.bz2 dotty-5d09a0cea088a193f7e917cbc03187d5b6b7a795.zip |
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.
Diffstat (limited to 'src/dotty/tools/dotc/core/pickling/TreesUnpickler.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/pickling/TreesUnpickler.scala | 18 |
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) |