aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2016-01-18 11:51:56 +0100
committerMartin Odersky <odersky@gmail.com>2016-02-19 14:00:01 +0100
commitd0b1ebcd41674dd78ec98a88ce4a60457c423da0 (patch)
tree019466d64cdcf79e72ec366de196dcd5691176cc /src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala
parentf94c53caaa9265bc0252f8c435d1395901728601 (diff)
downloaddotty-d0b1ebcd41674dd78ec98a88ce4a60457c423da0.tar.gz
dotty-d0b1ebcd41674dd78ec98a88ce4a60457c423da0.tar.bz2
dotty-d0b1ebcd41674dd78ec98a88ce4a60457c423da0.zip
Make type parameter reordering generally available.
Diffstat (limited to 'src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala')
-rw-r--r--src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala b/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala
index b1b229768..7a13388ae 100644
--- a/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala
+++ b/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala
@@ -132,18 +132,10 @@ object Scala2Unpickler {
} else {
registerCompanionPair(scalacCompanion, denot.classSymbol)
}
- val declsTypeParams = denot.typeParams
- val declsInRightOrder =
- if (declsTypeParams.corresponds(tparams)(_.name == _.name)) decls
- else { // create new scope with type parameters in right order
- val decls1 = newScope
- for (tparam <- tparams) decls1.enter(decls.lookup(tparam.name))
- for (sym <- decls) if (!declsTypeParams.contains(sym)) decls1.enter(sym)
- decls1
- }
- denot.info = ClassInfo( // final info
- denot.owner.thisType, denot.classSymbol, parentRefs, declsInRightOrder, ost)
+ denot.info = ClassInfo( // final info, except possibly for typeparams ordering
+ denot.owner.thisType, denot.classSymbol, parentRefs, decls, ost)
+ denot.updateTypeParams(tparams)
}
}