diff options
author | Martin Odersky <odersky@gmail.com> | 2006-10-26 10:17:21 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2006-10-26 10:17:21 +0000 |
commit | 2fd723d1cdcfb7435f2fa947acff6eaf308ba778 (patch) | |
tree | b27c66dcdb53b79ea89a19d6335caca9759bd515 /src/library/scala | |
parent | 44b54567069d4fad11e15a4ab466ad2ad6e4fb65 (diff) | |
download | scala-2fd723d1cdcfb7435f2fa947acff6eaf308ba778.tar.gz scala-2fd723d1cdcfb7435f2fa947acff6eaf308ba778.tar.bz2 scala-2fd723d1cdcfb7435f2fa947acff6eaf308ba778.zip |
fxied bug788
changed collection library to use type patterns
Diffstat (limited to 'src/library/scala')
-rw-r--r-- | src/library/scala/collection/Map.scala | 4 | ||||
-rw-r--r-- | src/library/scala/collection/Set.scala | 5 | ||||
-rw-r--r-- | src/library/scala/collection/immutable/Queue.scala | 2 | ||||
-rw-r--r-- | src/library/scala/collection/mutable/ArrayBuffer.scala | 2 | ||||
-rw-r--r-- | src/library/scala/collection/mutable/Buffer.scala | 2 | ||||
-rw-r--r-- | src/library/scala/collection/mutable/ListBuffer.scala | 2 | ||||
-rw-r--r-- | src/library/scala/collection/mutable/Map.scala | 2 | ||||
-rw-r--r-- | src/library/scala/collection/mutable/Set.scala | 2 |
8 files changed, 11 insertions, 10 deletions
diff --git a/src/library/scala/collection/Map.scala b/src/library/scala/collection/Map.scala index 5472aadd1b..0d21faba6c 100644 --- a/src/library/scala/collection/Map.scala +++ b/src/library/scala/collection/Map.scala @@ -108,9 +108,9 @@ trait Map[A, +B] extends AnyRef * @return true, iff both maps contain exactly the same mappings. */ override def equals(that: Any): Boolean = that match { - case other: Map[A, B] => + case other: Map[a, b] => this.size == other.size && this.elements.forall { - case Pair(key, value) => other.get(key) match { + case Pair(key, value) => other.get(key.asInstanceOf[a]) match { case None => false case Some(otherval) => value == otherval } diff --git a/src/library/scala/collection/Set.scala b/src/library/scala/collection/Set.scala index e97b4369da..107a1948d6 100644 --- a/src/library/scala/collection/Set.scala +++ b/src/library/scala/collection/Set.scala @@ -70,8 +70,9 @@ trait Set[A] extends AnyRef with Function1[A, Boolean] with Iterable[A] { * elements. */ override def equals(that: Any): Boolean = that match { - case other: Set[A] => - this.size == other.size && this.elements.forall(other.contains) + case other: Set[a] => + this.size == other.size && this.elements.forall( + x => other contains x.asInstanceOf[a]) case _ => false } diff --git a/src/library/scala/collection/immutable/Queue.scala b/src/library/scala/collection/immutable/Queue.scala index 46096d7e4c..5624a7eb21 100644 --- a/src/library/scala/collection/immutable/Queue.scala +++ b/src/library/scala/collection/immutable/Queue.scala @@ -130,7 +130,7 @@ class Queue[+A](elem: A*) extends Seq[A] { * @return true, iff the two queues are structurally equal. */ override def equals(o: Any): Boolean = o match { - case q: Queue[Any] => + case q: Queue[_] => /* A function that compares the element at position index in q with the element at the same position in this (queue). diff --git a/src/library/scala/collection/mutable/ArrayBuffer.scala b/src/library/scala/collection/mutable/ArrayBuffer.scala index 8dacd17489..f15ccd9106 100644 --- a/src/library/scala/collection/mutable/ArrayBuffer.scala +++ b/src/library/scala/collection/mutable/ArrayBuffer.scala @@ -153,7 +153,7 @@ class ArrayBuffer[A] extends Buffer[A] with ResizableArray[A] { * @return true, iff both buffers contain the same sequence of elements. */ override def equals(obj: Any): Boolean = obj match { - case that: ArrayBuffer[A] => + case that: ArrayBuffer[_] => this.length == that.length && elements.zip(that.elements).forall { case Pair(thiselem, thatelem) => thiselem == thatelem diff --git a/src/library/scala/collection/mutable/Buffer.scala b/src/library/scala/collection/mutable/Buffer.scala index 21bee72a02..c5f953cb05 100644 --- a/src/library/scala/collection/mutable/Buffer.scala +++ b/src/library/scala/collection/mutable/Buffer.scala @@ -215,7 +215,7 @@ trait Buffer[A] extends AnyRef case _ => throw new UnsupportedOperationException("message " + cmd + " not understood") } case Reset() => clear - case s: Script[Pair[Location, A]] => s.elements foreach << + case s: Script[_] => s.elements foreach << case _ => throw new UnsupportedOperationException("message " + cmd + " not understood") } diff --git a/src/library/scala/collection/mutable/ListBuffer.scala b/src/library/scala/collection/mutable/ListBuffer.scala index 47cd64c74e..abe65019bf 100644 --- a/src/library/scala/collection/mutable/ListBuffer.scala +++ b/src/library/scala/collection/mutable/ListBuffer.scala @@ -266,7 +266,7 @@ final class ListBuffer[A] extends Buffer[A] { * of elements. */ override def equals(obj: Any): Boolean = obj match { - case that: ListBuffer[A] => + case that: ListBuffer[_] => (this.length == that.length && elements.zip(that.elements).forall { case Pair(thiselem, thatelem) => thiselem == thatelem diff --git a/src/library/scala/collection/mutable/Map.scala b/src/library/scala/collection/mutable/Map.scala index 36565a0493..7106acb8a1 100644 --- a/src/library/scala/collection/mutable/Map.scala +++ b/src/library/scala/collection/mutable/Map.scala @@ -130,7 +130,7 @@ trait Map[A, B] extends AnyRef case Update(Pair(k, v)) => update(k, v) case Remove(Pair(k, _)) => this -= k case Reset() => clear - case s: Script[Pair[A, B]] => s.elements foreach << + case s: Script[_] => s.elements foreach << case _ => throw new UnsupportedOperationException("message " + cmd + " not understood") } diff --git a/src/library/scala/collection/mutable/Set.scala b/src/library/scala/collection/mutable/Set.scala index 20761f1068..6ae94dc4f3 100644 --- a/src/library/scala/collection/mutable/Set.scala +++ b/src/library/scala/collection/mutable/Set.scala @@ -114,7 +114,7 @@ trait Set[A] extends AnyRef with collection.Set[A] case Include(elem) => this += elem case Remove(elem) => this -= elem case Reset() => clear - case s: Script[A] => s.elements foreach << + case s: Script[_] => s.elements foreach << case _ => throw new UnsupportedOperationException("message " + cmd + " not understood") } |