aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/pickling/TreeUnpickler.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-03-08 11:45:07 +0100
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-03-18 11:15:48 +0100
commit78ef6bbe9da970afa0af9d086c305eb36db56b8b (patch)
treed48408b0e2bdabfb3b752ea276ee8463852993aa /src/dotty/tools/dotc/core/pickling/TreeUnpickler.scala
parent3d987dfa4904d10878482f2211a0aa3af19cae6f (diff)
downloaddotty-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.scala8
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) = {