diff options
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/Symbols.scala | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/Symbols.scala b/src/compiler/scala/tools/nsc/symtab/Symbols.scala index 5172c9026f..3157e5cc20 100644 --- a/src/compiler/scala/tools/nsc/symtab/Symbols.scala +++ b/src/compiler/scala/tools/nsc/symtab/Symbols.scala @@ -927,7 +927,20 @@ trait Symbols extends reflect.generic.Symbols { self: SymbolTable => * type parameters later. */ def typeParams: List[Symbol] = - if (isMonomorphicType) List() else { rawInfo.load(this); rawInfo.typeParams } + if (isMonomorphicType) + List() + else { + if (validTo == NoPeriod) { + val current = phase + try { + phase = phaseOf(infos.validFrom) + rawInfo.load(this) + } finally { + phase = current + } + } + rawInfo.typeParams + } /** The value parameter sections of this symbol. */ |