@@ -44,19 +44,19 @@ class TreePickler(pickler: TastyPickler) {
44
44
45
45
private val symRefs = Symbols .newMutableSymbolMap[Addr ]
46
46
private val forwardSymRefs = Symbols .newMutableSymbolMap[List [Addr ]]
47
- private val pickledTypes = new java. util.IdentityHashMap [Type , Any ] // Value type is really Addr, but that's not compatible with null
47
+ private val pickledTypes = util.IdentityHashMap [Type , AnyRef ]() // Value type is really Addr, but that's not compatible with null
48
48
49
49
/** A list of annotation trees for every member definition, so that later
50
50
* parallel position pickling does not need to access and force symbols.
51
51
*/
52
- private val annotTrees = util.HashTable [untpd.MemberDef , mutable.ListBuffer [Tree ]]()
52
+ private val annotTrees = util.IdentityHashMap [untpd.MemberDef , mutable.ListBuffer [Tree ]]()
53
53
54
54
/** A map from member definitions to their doc comments, so that later
55
55
* parallel comment pickling does not need to access symbols of trees (which
56
56
* would involve accessing symbols of named types and possibly changing phases
57
57
* in doing so).
58
58
*/
59
- private val docStrings = util.HashTable [untpd.MemberDef , Comment ]()
59
+ private val docStrings = util.IdentityHashMap [untpd.MemberDef , Comment ]()
60
60
61
61
def treeAnnots (tree : untpd.MemberDef ): List [Tree ] =
62
62
val ts = annotTrees.lookup(tree)
@@ -169,9 +169,9 @@ class TreePickler(pickler: TastyPickler) {
169
169
def pickleType (tpe0 : Type , richTypes : Boolean = false )(using Context ): Unit = {
170
170
val tpe = tpe0.stripTypeVar
171
171
try {
172
- val prev = pickledTypes.get (tpe)
172
+ val prev = pickledTypes.lookup (tpe)
173
173
if (prev == null ) {
174
- pickledTypes.put (tpe, currentAddr)
174
+ pickledTypes(tpe) = currentAddr. asInstanceOf [ AnyRef ]
175
175
pickleNewType(tpe, richTypes)
176
176
}
177
177
else {
@@ -244,7 +244,7 @@ class TreePickler(pickler: TastyPickler) {
244
244
withLength { pickleType(tpe.thistpe); pickleType(tpe.supertpe) }
245
245
case tpe : RecThis =>
246
246
writeByte(RECthis )
247
- val binderAddr = pickledTypes.get (tpe.binder)
247
+ val binderAddr = pickledTypes.lookup (tpe.binder)
248
248
assert(binderAddr != null , tpe.binder)
249
249
writeRef(binderAddr.asInstanceOf [Addr ])
250
250
case tpe : SkolemType =>
@@ -314,7 +314,7 @@ class TreePickler(pickler: TastyPickler) {
314
314
}
315
315
316
316
def pickleParamRef (tpe : ParamRef )(using Context ): Boolean = {
317
- val binder = pickledTypes.get (tpe.binder)
317
+ val binder = pickledTypes.lookup (tpe.binder)
318
318
val pickled = binder != null
319
319
if (pickled) {
320
320
writeByte(PARAMtype )
@@ -349,7 +349,7 @@ class TreePickler(pickler: TastyPickler) {
349
349
docCtx <- ctx.docCtx
350
350
comment <- docCtx.docstring(sym)
351
351
do
352
- docStrings.enter (mdef, comment)
352
+ docStrings(mdef) = comment
353
353
}
354
354
355
355
def pickleParam (tree : Tree )(using Context ): Unit = {
@@ -605,7 +605,7 @@ class TreePickler(pickler: TastyPickler) {
605
605
else {
606
606
val refineCls = refinements.head.symbol.owner.asClass
607
607
registerDef(refineCls)
608
- pickledTypes.put (refineCls.typeRef, currentAddr)
608
+ pickledTypes(refineCls.typeRef) = currentAddr. asInstanceOf [ AnyRef ]
609
609
writeByte(REFINEDtpt )
610
610
refinements.foreach(preRegister)
611
611
withLength { pickleTree(parent); refinements.foreach(pickleTree) }
@@ -757,7 +757,7 @@ class TreePickler(pickler: TastyPickler) {
757
757
var treeBuf = annotTrees.lookup(mdef)
758
758
if treeBuf == null then
759
759
treeBuf = new mutable.ListBuffer [Tree ]
760
- annotTrees.enter (mdef, treeBuf)
760
+ annotTrees(mdef) = treeBuf
761
761
treeBuf += ann.tree
762
762
763
763
// ---- main entry points ---------------------------------------
0 commit comments