File tree Expand file tree Collapse file tree 2 files changed +10
-4
lines changed
src/dotty/tools/dotc/core/tasty Expand file tree Collapse file tree 2 files changed +10
-4
lines changed Original file line number Diff line number Diff line change @@ -13,13 +13,13 @@ import ast.tpd
13
13
class TastyPickler {
14
14
15
15
private val sections = new mutable.ArrayBuffer [(TastyName .NameRef , TastyBuffer )]
16
+ val uuid = UUID .randomUUID()
16
17
17
18
private val headerBuffer = {
18
19
val buf = new TastyBuffer (24 )
19
20
for (ch <- header) buf.writeByte(ch.toByte)
20
21
buf.writeNat(MajorVersion )
21
22
buf.writeNat(MinorVersion )
22
- val uuid = UUID .randomUUID()
23
23
buf.writeUncompressedLong(uuid.getMostSignificantBits)
24
24
buf.writeUncompressedLong(uuid.getLeastSignificantBits)
25
25
buf
@@ -31,6 +31,7 @@ class TastyPickler {
31
31
sections += ((nameBuffer.nameIndex(name), buf))
32
32
33
33
def assembleParts (): Array [Byte ] = {
34
+ treePkl.compactify()
34
35
def lengthWithLength (buf : TastyBuffer ) = {
35
36
buf.assemble()
36
37
buf.length + natSize(buf.length)
Original file line number Diff line number Diff line change @@ -541,12 +541,17 @@ class TreePickler(pickler: TastyPickler) {
541
541
}
542
542
543
543
def pickle (trees : List [Tree ])(implicit ctx : Context ) = {
544
+ trees.foreach(tree => if (! tree.isEmpty) pickleTree(tree))
545
+ assert(forwardSymRefs.isEmpty, i " unresolved symbols: ${forwardSymRefs.keySet.toList}%, % " )
546
+ }
547
+
548
+ def compactify () = {
549
+ buf.compactify()
550
+ assert(forwardSymRefs.isEmpty, s " unresolved symbols: ${forwardSymRefs.keySet.toList}%, % " )
551
+
544
552
def updateMapWithDeltas [T ](mp : collection.mutable.Map [T , Addr ]) =
545
553
for (key <- mp.keysIterator.toBuffer[T ]) mp(key) = adjusted(mp(key))
546
554
547
- trees.foreach(tree => if (! tree.isEmpty) pickleTree(tree))
548
- assert(forwardSymRefs.isEmpty, i " unresolved symbols: ${forwardSymRefs.keySet.toList}%, % " )
549
- compactify()
550
555
updateMapWithDeltas(symRefs)
551
556
}
552
557
}
You can’t perform that action at this time.
0 commit comments