diff options
author | James Iry <james.iry@typesafe.com> | 2013-01-03 15:55:18 -0800 |
---|---|---|
committer | James Iry <james.iry@typesafe.com> | 2013-01-03 15:55:18 -0800 |
commit | 016763cc3a3045cdc0ae21007f50ae52c3c7d642 (patch) | |
tree | c4aeb736fdd6dfc7a0361041d653732fc72602ab /src/library/scala/collection/mutable/HashSet.scala | |
parent | 666572261c41cc92b06c03bf4aa260c198240cd8 (diff) | |
download | scala-016763cc3a3045cdc0ae21007f50ae52c3c7d642.tar.gz scala-016763cc3a3045cdc0ae21007f50ae52c3c7d642.tar.bz2 scala-016763cc3a3045cdc0ae21007f50ae52c3c7d642.zip |
SI-6908 Makes FlatHashTable as well as derived classes support null values
This change adds a null sentinel object which is used to indicate that a null
value has been inserted in FlatHashTable. It also makes a strong distinction
between logical elements of the Set vs entries in the hash table. Changes
are made to mutable.HashSet and ParHashSet accordingly.
Diffstat (limited to 'src/library/scala/collection/mutable/HashSet.scala')
-rw-r--r-- | src/library/scala/collection/mutable/HashSet.scala | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/library/scala/collection/mutable/HashSet.scala b/src/library/scala/collection/mutable/HashSet.scala index 74f2a6c762..d2e4bd78b3 100644 --- a/src/library/scala/collection/mutable/HashSet.scala +++ b/src/library/scala/collection/mutable/HashSet.scala @@ -55,17 +55,17 @@ extends AbstractSet[A] override def size: Int = tableSize - def contains(elem: A): Boolean = containsEntry(elem) + def contains(elem: A): Boolean = containsElem(elem) - def += (elem: A): this.type = { addEntry(elem); this } + def += (elem: A): this.type = { addElem(elem); this } - def -= (elem: A): this.type = { removeEntry(elem); this } + def -= (elem: A): this.type = { removeElem(elem); this } override def par = new ParHashSet(hashTableContents) - override def add(elem: A): Boolean = addEntry(elem) + override def add(elem: A): Boolean = addElem(elem) - override def remove(elem: A): Boolean = removeEntry(elem).isDefined + override def remove(elem: A): Boolean = removeElem(elem).isDefined override def clear() { clearTable() } @@ -75,8 +75,8 @@ extends AbstractSet[A] var i = 0 val len = table.length while (i < len) { - val elem = table(i) - if (elem ne null) f(elem.asInstanceOf[A]) + val curEntry = table(i) + if (curEntry ne null) f(entryToElem(curEntry)) i += 1 } } |