summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/mutable/HashSet.scala
diff options
context:
space:
mode:
authorJames Iry <james.iry@typesafe.com>2013-01-03 15:55:18 -0800
committerJames Iry <james.iry@typesafe.com>2013-01-03 15:55:18 -0800
commit016763cc3a3045cdc0ae21007f50ae52c3c7d642 (patch)
treec4aeb736fdd6dfc7a0361041d653732fc72602ab /src/library/scala/collection/mutable/HashSet.scala
parent666572261c41cc92b06c03bf4aa260c198240cd8 (diff)
downloadscala-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.scala14
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
}
}