diff options
author | Martin Odersky <odersky@gmail.com> | 2015-03-08 11:45:07 +0100 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-03-18 11:15:48 +0100 |
commit | 78ef6bbe9da970afa0af9d086c305eb36db56b8b (patch) | |
tree | d48408b0e2bdabfb3b752ea276ee8463852993aa /src/dotty/tools/dotc/core/pickling/TreeUnpickler.scala | |
parent | 3d987dfa4904d10878482f2211a0aa3af19cae6f (diff) | |
download | dotty-78ef6bbe9da970afa0af9d086c305eb36db56b8b.tar.gz dotty-78ef6bbe9da970afa0af9d086c305eb36db56b8b.tar.bz2 dotty-78ef6bbe9da970afa0af9d086c305eb36db56b8b.zip |
Harmonize treatment of simplified between typer and unpickler
We got some spurious differences in the types in TemplateParents
because simplification was done in Typer but not in Unpickler.
With the change we get perfect matches for all files in pickleOK
also if we print their types.
Diffstat (limited to 'src/dotty/tools/dotc/core/pickling/TreeUnpickler.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/pickling/TreeUnpickler.scala | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/dotty/tools/dotc/core/pickling/TreeUnpickler.scala b/src/dotty/tools/dotc/core/pickling/TreeUnpickler.scala index 66891b448..0cac3491a 100644 --- a/src/dotty/tools/dotc/core/pickling/TreeUnpickler.scala +++ b/src/dotty/tools/dotc/core/pickling/TreeUnpickler.scala @@ -787,10 +787,10 @@ class TreeUnpickler(reader: TastyReader, tastyName: TastyName.Table) { assert(currentAddr == end, s"$start $currentAddr $end ${astTagToString(tag)}") result } - - setPos(start, - if (tag < firstLengthTreeTag) readSimpleTerm() - else readLengthTerm()) + + val tree = if (tag < firstLengthTreeTag) readSimpleTerm() else readLengthTerm() + tree.overwriteType(tree.tpe.simplified) + setPos(start, tree) } def readTpt()(implicit ctx: Context) = { |