@@ -30,7 +30,7 @@ import reporting.Message
3030import collection .mutable
3131import io .AbstractFile
3232import language .implicitConversions
33- import util .{SourceFile , NoSource , Property , SourcePosition , SrcPos }
33+ import util .{SourceFile , NoSource , Property , SourcePosition , SrcPos , IdentityHashMap }
3434import scala .collection .JavaConverters ._
3535import scala .annotation .internal .sharable
3636import config .Printers .typr
@@ -495,61 +495,7 @@ object Symbols {
495495 /** The current class */
496496 def currentClass (using Context ): ClassSymbol = ctx.owner.enclosingClass.asClass
497497
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 ]
553499
554500// ---- Factory methods for symbol creation ----------------------
555501//
0 commit comments