diff options
author | Martin Odersky <odersky@gmail.com> | 2015-04-03 18:55:28 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-04-03 18:55:28 +0200 |
commit | ec7f7f525dfa335ef36b604bc3f1ccd2ec4679db (patch) | |
tree | e71e5d2b6df04a98485c48edf1186244a2d55270 /src | |
parent | 62433d2877e3c3dd8a5385b2057274c7f36d6ff2 (diff) | |
download | dotty-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.scala | 5 |
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 = { |