aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/pickling/TreesUnpickler.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-02-24 16:55:37 +0100
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-03-18 11:14:10 +0100
commit5d09a0cea088a193f7e917cbc03187d5b6b7a795 (patch)
tree86a757ebe6951cba44e4de6eb00c16ab62e662b1 /src/dotty/tools/dotc/core/pickling/TreesUnpickler.scala
parentaebc626de6fa762dcd30fd78d0cc2cf3e5a983d4 (diff)
downloaddotty-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.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)