aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/pickling/TreePickler.scala
diff options
context:
space:
mode:
authorDmitry Petrashko <dmitry.petrashko@gmail.com>2015-03-18 23:07:35 +0100
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-03-18 23:56:39 +0100
commit0d1396266c15c9bc88ea922a256a9c3709f33e7e (patch)
tree0f30282be33797c0da73347222be398fdb0a31e4 /src/dotty/tools/dotc/core/pickling/TreePickler.scala
parentfbad1dc0b7b09c9fa4d03761734eee49d0145f3c (diff)
downloaddotty-0d1396266c15c9bc88ea922a256a9c3709f33e7e.tar.gz
dotty-0d1396266c15c9bc88ea922a256a9c3709f33e7e.tar.bz2
dotty-0d1396266c15c9bc88ea922a256a9c3709f33e7e.zip
Update address maps of symbols after compaction
Diffstat (limited to 'src/dotty/tools/dotc/core/pickling/TreePickler.scala')
-rw-r--r--src/dotty/tools/dotc/core/pickling/TreePickler.scala10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/pickling/TreePickler.scala b/src/dotty/tools/dotc/core/pickling/TreePickler.scala
index f16cb50e6..4ffb3b1b9 100644
--- a/src/dotty/tools/dotc/core/pickling/TreePickler.scala
+++ b/src/dotty/tools/dotc/core/pickling/TreePickler.scala
@@ -531,8 +531,16 @@ class TreePickler(pickler: TastyPickler) {
withLength { pickleType(ann.symbol.typeRef); pickleTree(ann.tree) }
}
+ def updateMapWithDeltas[T](mp: collection.mutable.Map[T, Addr]) = {
+ mp.map{
+ case (key, addr) => (key, adjusted(addr))
+ }.foreach(mp += _)
+ }
+
+
trees.foreach(tree => if (!tree.isEmpty) pickleTree(tree))
assert(forwardSymRefs.isEmpty, i"unresolved symbols: ${forwardSymRefs.keySet.toList}%, %")
compactify()
- }
+ updateMapWithDeltas(symRefs)
+ }
}