summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/immutable
diff options
context:
space:
mode:
Diffstat (limited to 'src/library/scala/collection/immutable')
-rw-r--r--src/library/scala/collection/immutable/BitSet.scala5
-rw-r--r--src/library/scala/collection/immutable/HashMap.scala6
-rw-r--r--src/library/scala/collection/immutable/HashSet.scala5
-rw-r--r--src/library/scala/collection/immutable/IndexedSeq.scala3
-rw-r--r--src/library/scala/collection/immutable/ListMap.scala8
-rw-r--r--src/library/scala/collection/immutable/ListSet.scala7
-rw-r--r--src/library/scala/collection/immutable/Map.scala19
-rw-r--r--src/library/scala/collection/immutable/NumericRange.scala3
-rw-r--r--src/library/scala/collection/immutable/Queue.scala4
-rw-r--r--src/library/scala/collection/immutable/Range.scala3
-rw-r--r--src/library/scala/collection/immutable/RedBlack.scala13
-rw-r--r--src/library/scala/collection/immutable/Set.scala23
-rw-r--r--src/library/scala/collection/immutable/Stack.scala5
-rw-r--r--src/library/scala/collection/immutable/Stream.scala4
-rw-r--r--src/library/scala/collection/immutable/TreeMap.scala4
-rw-r--r--src/library/scala/collection/immutable/TreeSet.scala4
-rw-r--r--src/library/scala/collection/immutable/Vector.scala4
17 files changed, 55 insertions, 65 deletions
diff --git a/src/library/scala/collection/immutable/BitSet.scala b/src/library/scala/collection/immutable/BitSet.scala
index e7fd5c7f0f..fe3edbe88b 100644
--- a/src/library/scala/collection/immutable/BitSet.scala
+++ b/src/library/scala/collection/immutable/BitSet.scala
@@ -20,10 +20,11 @@ import mutable.{ Builder, AddingBuilder }
* @define Coll immutable.BitSet
* @define coll immutable bitset
*/
-@serializable @SerialVersionUID(1611436763290191562L)
+@SerialVersionUID(1611436763290191562L)
abstract class BitSet extends Set[Int]
with scala.collection.BitSet
- with BitSetLike[BitSet] {
+ with BitSetLike[BitSet]
+ with Serializable {
override def empty = BitSet.empty
def fromArray(elems: Array[Long]): BitSet = BitSet.fromArray(elems)
diff --git a/src/library/scala/collection/immutable/HashMap.scala b/src/library/scala/collection/immutable/HashMap.scala
index 977dd6d837..448210a330 100644
--- a/src/library/scala/collection/immutable/HashMap.scala
+++ b/src/library/scala/collection/immutable/HashMap.scala
@@ -35,8 +35,8 @@ import parallel.immutable.ParHashMap
* @define mayNotTerminateInf
* @define willNotTerminateInf
*/
-@serializable @SerialVersionUID(2L)
-class HashMap[A, +B] extends Map[A,B] with MapLike[A, B, HashMap[A, B]] with Parallelizable[ParHashMap[A, B]] {
+@SerialVersionUID(2L)
+class HashMap[A, +B] extends Map[A,B] with MapLike[A, B, HashMap[A, B]] with Parallelizable[ParHashMap[A, B]] with Serializable {
override def size: Int = 0
@@ -620,7 +620,7 @@ time { mNew.iterator.foreach( p => ()) }
} else true
}
- @serializable @SerialVersionUID(2L) private class SerializationProxy[A,B](@transient private var orig: HashMap[A, B]) {
+ @SerialVersionUID(2L) private class SerializationProxy[A,B](@transient private var orig: HashMap[A, B]) extends Serializable {
private def writeObject(out: java.io.ObjectOutputStream) {
val s = orig.size
out.writeInt(s)
diff --git a/src/library/scala/collection/immutable/HashSet.scala b/src/library/scala/collection/immutable/HashSet.scala
index e75c230eb8..1fe790145d 100644
--- a/src/library/scala/collection/immutable/HashSet.scala
+++ b/src/library/scala/collection/immutable/HashSet.scala
@@ -30,11 +30,12 @@ import collection.parallel.immutable.ParHashSet
* @define Coll immutable.HashSet
* @define coll immutable hash set
*/
-@serializable @SerialVersionUID(2L)
+@SerialVersionUID(2L)
class HashSet[A] extends Set[A]
with GenericSetTemplate[A, HashSet]
with SetLike[A, HashSet[A]]
with Parallelizable[ParHashSet[A]]
+ with Serializable
{
override def companion: GenericCompanion[HashSet] = HashSet
@@ -412,7 +413,7 @@ time { mNew.iterator.foreach( p => ()) }
}
}
- @serializable @SerialVersionUID(2L) private class SerializationProxy[A,B](@transient private var orig: HashSet[A]) {
+ @SerialVersionUID(2L) private class SerializationProxy[A,B](@transient private var orig: HashSet[A]) extends Serializable {
private def writeObject(out: java.io.ObjectOutputStream) {
val s = orig.size
out.writeInt(s)
diff --git a/src/library/scala/collection/immutable/IndexedSeq.scala b/src/library/scala/collection/immutable/IndexedSeq.scala
index ba432517ff..f47f344a16 100644
--- a/src/library/scala/collection/immutable/IndexedSeq.scala
+++ b/src/library/scala/collection/immutable/IndexedSeq.scala
@@ -31,8 +31,7 @@ trait IndexedSeq[+A] extends Seq[A]
* @define Coll IndexedSeq
*/
object IndexedSeq extends SeqFactory[IndexedSeq] {
- @serializable
- class Impl[A](buf: ArrayBuffer[A]) extends IndexedSeq[A] {
+ class Impl[A](buf: ArrayBuffer[A]) extends IndexedSeq[A] with Serializable {
def length = buf.length
def apply(idx: Int) = buf.apply(idx)
}
diff --git a/src/library/scala/collection/immutable/ListMap.scala b/src/library/scala/collection/immutable/ListMap.scala
index 53c99216c2..5fced699f3 100644
--- a/src/library/scala/collection/immutable/ListMap.scala
+++ b/src/library/scala/collection/immutable/ListMap.scala
@@ -42,8 +42,8 @@ object ListMap extends ImmutableMapFactory[ListMap] {
* @define mayNotTerminateInf
* @define willNotTerminateInf
*/
-@serializable @SerialVersionUID(301002838095710379L)
-class ListMap[A, +B] extends Map[A, B] with MapLike[A, B, ListMap[A, B]] {
+@SerialVersionUID(301002838095710379L)
+class ListMap[A, +B] extends Map[A, B] with MapLike[A, B, ListMap[A, B]] with Serializable {
override def empty = ListMap.empty
@@ -123,9 +123,9 @@ class ListMap[A, +B] extends Map[A, B] with MapLike[A, B, ListMap[A, B]] {
/** This class represents an entry in the `ListMap`.
*/
- @serializable @SerialVersionUID(-6453056603889598734L)
+ @SerialVersionUID(-6453056603889598734L)
protected class Node[B1 >: B](override protected val key: A,
- override protected val value: B1) extends ListMap[A, B1] {
+ override protected val value: B1) extends ListMap[A, B1] with Serializable {
/** Returns the number of mappings in this map.
*
* @return number of mappings.
diff --git a/src/library/scala/collection/immutable/ListSet.scala b/src/library/scala/collection/immutable/ListSet.scala
index cea4d20595..8547ba195b 100644
--- a/src/library/scala/collection/immutable/ListSet.scala
+++ b/src/library/scala/collection/immutable/ListSet.scala
@@ -63,10 +63,10 @@ object ListSet extends ImmutableSetFactory[ListSet] {
* @define mayNotTerminateInf
* @define willNotTerminateInf
*/
-@serializable
class ListSet[A] extends Set[A]
with GenericSetTemplate[A, ListSet]
- with SetLike[A, ListSet[A]] { self =>
+ with SetLike[A, ListSet[A]]
+ with Serializable{ self =>
override def companion: GenericCompanion[ListSet] = ListSet
/** Returns the number of elements in this set.
@@ -136,8 +136,7 @@ class ListSet[A] extends Set[A]
/** Represents an entry in the `ListSet`.
*/
- @serializable
- protected class Node(override protected val elem: A) extends ListSet[A] {
+ protected class Node(override protected val elem: A) extends ListSet[A] with Serializable {
override private[ListSet] def unchecked_outer = self
/** Returns the number of elements in this set.
diff --git a/src/library/scala/collection/immutable/Map.scala b/src/library/scala/collection/immutable/Map.scala
index 272caec5ea..5a6b1be3d5 100644
--- a/src/library/scala/collection/immutable/Map.scala
+++ b/src/library/scala/collection/immutable/Map.scala
@@ -66,8 +66,7 @@ object Map extends ImmutableMapFactory[Map] {
override def withDefaultValue[B1 >: B](d: B1): immutable.Map[A, B1] = new WithDefault[A, B1](underlying, x => d)
}
- @serializable
- private object EmptyMap extends Map[Any, Nothing] {
+ private object EmptyMap extends Map[Any, Nothing] with Serializable {
override def size: Int = 0
def get(key: Any): Option[Nothing] = None
def iterator: Iterator[(Any, Nothing)] = Iterator.empty
@@ -76,8 +75,8 @@ object Map extends ImmutableMapFactory[Map] {
def - (key: Any): Map[Any, Nothing] = this
}
- @serializable @deprecated("use `Map.empty' instead")
- class EmptyMap[A,B] extends Map[A,B] {
+ @deprecated("use `Map.empty' instead")
+ class EmptyMap[A,B] extends Map[A,B] with Serializable {
override def size: Int = 0
def get(key: A): Option[B] = None
def iterator: Iterator[(A, B)] = Iterator.empty
@@ -86,8 +85,7 @@ object Map extends ImmutableMapFactory[Map] {
def - (key: A): Map[A, B] = this
}
- @serializable
- class Map1[A, +B](key1: A, value1: B) extends Map[A, B] {
+ class Map1[A, +B](key1: A, value1: B) extends Map[A, B] with Serializable {
override def size = 1
def get(key: A): Option[B] =
if (key == key1) Some(value1) else None
@@ -103,8 +101,7 @@ object Map extends ImmutableMapFactory[Map] {
}
}
- @serializable
- class Map2[A, +B](key1: A, value1: B, key2: A, value2: B) extends Map[A, B] {
+ class Map2[A, +B](key1: A, value1: B, key2: A, value2: B) extends Map[A, B] with Serializable {
override def size = 2
def get(key: A): Option[B] =
if (key == key1) Some(value1)
@@ -125,8 +122,7 @@ object Map extends ImmutableMapFactory[Map] {
}
}
- @serializable
- class Map3[A, +B](key1: A, value1: B, key2: A, value2: B, key3: A, value3: B) extends Map[A, B] {
+ class Map3[A, +B](key1: A, value1: B, key2: A, value2: B, key3: A, value3: B) extends Map[A, B] with Serializable {
override def size = 3
def get(key: A): Option[B] =
if (key == key1) Some(value1)
@@ -150,8 +146,7 @@ object Map extends ImmutableMapFactory[Map] {
}
}
- @serializable
- class Map4[A, +B](key1: A, value1: B, key2: A, value2: B, key3: A, value3: B, key4: A, value4: B) extends Map[A, B] {
+ class Map4[A, +B](key1: A, value1: B, key2: A, value2: B, key3: A, value3: B, key4: A, value4: B) extends Map[A, B] with Serializable {
override def size = 4
def get(key: A): Option[B] =
if (key == key1) Some(value1)
diff --git a/src/library/scala/collection/immutable/NumericRange.scala b/src/library/scala/collection/immutable/NumericRange.scala
index 529a1b22c5..e40ef1cba7 100644
--- a/src/library/scala/collection/immutable/NumericRange.scala
+++ b/src/library/scala/collection/immutable/NumericRange.scala
@@ -39,11 +39,10 @@ import generic._
* @define mayNotTerminateInf
* @define willNotTerminateInf
*/
-@serializable
abstract class NumericRange[T]
(val start: T, val end: T, val step: T, val isInclusive: Boolean)
(implicit num: Integral[T])
-extends IndexedSeq[T] {
+extends IndexedSeq[T] with Serializable {
/** Note that NumericRange must be invariant so that constructs
* such as "1L to 10 by 5" do not infer the range type as AnyVal.
*/
diff --git a/src/library/scala/collection/immutable/Queue.scala b/src/library/scala/collection/immutable/Queue.scala
index f5cfd83643..bd2f27e57e 100644
--- a/src/library/scala/collection/immutable/Queue.scala
+++ b/src/library/scala/collection/immutable/Queue.scala
@@ -26,12 +26,12 @@ import annotation.tailrec
* @define mayNotTerminateInf
* @define willNotTerminateInf
*/
-@serializable
@SerialVersionUID(-7622936493364270175L)
class Queue[+A] protected(protected val in: List[A], protected val out: List[A])
extends LinearSeq[A]
with GenericTraversableTemplate[A, Queue]
- with LinearSeqLike[A, Queue[A]] {
+ with LinearSeqLike[A, Queue[A]]
+ with Serializable {
override def companion: GenericCompanion[Queue] = Queue
diff --git a/src/library/scala/collection/immutable/Range.scala b/src/library/scala/collection/immutable/Range.scala
index 26e32e08fb..1ebf6e283c 100644
--- a/src/library/scala/collection/immutable/Range.scala
+++ b/src/library/scala/collection/immutable/Range.scala
@@ -38,10 +38,11 @@ import scala.collection.parallel.immutable.ParRange
* '''Note:''' this method does not use builders to construct a new range,
* and its complexity is O(1).
*/
-@serializable @SerialVersionUID(7618862778670199309L)
+@SerialVersionUID(7618862778670199309L)
class Range(val start: Int, val end: Int, val step: Int)
extends IndexedSeq[Int]
with collection.Parallelizable[ParRange]
+ with Serializable
{
def par = ParRange(start, end, step, false)
diff --git a/src/library/scala/collection/immutable/RedBlack.scala b/src/library/scala/collection/immutable/RedBlack.scala
index ae72c3ae69..d8c16f5ac1 100644
--- a/src/library/scala/collection/immutable/RedBlack.scala
+++ b/src/library/scala/collection/immutable/RedBlack.scala
@@ -15,8 +15,8 @@ package immutable
*
* @since 2.3
*/
-@serializable @SerialVersionUID(8691885935445612921L)
-abstract class RedBlack[A] {
+@SerialVersionUID(8691885935445612921L)
+abstract class RedBlack[A] extends Serializable {
def isSmaller(x: A, y: A): Boolean
@@ -27,8 +27,7 @@ abstract class RedBlack[A] {
private def mkTree[B](isBlack: Boolean, k: A, v: B, l: Tree[B], r: Tree[B]) =
if (isBlack) BlackTree(k, v, l, r) else RedTree(k, v, l, r)
- @serializable
- abstract class Tree[+B] {
+ abstract class Tree[+B] extends Serializable {
def isEmpty: Boolean
def isBlack: Boolean
def lookup(x: A): Tree[B]
@@ -49,8 +48,7 @@ abstract class RedBlack[A] {
def last : A
def count : Int
}
- @serializable
- abstract class NonEmpty[+B] extends Tree[B] {
+ abstract class NonEmpty[+B] extends Tree[B] with Serializable {
def isEmpty = false
def key: A
def value: B
@@ -270,7 +268,6 @@ abstract class RedBlack[A] {
def last = if (right.isEmpty) key else right.last
def count = 1 + left.count + right.count
}
- @serializable
case object Empty extends Tree[Nothing] {
def isEmpty = true
def isBlack = true
@@ -291,14 +288,12 @@ abstract class RedBlack[A] {
def last = throw new NoSuchElementException("empty map")
def count = 0
}
- @serializable
case class RedTree[+B](override val key: A,
override val value: B,
override val left: Tree[B],
override val right: Tree[B]) extends NonEmpty[B] {
def isBlack = false
}
- @serializable
case class BlackTree[+B](override val key: A,
override val value: B,
override val left: Tree[B],
diff --git a/src/library/scala/collection/immutable/Set.scala b/src/library/scala/collection/immutable/Set.scala
index 30f0d86139..ffd41752a4 100644
--- a/src/library/scala/collection/immutable/Set.scala
+++ b/src/library/scala/collection/immutable/Set.scala
@@ -43,8 +43,7 @@ object Set extends ImmutableSetFactory[Set] {
private val hashSeed = "Set".hashCode
/** An optimized representation for immutable empty sets */
- @serializable
- private object EmptySet extends Set[Any] {
+ private object EmptySet extends Set[Any] with Serializable {
override def size: Int = 0
def contains(elem: Any): Boolean = false
def + (elem: Any): Set[Any] = new Set1(elem)
@@ -53,8 +52,8 @@ object Set extends ImmutableSetFactory[Set] {
override def foreach[U](f: Any => U): Unit = {}
}
- @serializable @deprecated("use `Set.empty' instead")
- class EmptySet[A] extends Set[A] {
+ @deprecated("use `Set.empty' instead")
+ class EmptySet[A] extends Set[A] with Serializable {
override def size: Int = 0
def contains(elem: A): Boolean = false
def + (elem: A): Set[A] = new Set1(elem)
@@ -64,8 +63,8 @@ object Set extends ImmutableSetFactory[Set] {
}
/** An optimized representation for immutable sets of size 1 */
- @serializable @SerialVersionUID(1233385750652442003L)
- class Set1[A](elem1: A) extends Set[A] {
+ @SerialVersionUID(1233385750652442003L)
+ class Set1[A](elem1: A) extends Set[A] with Serializable {
override def size: Int = 1
def contains(elem: A): Boolean =
elem == elem1
@@ -83,8 +82,8 @@ object Set extends ImmutableSetFactory[Set] {
}
/** An optimized representation for immutable sets of size 2 */
- @serializable @SerialVersionUID(-6443011234944830092L)
- class Set2[A](elem1: A, elem2: A) extends Set[A] {
+ @SerialVersionUID(-6443011234944830092L)
+ class Set2[A](elem1: A, elem2: A) extends Set[A] with Serializable {
override def size: Int = 2
def contains(elem: A): Boolean =
elem == elem1 || elem == elem2
@@ -103,8 +102,8 @@ object Set extends ImmutableSetFactory[Set] {
}
/** An optimized representation for immutable sets of size 3 */
- @serializable @SerialVersionUID(-3590273538119220064L)
- class Set3[A](elem1: A, elem2: A, elem3: A) extends Set[A] {
+ @SerialVersionUID(-3590273538119220064L)
+ class Set3[A](elem1: A, elem2: A, elem3: A) extends Set[A] with Serializable {
override def size: Int = 3
def contains(elem: A): Boolean =
elem == elem1 || elem == elem2 || elem == elem3
@@ -124,8 +123,8 @@ object Set extends ImmutableSetFactory[Set] {
}
/** An optimized representation for immutable sets of size 4 */
- @serializable @SerialVersionUID(-3622399588156184395L)
- class Set4[A](elem1: A, elem2: A, elem3: A, elem4: A) extends Set[A] {
+ @SerialVersionUID(-3622399588156184395L)
+ class Set4[A](elem1: A, elem2: A, elem3: A, elem4: A) extends Set[A] with Serializable {
override def size: Int = 4
def contains(elem: A): Boolean =
elem == elem1 || elem == elem2 || elem == elem3 || elem == elem4
diff --git a/src/library/scala/collection/immutable/Stack.scala b/src/library/scala/collection/immutable/Stack.scala
index 58a37a8136..b9c45a1f32 100644
--- a/src/library/scala/collection/immutable/Stack.scala
+++ b/src/library/scala/collection/immutable/Stack.scala
@@ -46,11 +46,12 @@ object Stack extends SeqFactory[Stack] {
* @define mayNotTerminateInf
* @define willNotTerminateInf
*/
-@serializable @SerialVersionUID(1976480595012942526L)
+@SerialVersionUID(1976480595012942526L)
class Stack[+A] protected (protected val elems: List[A])
extends LinearSeq[A]
with GenericTraversableTemplate[A, Stack]
- with LinearSeqOptimized[A, Stack[A]] {
+ with LinearSeqOptimized[A, Stack[A]]
+ with Serializable {
override def companion: GenericCompanion[Stack] = Stack
def this() = this(Nil)
diff --git a/src/library/scala/collection/immutable/Stream.scala b/src/library/scala/collection/immutable/Stream.scala
index 0b1453369c..04fe6225b4 100644
--- a/src/library/scala/collection/immutable/Stream.scala
+++ b/src/library/scala/collection/immutable/Stream.scala
@@ -610,8 +610,8 @@ object Stream extends SeqFactory[Stream] {
}
/** A lazy cons cell, from which streams are built. */
- @serializable @SerialVersionUID(-602202424901551803L)
- final class Cons[+A](hd: A, tl: => Stream[A]) extends Stream[A] {
+ @SerialVersionUID(-602202424901551803L)
+ final class Cons[+A](hd: A, tl: => Stream[A]) extends Stream[A] with Serializable {
override def isEmpty = false
override def head = hd
@volatile private[this] var tlVal: Stream[A] = _
diff --git a/src/library/scala/collection/immutable/TreeMap.scala b/src/library/scala/collection/immutable/TreeMap.scala
index 07212f8f5c..d54c31dec8 100644
--- a/src/library/scala/collection/immutable/TreeMap.scala
+++ b/src/library/scala/collection/immutable/TreeMap.scala
@@ -42,12 +42,12 @@ object TreeMap extends ImmutableSortedMapFactory[TreeMap] {
* @define mayNotTerminateInf
* @define willNotTerminateInf
*/
-@serializable
class TreeMap[A, +B](override val size: Int, t: RedBlack[A]#Tree[B])(implicit val ordering: Ordering[A])
extends RedBlack[A]
with SortedMap[A, B]
with SortedMapLike[A, B, TreeMap[A, B]]
- with MapLike[A, B, TreeMap[A, B]] {
+ with MapLike[A, B, TreeMap[A, B]]
+ with Serializable {
def isSmaller(x: A, y: A) = ordering.lt(x, y)
diff --git a/src/library/scala/collection/immutable/TreeSet.scala b/src/library/scala/collection/immutable/TreeSet.scala
index 9eee10f165..d769aee84d 100644
--- a/src/library/scala/collection/immutable/TreeSet.scala
+++ b/src/library/scala/collection/immutable/TreeSet.scala
@@ -43,10 +43,10 @@ object TreeSet extends ImmutableSortedSetFactory[TreeSet] {
* @define mayNotTerminateInf
* @define willNotTerminateInf
*/
-@serializable @SerialVersionUID(-234066569443569402L)
+@SerialVersionUID(-234066569443569402L)
class TreeSet[A](override val size: Int, t: RedBlack[A]#Tree[Unit])
(implicit val ordering: Ordering[A])
- extends RedBlack[A] with SortedSet[A] with SortedSetLike[A, TreeSet[A]] {
+ extends RedBlack[A] with SortedSet[A] with SortedSetLike[A, TreeSet[A]] with Serializable {
override def stringPrefix = "TreeSet"
diff --git a/src/library/scala/collection/immutable/Vector.scala b/src/library/scala/collection/immutable/Vector.scala
index 3f1aa8c1b5..aeb3b82147 100644
--- a/src/library/scala/collection/immutable/Vector.scala
+++ b/src/library/scala/collection/immutable/Vector.scala
@@ -32,11 +32,11 @@ object Vector extends SeqFactory[Vector] {
// in principle, most members should be private. however, access privileges must
// be carefully chosen to not prevent method inlining
-@serializable
final class Vector[+A](startIndex: Int, endIndex: Int, focus: Int) extends IndexedSeq[A]
with GenericTraversableTemplate[A, Vector]
with IndexedSeqLike[A, Vector[A]]
- with VectorPointer[A @uncheckedVariance] { self =>
+ with VectorPointer[A @uncheckedVariance]
+ with Serializable { self =>
override def companion: GenericCompanion[Vector] = Vector