diff options
author | Martin Odersky <odersky@gmail.com> | 2009-05-19 16:25:32 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2009-05-19 16:25:32 +0000 |
commit | b3ce4c4f7d2e2016d7b71bea2df7aa6dc75bc3d5 (patch) | |
tree | 6920117580b355522f14bc168de0463f8677a3aa /src/library | |
parent | 14fb2dfadd8ef9b433fed2599c1b32049d4c90e2 (diff) | |
download | scala-b3ce4c4f7d2e2016d7b71bea2df7aa6dc75bc3d5.tar.gz scala-b3ce4c4f7d2e2016d7b71bea2df7aa6dc75bc3d5.tar.bz2 scala-b3ce4c4f7d2e2016d7b71bea2df7aa6dc75bc3d5.zip |
small modifications to collections.
Diffstat (limited to 'src/library')
13 files changed, 14 insertions, 21 deletions
diff --git a/src/library/scala/collection/BufferedIterator.scala b/src/library/scala/collection/BufferedIterator.scala index f990cb8748..44dc6925ea 100644 --- a/src/library/scala/collection/BufferedIterator.scala +++ b/src/library/scala/collection/BufferedIterator.scala @@ -19,7 +19,7 @@ package scala.collection */ trait BufferedIterator[+A] extends Iterator[A] { - /** Returns current element of iterator without advancing beyond it. + /** Returns next element of iterator without advancing beyond it. */ def head: A diff --git a/src/library/scala/collection/JavaConversions.scala b/src/library/scala/collection/JavaConversions.scala index 3801fbb4cd..f97686c942 100644 --- a/src/library/scala/collection/JavaConversions.scala +++ b/src/library/scala/collection/JavaConversions.scala @@ -396,7 +396,7 @@ object JavaConversions { def +=(elem: A): this.type = { underlying.add(elem); this } def -=(elem: A): this.type = { underlying.remove(elem); this } - override def put(elem: A): Boolean = underlying.add(elem) + override def put(elem: A): Boolean = !underlying.add(elem) override def remove(elem: A): Boolean = underlying.remove(elem) override def clear = underlying.clear diff --git a/src/library/scala/collection/Traversable.scala b/src/library/scala/collection/Traversable.scala index cadd4c8c80..b180af1fda 100644 --- a/src/library/scala/collection/Traversable.scala +++ b/src/library/scala/collection/Traversable.scala @@ -97,7 +97,6 @@ object Traversable extends TraversableFactory[Traversable] { self => private[collection] val breaks: Breaks = new Breaks implicit def builderFactory[A]: BuilderFactory[A, Traversable[A], Coll] = new VirtualBuilderFactory[A] -// new BuilderFactory[A, Traversable[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] } def newBuilder[A]: Builder[A, Traversable[A]] = immutable.Traversable.newBuilder[A] diff --git a/src/library/scala/collection/generic/BufferTemplate.scala b/src/library/scala/collection/generic/BufferTemplate.scala index 7af9224297..62056c9f5a 100644 --- a/src/library/scala/collection/generic/BufferTemplate.scala +++ b/src/library/scala/collection/generic/BufferTemplate.scala @@ -114,13 +114,6 @@ trait BufferTemplate[A, +This <: BufferTemplate[A, This] with Buffer[A]] this } - /** Prepend two ore more elements to this buffer and return - * the identity of the buffer. - * @param elem the element to prepend. - */ - def +:(elem1: A, elem2: A, elems: A*): This = - (elem1 +: elem2 +: elems ++: thisCollection).asInstanceOf[This] // !!! does not work yet because conrete overrides abstract - /** Prepends a number of elements provided by an iterable object * via its <code>elements</code> method. The identity of the * buffer is returned.(thisCollection /: elems) (_ plus _) diff --git a/src/library/scala/collection/generic/Cloneable.scala b/src/library/scala/collection/generic/Cloneable.scala index bc26da9069..4c3cf13df5 100644 --- a/src/library/scala/collection/generic/Cloneable.scala +++ b/src/library/scala/collection/generic/Cloneable.scala @@ -15,5 +15,5 @@ package scala.collection.generic */ @cloneable trait Cloneable[+A <: AnyRef] { - override def clone(): A = super.clone().asInstanceOf[A] + override def clone: A = super.clone().asInstanceOf[A] } diff --git a/src/library/scala/collection/generic/MapTemplate.scala b/src/library/scala/collection/generic/MapTemplate.scala index a3260cc9b0..0af8543370 100644 --- a/src/library/scala/collection/generic/MapTemplate.scala +++ b/src/library/scala/collection/generic/MapTemplate.scala @@ -169,7 +169,8 @@ self => def get(key: A) = if (!p(key)) None else self.get(key) } - /** A map view resulting from applying a given function `f` to each value. + /** A map view resulting from applying a given function `f` to each value + * associated with a key in this map. */ def mapValues[C](f: B => C) = new DefaultMap[A, C] { override def foreach[D](g: ((A, C)) => D): Unit = for ((k, v) <- self) g((k, f(v))) diff --git a/src/library/scala/collection/generic/TraversableClass.scala b/src/library/scala/collection/generic/TraversableClass.scala index 9ed2ff4eb3..e887bfc9b8 100644 --- a/src/library/scala/collection/generic/TraversableClass.scala +++ b/src/library/scala/collection/generic/TraversableClass.scala @@ -18,6 +18,6 @@ trait TraversableClass[+A, +CC[X] <: Traversable[X]] { protected[this] def newBuilder: Builder[A, CC[A]] = companion.newBuilder[A] /** The generic builder that builds instances of CC at arbitrary element types. */ - def traversableBuilder[B]: Builder[B, CC[B]] = companion.newBuilder[B] + def genericBuilder[B]: Builder[B, CC[B]] = companion.newBuilder[B] } diff --git a/src/library/scala/collection/generic/TraversableFactory.scala b/src/library/scala/collection/generic/TraversableFactory.scala index d8afe73d02..644af4595e 100644 --- a/src/library/scala/collection/generic/TraversableFactory.scala +++ b/src/library/scala/collection/generic/TraversableFactory.scala @@ -6,7 +6,7 @@ abstract class TraversableFactory[CC[X] <: Traversable[X] with TraversableClass[ extends Companion[CC] { class VirtualBuilderFactory[A] extends BuilderFactory[A, CC[A], CC[_]] { - def apply(from: Coll) = from.traversableBuilder[A] + def apply(from: Coll) = from.genericBuilder[A] } /** Concatenate all the argument collections into a single collection. diff --git a/src/library/scala/collection/generic/TraversableTemplate.scala b/src/library/scala/collection/generic/TraversableTemplate.scala index a6aec19331..f1d735ada3 100644 --- a/src/library/scala/collection/generic/TraversableTemplate.scala +++ b/src/library/scala/collection/generic/TraversableTemplate.scala @@ -208,7 +208,7 @@ self => (l.result, r.result) } - /** Partion this traversable into a map of traversables + /** Partition this traversable into a map of traversables * according to some discriminator function. * @invariant (xs partition f)(k) = xs filter (x => f(x) == k) * diff --git a/src/library/scala/collection/immutable/Stream.scala b/src/library/scala/collection/immutable/Stream.scala index 1c50b59aa8..7b5e3f7659 100644 --- a/src/library/scala/collection/immutable/Stream.scala +++ b/src/library/scala/collection/immutable/Stream.scala @@ -482,7 +482,7 @@ object Stream extends SequenceFactory[Stream] { * @return the stream containing an inifinite number of elem * @deprecated use fill instead */ - def fill[A](elem: => A): Stream[A] = new Cons(elem, fill(elem)) + def continually[A](elem: => A): Stream[A] = new Cons(elem, continually(elem)) override def fill[A](n: Int)(elem: => A): Stream[A] = if (n <= 0) Empty else new Cons(elem, fill(n-1)(elem)) diff --git a/src/library/scala/collection/immutable/Vector.scala b/src/library/scala/collection/immutable/Vector.scala index 58ff1ceafd..743ab9897d 100644 --- a/src/library/scala/collection/immutable/Vector.scala +++ b/src/library/scala/collection/immutable/Vector.scala @@ -21,7 +21,7 @@ trait Vector[+A] extends Sequence[A] } object Vector extends SequenceFactory[Vector] { - class Impl[A](buf: ArrayBuffer[A]) extends Vector[A] { // todo: insert better vector implementation here + class Impl[A](buf: ArrayBuffer[A]) extends Vector[A] { // todo: insert better vector implementation here def length = buf.length def apply(idx: Int) = buf.apply(idx) } diff --git a/src/library/scala/runtime/BoxedArray.scala b/src/library/scala/runtime/BoxedArray.scala index d390bbd2d3..04bb00113c 100644 --- a/src/library/scala/runtime/BoxedArray.scala +++ b/src/library/scala/runtime/BoxedArray.scala @@ -35,9 +35,9 @@ abstract class BoxedArray[A] extends Vector[A] with VectorTemplate[A, BoxedArray /** Creates new builder for this collection ==> move to subclasses * * */ - override protected[this] def newBuilder = traversableBuilder[A] + override protected[this] def newBuilder = genericBuilder[A] - override def traversableBuilder[B]: Builder[B, BoxedArray[B]] = new ArrayBuffer[B].mapResult { + override def genericBuilder[B]: Builder[B, BoxedArray[B]] = new ArrayBuffer[B].mapResult { _.toArray.asInstanceOf[BoxedArray[B]] } diff --git a/src/library/scala/runtime/RichString.scala b/src/library/scala/runtime/RichString.scala index 4a666c0b07..954701999d 100644 --- a/src/library/scala/runtime/RichString.scala +++ b/src/library/scala/runtime/RichString.scala @@ -98,8 +98,8 @@ class RichString(val self: String) extends Proxy with Vector[Char] with VectorTe * </ul> */ def linesWithSeparators = new Iterator[String] { - val len = self.length - var index = 0 + private val len = self.length + private var index = 0 def hasNext: Boolean = index < len def next(): String = { if (index >= len) throw new NoSuchElementException("next on empty iterator") |