From 51d851ce2e403201d99d236a4bafd5728edc754f Mon Sep 17 00:00:00 2001 From: Jason Zaugg Date: Tue, 29 Nov 2016 14:42:01 +1000 Subject: SD-275 Further harden against refs to absentee classes - Limit the strategy of unpickling an external reference to a module class to a lookup of the module var to non-stub owners in order to enable fall through to stub symbol creation. Fixes scala/scala-dev#275 --- src/reflect/scala/reflect/internal/pickling/UnPickler.scala | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/reflect/scala/reflect/internal/pickling/UnPickler.scala b/src/reflect/scala/reflect/internal/pickling/UnPickler.scala index 3bc845557f..fd7d2d9dd6 100644 --- a/src/reflect/scala/reflect/internal/pickling/UnPickler.scala +++ b/src/reflect/scala/reflect/internal/pickling/UnPickler.scala @@ -224,10 +224,9 @@ abstract class UnPickler { if (owner.isOverloaded) return NoSymbol - if (tag == EXTMODCLASSref) { + if (tag == EXTMODCLASSref && !owner.isInstanceOf[StubSymbol]) owner.info.decl(nme.moduleVarName(name.toTermName)) - } - NoSymbol + else NoSymbol } def moduleAdvice(missing: String): String = { -- cgit v1.2.3