summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Rozendaal <erik@deler.org>2011-12-19 23:10:32 +0100
committerErik Rozendaal <erik@deler.org>2011-12-28 13:12:35 +0100
commit6c0e0362be6c37ed4531d8cfca15c6e516d5f0f8 (patch)
tree6faeb45db90067f37e9aab431f5d53ec08686b55
parent418adc642cbde26c09fe8ee24e019d89f6b123f9 (diff)
downloadscala-6c0e0362be6c37ed4531d8cfca15c6e516d5f0f8.tar.gz
scala-6c0e0362be6c37ed4531d8cfca15c6e516d5f0f8.tar.bz2
scala-6c0e0362be6c37ed4531d8cfca15c6e516d5f0f8.zip
Changed abstract class RedBlack to singleton object.
-rw-r--r--src/library/scala/collection/immutable/RedBlack.scala2
-rw-r--r--src/library/scala/collection/immutable/TreeMap.scala11
-rw-r--r--src/library/scala/collection/immutable/TreeSet.scala10
3 files changed, 13 insertions, 10 deletions
diff --git a/src/library/scala/collection/immutable/RedBlack.scala b/src/library/scala/collection/immutable/RedBlack.scala
index 3fbe9a3407..4069c86c57 100644
--- a/src/library/scala/collection/immutable/RedBlack.scala
+++ b/src/library/scala/collection/immutable/RedBlack.scala
@@ -16,7 +16,7 @@ package immutable
* @since 2.3
*/
@SerialVersionUID(8691885935445612921L)
-abstract class RedBlack extends Serializable {
+object RedBlack extends Serializable {
private def blacken[A, B](t: Tree[A, B]): Tree[A, B] = t match {
case RedTree(k, v, l, r) => BlackTree(k, v, l, r)
diff --git a/src/library/scala/collection/immutable/TreeMap.scala b/src/library/scala/collection/immutable/TreeMap.scala
index 3dfda05e17..a13e78086b 100644
--- a/src/library/scala/collection/immutable/TreeMap.scala
+++ b/src/library/scala/collection/immutable/TreeMap.scala
@@ -23,7 +23,7 @@ object TreeMap extends ImmutableSortedMapFactory[TreeMap] {
def empty[A, B](implicit ord: Ordering[A]) = new TreeMap[A, B]()(ord)
/** $sortedMapCanBuildFromInfo */
implicit def canBuildFrom[A, B](implicit ord: Ordering[A]): CanBuildFrom[Coll, (A, B), TreeMap[A, B]] = new SortedMapCanBuildFrom[A, B]
- private def make[A, B](s: Int, t: RedBlack#Tree[A, B])(implicit ord: Ordering[A]) = new TreeMap[A, B](s, t)(ord)
+ private def make[A, B](s: Int, t: RedBlack.Tree[A, B])(implicit ord: Ordering[A]) = new TreeMap[A, B](s, t)(ord)
}
/** This class implements immutable maps using a tree.
@@ -46,13 +46,14 @@ object TreeMap extends ImmutableSortedMapFactory[TreeMap] {
* @define mayNotTerminateInf
* @define willNotTerminateInf
*/
-class TreeMap[A, +B](override val size: Int, t: RedBlack#Tree[A, B])(implicit val ordering: Ordering[A])
- extends RedBlack
- with SortedMap[A, B]
+class TreeMap[A, +B](override val size: Int, t: RedBlack.Tree[A, B])(implicit val ordering: Ordering[A])
+ extends SortedMap[A, B]
with SortedMapLike[A, B, TreeMap[A, B]]
with MapLike[A, B, TreeMap[A, B]]
with Serializable {
+ import RedBlack._
+
def isSmaller(x: A, y: A) = ordering.lt(x, y)
override protected[this] def newBuilder : Builder[(A, B), TreeMap[A, B]] =
@@ -60,7 +61,7 @@ class TreeMap[A, +B](override val size: Int, t: RedBlack#Tree[A, B])(implicit va
def this()(implicit ordering: Ordering[A]) = this(0, null)(ordering)
- protected val tree: RedBlack#Tree[A, B] = if (size == 0) Empty() else t
+ protected val tree: RedBlack.Tree[A, B] = if (size == 0) Empty() else t
override def rangeImpl(from : Option[A], until : Option[A]): TreeMap[A,B] = {
val ntree = tree.range(from,until)
diff --git a/src/library/scala/collection/immutable/TreeSet.scala b/src/library/scala/collection/immutable/TreeSet.scala
index 47a28f88df..8462ae5af3 100644
--- a/src/library/scala/collection/immutable/TreeSet.scala
+++ b/src/library/scala/collection/immutable/TreeSet.scala
@@ -47,9 +47,11 @@ object TreeSet extends ImmutableSortedSetFactory[TreeSet] {
* @define willNotTerminateInf
*/
@SerialVersionUID(-234066569443569402L)
-class TreeSet[A](override val size: Int, t: RedBlack#Tree[A, Unit])
+class TreeSet[A](override val size: Int, t: RedBlack.Tree[A, Unit])
(implicit val ordering: Ordering[A])
- extends RedBlack with SortedSet[A] with SortedSetLike[A, TreeSet[A]] with Serializable {
+ extends SortedSet[A] with SortedSetLike[A, TreeSet[A]] with Serializable {
+
+ import RedBlack._
override def stringPrefix = "TreeSet"
@@ -101,9 +103,9 @@ class TreeSet[A](override val size: Int, t: RedBlack#Tree[A, Unit])
def this()(implicit ordering: Ordering[A]) = this(0, null)(ordering)
- protected val tree: RedBlack#Tree[A, Unit] = if (size == 0) Empty() else t
+ protected val tree: RedBlack.Tree[A, Unit] = if (size == 0) Empty() else t
- private def newSet(s: Int, t: RedBlack#Tree[A, Unit]) = new TreeSet[A](s, t)
+ private def newSet(s: Int, t: RedBlack.Tree[A, Unit]) = new TreeSet[A](s, t)
/** A factory to create empty sets of the same type of keys.
*/