summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2010-05-25 15:54:10 +0000
committerMartin Odersky <odersky@gmail.com>2010-05-25 15:54:10 +0000
commit885f76fd054d5e71202112bae75c313bbad269ab (patch)
treefe716c2d94ce7b54808c235668a3618b7e221296 /src
parent56313be050dca71a28f7696853dad13d4db90e6c (diff)
downloadscala-885f76fd054d5e71202112bae75c313bbad269ab.tar.gz
scala-885f76fd054d5e71202112bae75c313bbad269ab.tar.bz2
scala-885f76fd054d5e71202112bae75c313bbad269ab.zip
Applied Paul's patch which closes #3306.
Diffstat (limited to 'src')
-rw-r--r--src/library/scala/collection/TraversableOnce.scala8
-rw-r--r--src/library/scala/collection/TraversableProxyLike.scala3
-rw-r--r--src/library/scala/collection/generic/TraversableForwarder.scala3
-rw-r--r--src/library/scala/collection/interfaces/TraversableMethods.scala3
4 files changed, 13 insertions, 4 deletions
diff --git a/src/library/scala/collection/TraversableOnce.scala b/src/library/scala/collection/TraversableOnce.scala
index 54efa62ef3..3984264168 100644
--- a/src/library/scala/collection/TraversableOnce.scala
+++ b/src/library/scala/collection/TraversableOnce.scala
@@ -408,7 +408,13 @@ trait TraversableOnce[+A] {
* $willNotTerminateInf
* @return an indexed sequence containing all elements of this $coll.
*/
- def toIndexedSeq[B >: A]: mutable.IndexedSeq[B] = new ArrayBuffer[B] ++= self
+ def toIndexedSeq[B >: A]: immutable.IndexedSeq[B] = immutable.IndexedSeq() ++ self
+
+ /** Converts this $coll to a mutable buffer.
+ * $willNotTerminateInf
+ * @return a buffer containing all elements of this $coll.
+ */
+ def toBuffer[B >: A]: mutable.Buffer[B] = new ArrayBuffer[B] ++= self
/** Converts this $coll to a stream.
* $willNotTerminateInf
diff --git a/src/library/scala/collection/TraversableProxyLike.scala b/src/library/scala/collection/TraversableProxyLike.scala
index 5344a01e72..05c4c44f12 100644
--- a/src/library/scala/collection/TraversableProxyLike.scala
+++ b/src/library/scala/collection/TraversableProxyLike.scala
@@ -77,7 +77,8 @@ trait TraversableProxyLike[+A, +Repr <: TraversableLike[A, Repr] with Traversabl
override def toList: List[A] = self.toList
override def toIterable: Iterable[A] = self.toIterable
override def toSeq: Seq[A] = self.toSeq
- override def toIndexedSeq[B >: A]: mutable.IndexedSeq[B] = self.toIndexedSeq
+ override def toIndexedSeq[B >: A] = self.toIndexedSeq
+ override def toBuffer[B >: A] = self.toBuffer
override def toStream: Stream[A] = self.toStream
override def toSet[B >: A]: immutable.Set[B] = self.toSet
override def toMap[T, U](implicit ev: A <:< (T, U)): immutable.Map[T, U] = self.toMap(ev)
diff --git a/src/library/scala/collection/generic/TraversableForwarder.scala b/src/library/scala/collection/generic/TraversableForwarder.scala
index 8869e25f44..3995a5258b 100644
--- a/src/library/scala/collection/generic/TraversableForwarder.scala
+++ b/src/library/scala/collection/generic/TraversableForwarder.scala
@@ -74,7 +74,8 @@ trait TraversableForwarder[+A] extends Traversable[A] {
override def toList: List[A] = underlying.toList
override def toIterable: Iterable[A] = underlying.toIterable
override def toSeq: Seq[A] = underlying.toSeq
- override def toIndexedSeq[B >: A]: mutable.IndexedSeq[B] = underlying.toIndexedSeq
+ override def toIndexedSeq[B >: A] = underlying.toIndexedSeq
+ override def toBuffer[B >: A] = underlying.toBuffer
override def toStream: Stream[A] = underlying.toStream
override def toSet[B >: A]: immutable.Set[B] = underlying.toSet
override def toMap[T, U](implicit ev: A <:< (T, U)): immutable.Map[T, U] = underlying.toMap(ev)
diff --git a/src/library/scala/collection/interfaces/TraversableMethods.scala b/src/library/scala/collection/interfaces/TraversableMethods.scala
index 7ec878b3d3..d381b1dc24 100644
--- a/src/library/scala/collection/interfaces/TraversableMethods.scala
+++ b/src/library/scala/collection/interfaces/TraversableMethods.scala
@@ -41,7 +41,8 @@ trait TraversableMethods[+A, +This <: TraversableLike[A, This] with Traversable[
def toSeq: Seq[A]
def toSet[B >: A]: immutable.Set[B]
def toStream: Stream[A]
- def toIndexedSeq[B >: A]: mutable.IndexedSeq[B]
+ def toIndexedSeq[B >: A]: immutable.IndexedSeq[B]
+ def toBuffer[B >: A]: mutable.Buffer[B]
// strings
def addString(b: StringBuilder): StringBuilder