diff options
author | Tiark Rompf <tiark.rompf@epfl.ch> | 2009-10-14 18:54:19 +0000 |
---|---|---|
committer | Tiark Rompf <tiark.rompf@epfl.ch> | 2009-10-14 18:54:19 +0000 |
commit | 1363244de1afceaea4fea7d66093bf770e00c225 (patch) | |
tree | f4de3708eefea72fd953d6f31eed907959519462 /src/library | |
parent | 7e05907065b90c4e2a8b28fb6f246f15ab6294fd (diff) | |
download | scala-1363244de1afceaea4fea7d66093bf770e00c225.tar.gz scala-1363244de1afceaea4fea7d66093bf770e00c225.tar.bz2 scala-1363244de1afceaea4fea7d66093bf770e00c225.zip |
scala.collection.Vector defaults to immutable
Diffstat (limited to 'src/library')
-rw-r--r-- | src/library/scala/collection/Vector.scala | 7 | ||||
-rw-r--r-- | src/library/scala/collection/immutable/Vector.scala | 14 |
2 files changed, 10 insertions, 11 deletions
diff --git a/src/library/scala/collection/Vector.scala b/src/library/scala/collection/Vector.scala index 78228b6650..3b616c887b 100644 --- a/src/library/scala/collection/Vector.scala +++ b/src/library/scala/collection/Vector.scala @@ -6,13 +6,13 @@ ** |/ ** \* */ -// $Id$ +// $Id: Vector.scala 19035 2009-10-10 22:54:28Z rompf $ package scala.collection import generic._ -import mutable.{Builder, ArrayBuffer} +import scala.collection.mutable.Builder /** <p> * Sequences that support O(1) element access and O(1) length computation. @@ -34,8 +34,9 @@ trait Vector[+A] extends Seq[A] } object Vector extends SeqFactory[Vector] { + override def empty[A]: Vector[A] = immutable.Vector.empty[A] implicit def builderFactory[A]: BuilderFactory[A, Vector[A], Coll] = new VirtualBuilderFactory[A] - def newBuilder[A]: Builder[A, Vector[A]] = mutable.Vector.newBuilder[A] + def newBuilder[A]: Builder[A, Vector[A]] = immutable.Vector.newBuilder[A] @deprecated("use collection.mutable.Vector instead") type Mutable[A] = scala.collection.mutable.Vector[A] } diff --git a/src/library/scala/collection/immutable/Vector.scala b/src/library/scala/collection/immutable/Vector.scala index 21e032f255..30d766ee01 100644 --- a/src/library/scala/collection/immutable/Vector.scala +++ b/src/library/scala/collection/immutable/Vector.scala @@ -6,7 +6,7 @@ ** |/ ** \* */ -// $Id$ +// $Id: Vector.scala 19072 2009-10-13 12:19:59Z rompf $ // Questions: how to name update, appendFront, appendBack? @@ -17,7 +17,6 @@ package scala.collection package immutable import scala.annotation.unchecked.uncheckedVariance -import compat.Platform.arraycopy import scala.collection.generic._ import scala.collection.mutable.Builder @@ -40,8 +39,8 @@ trait Vector[+A] extends Seq[A] object Vector extends SeqFactory[Vector] { implicit def builderFactory[A]: BuilderFactory[A, Vector[A], Coll] = new VirtualBuilderFactory[A] - def newBuilder[A]: Builder[A, Vector[A]] = - NewVector.newBuilder[A] + override def empty[A]: Vector[A] = NewVector.empty[A] + def newBuilder[A]: Builder[A, Vector[A]] = NewVector.newBuilder[A] } @@ -59,8 +58,7 @@ trait NewVector[+A] extends Vector[A] object NewVector extends SeqFactory[NewVector] { implicit def builderFactory[A]: BuilderFactory[A, NewVector[A], Coll] = new VirtualBuilderFactory[A] - def newBuilder[A]: Builder[A, NewVector[A]] = - new NewVectorBuilder[A] + def newBuilder[A]: Builder[A, NewVector[A]] = new NewVectorBuilder[A] // TODO: override object empty { } } @@ -150,7 +148,7 @@ class NewVectorImpl[+A](startIndex: Int, endIndex: Int, focus: Int) extends NewV private def copyRange(array: Array[AnyRef], oldLeft: Int, newLeft: Int) = { val elems = new Array[AnyRef](32) - arraycopy(array, oldLeft, elems, newLeft, 32 - Math.max(newLeft,oldLeft)) + System.arraycopy(array, oldLeft, elems, newLeft, 32 - Math.max(newLeft,oldLeft)) elems } @@ -745,7 +743,7 @@ trait NewVectorPointer[T] { final def copyOf(a: Array[AnyRef]) = { // //println("copy") val b = new Array[AnyRef](a.length) - arraycopy(a, 0, b, 0, a.length) + System.arraycopy(a, 0, b, 0, a.length) b } |