diff options
author | Sean McDirmid <sean.mcdirmid@gmail.com> | 2007-05-21 11:01:42 +0000 |
---|---|---|
committer | Sean McDirmid <sean.mcdirmid@gmail.com> | 2007-05-21 11:01:42 +0000 |
commit | 6c4a4d5de8bc23bc0457d9903e0fa9fc0979197d (patch) | |
tree | 60bf4b684d518ff284f68c7422dcbb9ed258741d /src | |
parent | 5e9a42a481c0d4f9b3056faa9b0f582b577edba8 (diff) | |
download | scala-6c4a4d5de8bc23bc0457d9903e0fa9fc0979197d.tar.gz scala-6c4a4d5de8bc23bc0457d9903e0fa9fc0979197d.tar.bz2 scala-6c4a4d5de8bc23bc0457d9903e0fa9fc0979197d.zip |
patch from user contribution
Diffstat (limited to 'src')
-rw-r--r-- | src/library/scala/Symbol.scala | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/library/scala/Symbol.scala b/src/library/scala/Symbol.scala index 112764a223..6110fa07dd 100644 --- a/src/library/scala/Symbol.scala +++ b/src/library/scala/Symbol.scala @@ -13,7 +13,7 @@ package scala import scala.collection.jcl -private[scala] object internedSymbols extends jcl.HashMap[String, ref.WeakReference[Symbol]] +private[scala] object internedSymbols extends jcl.WeakHashMap[Symbol, ref.WeakReference[Symbol]] /** <p> * Instances of <code>Symbol</code> can be created easily with @@ -47,10 +47,10 @@ final case class Symbol(name: String) { * * @return the unique reference to this symbol. */ - def intern: Symbol = synchronized { - internedSymbols.get(name).map(.get).getOrElse(None) match { + def intern: Symbol = internedSymbols.synchronized { + internedSymbols.get(this).map(.get).getOrElse(None) match { case Some(sym) => sym case _ => - internedSymbols(name) = new ref.WeakReference(this); this + internedSymbols(this) = new ref.WeakReference(this); this } } } |