summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/jcl/Buffer.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/library/scala/collection/jcl/Buffer.scala')
-rw-r--r--src/library/scala/collection/jcl/Buffer.scala5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/library/scala/collection/jcl/Buffer.scala b/src/library/scala/collection/jcl/Buffer.scala
index db22270f97..28aa87dc98 100644
--- a/src/library/scala/collection/jcl/Buffer.scala
+++ b/src/library/scala/collection/jcl/Buffer.scala
@@ -86,6 +86,7 @@ trait Buffer[A] extends MutableSeq[A] with Collection[A] with Ranged[Int,A] {
override def pfilter(p : A => Boolean) : MutableSeq[A] = super[MutableSeq].pfilter(p);
override def rangeImpl(from : Option[Int], until : Option[Int]) : Buffer[A] = new Range(from, until);
+
protected class Range(var from : Option[Int], var until : Option[Int]) extends Buffer[A] {
if (from == None && until == None) throw new IllegalArgumentException;
if (from != None && until != None && !(from.get < until.get)) throw new IllegalArgumentException;
@@ -104,11 +105,11 @@ trait Buffer[A] extends MutableSeq[A] with Collection[A] with Ranged[Int,A] {
override def set(idx : Int, a : A) = Buffer.this.set(translate(idx), a);
override def add(idx : Int, a : A) = Buffer.this.add(translate(idx), a);
override def remove(idx : Int) = Buffer.this.remove(translate(idx));
- override def size = {
+ override def length = {
if (until != None) {
if (from != None) until.get - from.get;
else until.get;
- } else super.size;
+ } else super.length;
}
def elements : BufferIterator[Int,A] = new RangeIterator;
class RangeIterator extends BufferIterator[Int,A] {