summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala4
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/UnPickler.scala7
2 files changed, 7 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
index 56e3dc2d5d..d05cae979b 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
@@ -990,8 +990,8 @@ abstract class ClassfileParser {
case Some(entry) =>
val sym = classSymbol(entry.outerName)
if (static) {
- val s = sym.linkedModuleOfClass.info.member(innerName.toTypeName)
- assert(s ne NoSymbol, sym)
+ val s = atPhase(currentRun.flattenPhase.prev)(sym.linkedModuleOfClass.info.member(innerName.toTypeName))
+ assert(s ne NoSymbol, sym + "." + innerName + " linkedModule: " + sym.linkedModuleOfClass + sym.linkedModuleOfClass.info.members)
s
} else
sym.info.member(innerName.toTypeName)
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/UnPickler.scala b/src/compiler/scala/tools/nsc/symtab/classfile/UnPickler.scala
index f5aa4ed41b..dbdb4e1ad7 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/UnPickler.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/UnPickler.scala
@@ -812,8 +812,11 @@ abstract class UnPickler {
override def complete(sym: Symbol) {
super.complete(sym)
var alias = at(j, readSymbol)
- if (alias hasFlag OVERLOADED)
- alias = alias suchThat (alt => sym.tpe =:= sym.owner.thisType.memberType(alt))
+ if (alias hasFlag OVERLOADED) {
+ atPhase(currentRun.picklerPhase) {
+ alias = alias suchThat (alt => sym.tpe =:= sym.owner.thisType.memberType(alt))
+ }
+ }
sym.asInstanceOf[TermSymbol].setAlias(alias)
}
}