summaryrefslogtreecommitdiff
path: root/src/library/scala/collection
diff options
context:
space:
mode:
Diffstat (limited to 'src/library/scala/collection')
-rw-r--r--src/library/scala/collection/TraversableLike.scala2
-rw-r--r--src/library/scala/collection/generic/GenericTraversableTemplate.scala2
-rw-r--r--src/library/scala/collection/mutable/FlatHashTable.scala6
-rw-r--r--src/library/scala/collection/mutable/HashMap.scala4
-rw-r--r--src/library/scala/collection/mutable/HashSet.scala4
-rw-r--r--src/library/scala/collection/mutable/HashTable.scala6
-rw-r--r--src/library/scala/collection/mutable/LinkedHashMap.scala4
-rw-r--r--src/library/scala/collection/mutable/LinkedHashSet.scala4
8 files changed, 12 insertions, 20 deletions
diff --git a/src/library/scala/collection/TraversableLike.scala b/src/library/scala/collection/TraversableLike.scala
index 57f9840804..4fdaa6fee2 100644
--- a/src/library/scala/collection/TraversableLike.scala
+++ b/src/library/scala/collection/TraversableLike.scala
@@ -63,7 +63,7 @@ import annotation.experimental
* @version 2.8
* @since 2.8
*/
-trait TraversableLike[+A, +Repr] {
+trait TraversableLike[+A, +Repr] extends HasNewBuilder[A, Repr] {
self =>
import Traversable.breaks._
diff --git a/src/library/scala/collection/generic/GenericTraversableTemplate.scala b/src/library/scala/collection/generic/GenericTraversableTemplate.scala
index 50a7aa3fe0..cf4f3abdd2 100644
--- a/src/library/scala/collection/generic/GenericTraversableTemplate.scala
+++ b/src/library/scala/collection/generic/GenericTraversableTemplate.scala
@@ -18,7 +18,7 @@ import annotation.unchecked.uncheckedVariance
/**
* @since 2.8
*/
-trait GenericTraversableTemplate[+A, +CC[X] <: Traversable[X]] {
+trait GenericTraversableTemplate[+A, +CC[X] <: Traversable[X]] extends HasNewBuilder[A, CC[A] @uncheckedVariance] {
def foreach[U](f: A => U): Unit
def head: A
diff --git a/src/library/scala/collection/mutable/FlatHashTable.scala b/src/library/scala/collection/mutable/FlatHashTable.scala
index 1861953eec..1d55933050 100644
--- a/src/library/scala/collection/mutable/FlatHashTable.scala
+++ b/src/library/scala/collection/mutable/FlatHashTable.scala
@@ -40,10 +40,6 @@ trait FlatHashTable[A] {
*/
protected var threshold: Int = newThreshold(initialSize)
- /** Returns the number of entires in this hash table.
- */
- def size: Int = tableSize
-
def findEntry(elem: A): Option[A] = {
var h = index(elemHashCode(elem))
var entry = table(h)
@@ -163,7 +159,7 @@ trait FlatHashTable[A] {
(size.toLong * lf / loadFactorDenum ).toInt
}
- protected def clear() {
+ protected def clearTable() {
var i = table.length - 1
while (i >= 0) { table(i) = null; i -= 1 }
tableSize = 0
diff --git a/src/library/scala/collection/mutable/HashMap.scala b/src/library/scala/collection/mutable/HashMap.scala
index 2591557c78..b2f259e4e9 100644
--- a/src/library/scala/collection/mutable/HashMap.scala
+++ b/src/library/scala/collection/mutable/HashMap.scala
@@ -23,8 +23,8 @@ class HashMap[A, B] extends Map[A, B]
with HashTable[A] {
override def empty: HashMap[A, B] = HashMap.empty[A, B]
- override def clear() = super.clear()
- override def size: Int = super[HashTable].size
+ override def clear() = clearTable()
+ override def size: Int = tableSize
type Entry = DefaultEntry[A, B]
diff --git a/src/library/scala/collection/mutable/HashSet.scala b/src/library/scala/collection/mutable/HashSet.scala
index 9f24a0b341..9144a4be88 100644
--- a/src/library/scala/collection/mutable/HashSet.scala
+++ b/src/library/scala/collection/mutable/HashSet.scala
@@ -28,7 +28,7 @@ class HashSet[A] extends Set[A]
with FlatHashTable[A] {
override def companion: GenericCompanion[HashSet] = HashSet
- override def size = super.size
+ override def size = tableSize
def contains(elem: A): Boolean = containsEntry(elem)
@@ -38,7 +38,7 @@ class HashSet[A] extends Set[A]
override def add(elem: A): Boolean = addEntry(elem)
override def remove(elem: A): Boolean = removeEntry(elem).isDefined
- override def clear() = super.clear()
+ override def clear() = clearTable()
override def foreach[U](f: A => U) {
var i = 0
diff --git a/src/library/scala/collection/mutable/HashTable.scala b/src/library/scala/collection/mutable/HashTable.scala
index 9d3a35376c..9dd8a7aeb0 100644
--- a/src/library/scala/collection/mutable/HashTable.scala
+++ b/src/library/scala/collection/mutable/HashTable.scala
@@ -75,10 +75,6 @@ trait HashTable[A] {
*/
protected var threshold: Int = initialThreshold
- /** Returns the size of this hash table.
- */
- def size = tableSize
-
/** Find entry with given key in table, null if not found
*/
protected def findEntry(key: A): Entry = {
@@ -154,7 +150,7 @@ trait HashTable[A] {
/** Remove all entries from table
*/
- def clear() {
+ protected def clearTable() {
var i = table.length - 1
while (i >= 0) { table(i) = null; i = i - 1 }
tableSize = 0
diff --git a/src/library/scala/collection/mutable/LinkedHashMap.scala b/src/library/scala/collection/mutable/LinkedHashMap.scala
index 5c17ef1cfb..b0cad79ef4 100644
--- a/src/library/scala/collection/mutable/LinkedHashMap.scala
+++ b/src/library/scala/collection/mutable/LinkedHashMap.scala
@@ -35,7 +35,7 @@ class LinkedHashMap[A, B] extends Map[A, B]
with HashTable[A] {
override def empty = LinkedHashMap.empty[A, B]
- override def size = super[HashTable].size
+ override def size = tableSize
type Entry = LinkedEntry[A, B]
@@ -112,7 +112,7 @@ class LinkedHashMap[A, B] extends Map[A, B]
}
override def clear() {
- super[HashTable].clear()
+ clearTable()
firstEntry = null
}
}
diff --git a/src/library/scala/collection/mutable/LinkedHashSet.scala b/src/library/scala/collection/mutable/LinkedHashSet.scala
index fd606badec..081b068723 100644
--- a/src/library/scala/collection/mutable/LinkedHashSet.scala
+++ b/src/library/scala/collection/mutable/LinkedHashSet.scala
@@ -27,7 +27,7 @@ class LinkedHashSet[A] extends Set[A]
protected val ordered = new ListBuffer[A]
- override def size = super.size
+ override def size = tableSize
def contains(elem: A): Boolean = containsEntry(elem)
@@ -46,7 +46,7 @@ class LinkedHashSet[A] extends Set[A]
override def clear() {
ordered.clear()
- super.clear()
+ clearTable()
}
override def iterator = ordered.iterator