summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2012-11-25 13:25:00 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2012-11-25 13:25:00 -0800
commit8630176e985c5a8266d3afe4c4e3fb50d449630d (patch)
treec11b114c60df6e8cd0a8c3c1197f048106354edd
parent5df0d40045903eacb56d61a32dbe8327897d3189 (diff)
parent555a9bae72107f18a79cff16aa4e0b448b6cd915 (diff)
downloadscala-8630176e985c5a8266d3afe4c4e3fb50d449630d.tar.gz
scala-8630176e985c5a8266d3afe4c4e3fb50d449630d.tar.bz2
scala-8630176e985c5a8266d3afe4c4e3fb50d449630d.zip
Merge pull request #1652 from jedesah/FlatHashTable
findEntry implementation code more concise and DRYer.
-rw-r--r--src/library/scala/collection/mutable/FlatHashTable.scala13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/library/scala/collection/mutable/FlatHashTable.scala b/src/library/scala/collection/mutable/FlatHashTable.scala
index c0299479f3..91e95e039b 100644
--- a/src/library/scala/collection/mutable/FlatHashTable.scala
+++ b/src/library/scala/collection/mutable/FlatHashTable.scala
@@ -110,24 +110,23 @@ trait FlatHashTable[A] extends FlatHashTable.HashUtils[A] {
/** Finds an entry in the hash table if such an element exists. */
protected def findEntry(elem: A): Option[A] = {
- var h = index(elemHashCode(elem))
- var entry = table(h)
- while (null != entry && entry != elem) {
- h = (h + 1) % table.length
- entry = table(h)
- }
+ val entry = findEntryImpl(elem)
if (null == entry) None else Some(entry.asInstanceOf[A])
}
/** Checks whether an element is contained in the hash table. */
protected def containsEntry(elem: A): Boolean = {
+ null != findEntryImpl(elem)
+ }
+
+ private def findEntryImpl(elem: A): AnyRef = {
var h = index(elemHashCode(elem))
var entry = table(h)
while (null != entry && entry != elem) {
h = (h + 1) % table.length
entry = table(h)
}
- null != entry
+ entry
}
/** Add entry if not yet in table.