aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-04-03 18:55:28 +0200
committerMartin Odersky <odersky@gmail.com>2015-04-03 18:55:28 +0200
commitec7f7f525dfa335ef36b604bc3f1ccd2ec4679db (patch)
treee71e5d2b6df04a98485c48edf1186244a2d55270 /src
parent62433d2877e3c3dd8a5385b2057274c7f36d6ff2 (diff)
downloaddotty-ec7f7f525dfa335ef36b604bc3f1ccd2ec4679db.tar.gz
dotty-ec7f7f525dfa335ef36b604bc3f1ccd2ec4679db.tar.bz2
dotty-ec7f7f525dfa335ef36b604bc3f1ccd2ec4679db.zip
Fixed test failure for core_pickling.
When reading external symbols from class Object, need to consider members of Any as well.
Diffstat (limited to 'src')
-rw-r--r--src/dotty/tools/dotc/core/pickling/UnPickler.scala5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/pickling/UnPickler.scala b/src/dotty/tools/dotc/core/pickling/UnPickler.scala
index 462a8a370..a47b8bda2 100644
--- a/src/dotty/tools/dotc/core/pickling/UnPickler.scala
+++ b/src/dotty/tools/dotc/core/pickling/UnPickler.scala
@@ -368,7 +368,10 @@ class UnPickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClassRoot:
def fromName(name: Name): Symbol = name.toTermName match {
case nme.ROOT => loadingMirror.RootClass
case nme.ROOTPKG => loadingMirror.RootPackage
- case _ => adjust(owner.info.decl(name))
+ case _ =>
+ def declIn(owner: Symbol) = adjust(owner.info.decl(name))
+ val sym = declIn(owner)
+ if (sym.exists || owner.ne(defn.ObjectClass)) sym else declIn(defn.AnyClass)
}
def nestedObjectSymbol: Symbol = {