summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTiark Rompf <tiark.rompf@epfl.ch>2009-10-14 18:54:19 +0000
committerTiark Rompf <tiark.rompf@epfl.ch>2009-10-14 18:54:19 +0000
commit1363244de1afceaea4fea7d66093bf770e00c225 (patch)
treef4de3708eefea72fd953d6f31eed907959519462
parent7e05907065b90c4e2a8b28fb6f246f15ab6294fd (diff)
downloadscala-1363244de1afceaea4fea7d66093bf770e00c225.tar.gz
scala-1363244de1afceaea4fea7d66093bf770e00c225.tar.bz2
scala-1363244de1afceaea4fea7d66093bf770e00c225.zip
scala.collection.Vector defaults to immutable
-rw-r--r--src/library/scala/collection/Vector.scala7
-rw-r--r--src/library/scala/collection/immutable/Vector.scala14
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
}