aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/SymDenotations.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-11-04 18:53:36 +0100
committerMartin Odersky <odersky@gmail.com>2015-11-04 18:53:36 +0100
commitc164deb13f4fcf0a155945e694a59e9c0b3ec119 (patch)
treee8c93b530898e503887bde424dc4888913239428 /src/dotty/tools/dotc/core/SymDenotations.scala
parentd3e5a6981c985e71a77356deab9155806b9ffd02 (diff)
downloaddotty-c164deb13f4fcf0a155945e694a59e9c0b3ec119.tar.gz
dotty-c164deb13f4fcf0a155945e694a59e9c0b3ec119.tar.bz2
dotty-c164deb13f4fcf0a155945e694a59e9c0b3ec119.zip
Reorder unpickled type params if necessary
When compiling Iterator.scala it was observed that the type parameters of BufferedCanBuildFrom appeared inm the wrong order. This fix corrects that, making sure that type parameters appear in the decls scope in the same order as they are given in the epxlicitly unpickled type parameter list.
Diffstat (limited to 'src/dotty/tools/dotc/core/SymDenotations.scala')
-rw-r--r--src/dotty/tools/dotc/core/SymDenotations.scala7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/SymDenotations.scala b/src/dotty/tools/dotc/core/SymDenotations.scala
index 126af9259..20d674b86 100644
--- a/src/dotty/tools/dotc/core/SymDenotations.scala
+++ b/src/dotty/tools/dotc/core/SymDenotations.scala
@@ -176,7 +176,7 @@ object SymDenotations {
// completions.println(s"completed ${this.debugString}")
}
- protected[dotc] final def info_=(tp: Type) = {
+ protected[dotc] def info_=(tp: Type) = {
/* // DEBUG
def illegal: String = s"illegal type for $this: $tp"
if (this is Module) // make sure module invariants that allow moduleClass and sourceModule to work are kept.
@@ -1177,6 +1177,11 @@ object SymDenotations {
myTypeParams
}
+ override protected[dotc] final def info_=(tp: Type) = {
+ super.info_=(tp)
+ myTypeParams = null // changing the info might change decls, and with it typeParams
+ }
+
/** The denotations of all parents in this class. */
def classParents(implicit ctx: Context): List[TypeRef] = info match {
case classInfo: ClassInfo => classInfo.classParents