@@ -30,7 +30,7 @@ import reporting.Message
30
30
import collection .mutable
31
31
import io .AbstractFile
32
32
import language .implicitConversions
33
- import util .{SourceFile , NoSource , Property , SourcePosition , SrcPos }
33
+ import util .{SourceFile , NoSource , Property , SourcePosition , SrcPos , IdentityHashMap }
34
34
import scala .collection .JavaConverters ._
35
35
import scala .annotation .internal .sharable
36
36
import config .Printers .typr
@@ -495,61 +495,7 @@ object Symbols {
495
495
/** The current class */
496
496
def currentClass (using Context ): ClassSymbol = ctx.owner.enclosingClass.asClass
497
497
498
- /* Mutable map from symbols any T */
499
- class MutableSymbolMap [T ](private [Symbols ] val value : java.util.IdentityHashMap [Symbol , T ]) extends AnyVal {
500
-
501
- def apply (sym : Symbol ): T = value.get(sym)
502
-
503
- def get (sym : Symbol ): Option [T ] = Option (value.get(sym))
504
-
505
- def getOrElse [U >: T ](sym : Symbol , default : => U ): U = {
506
- val v = value.get(sym)
507
- if (v != null ) v else default
508
- }
509
-
510
- def getOrElseUpdate (sym : Symbol , op : => T ): T = {
511
- val v = value.get(sym)
512
- if (v != null ) v
513
- else {
514
- val v = op
515
- assert(v != null )
516
- value.put(sym, v)
517
- v
518
- }
519
- }
520
-
521
- def update (sym : Symbol , x : T ): Unit = {
522
- assert(x != null )
523
- value.put(sym, x)
524
- }
525
- def put (sym : Symbol , x : T ): T = {
526
- assert(x != null )
527
- value.put(sym, x)
528
- }
529
-
530
- def -= (sym : Symbol ): Unit = value.remove(sym)
531
- def remove (sym : Symbol ): Option [T ] = Option (value.remove(sym))
532
-
533
- def contains (sym : Symbol ): Boolean = value.containsKey(sym)
534
-
535
- def isEmpty : Boolean = value.isEmpty
536
-
537
- def clear (): Unit = value.clear()
538
-
539
- def filter (p : ((Symbol , T )) => Boolean ): Map [Symbol , T ] =
540
- value.asScala.toMap.filter(p)
541
-
542
- def iterator : Iterator [(Symbol , T )] = value.asScala.iterator
543
-
544
- def keysIterator : Iterator [Symbol ] = value.keySet().asScala.iterator
545
-
546
- def toMap : Map [Symbol , T ] = value.asScala.toMap
547
-
548
- override def toString : String = value.asScala.toString()
549
- }
550
-
551
- inline def newMutableSymbolMap [T ]: MutableSymbolMap [T ] =
552
- new MutableSymbolMap (new java.util.IdentityHashMap [Symbol , T ]())
498
+ type MutableSymbolMap [T ] = IdentityHashMap [Symbol , T ]
553
499
554
500
// ---- Factory methods for symbol creation ----------------------
555
501
//
0 commit comments