summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Zenger <mzenger@gmail.com>2003-11-28 11:17:31 +0000
committerMatthias Zenger <mzenger@gmail.com>2003-11-28 11:17:31 +0000
commit377337eb8c002591639c7a51e81624d4214f9e09 (patch)
tree3aaebcea545511761b9d3d33dc756b1b07cc95df
parent33c3ea3b03d400a9e1326d400c826a0b3db6c280 (diff)
downloadscala-377337eb8c002591639c7a51e81624d4214f9e09.tar.gz
scala-377337eb8c002591639c7a51e81624d4214f9e09.tar.bz2
scala-377337eb8c002591639c7a51e81624d4214f9e09.zip
Removed the last type parameter in maps and sets.
-rw-r--r--sources/scala/collection/immutable/ListMap.scala2
-rw-r--r--sources/scala/collection/immutable/ListSet.scala2
-rw-r--r--sources/scala/collection/immutable/Map.scala20
-rw-r--r--sources/scala/collection/immutable/Set.scala18
-rw-r--r--sources/scala/collection/immutable/TreeMap.scala4
-rw-r--r--sources/scala/collection/mutable/ImmutableMapAdaptor.scala5
-rw-r--r--sources/scala/collection/mutable/ImmutableSetAdaptor.scala5
7 files changed, 27 insertions, 29 deletions
diff --git a/sources/scala/collection/immutable/ListMap.scala b/sources/scala/collection/immutable/ListMap.scala
index 102cdac66f..a0e7339b69 100644
--- a/sources/scala/collection/immutable/ListMap.scala
+++ b/sources/scala/collection/immutable/ListMap.scala
@@ -29,7 +29,7 @@ object ListMap {
* @author Matthias Zenger
* @version 1.0, 09/07/2003
*/
-class ListMap[A, B] with Map[A, B, ListMap[A, B]] {
+class ListMap[A, B] with Map[A, B] {
def size: Int = 0;
diff --git a/sources/scala/collection/immutable/ListSet.scala b/sources/scala/collection/immutable/ListSet.scala
index 88e6256874..fa3582e31f 100644
--- a/sources/scala/collection/immutable/ListSet.scala
+++ b/sources/scala/collection/immutable/ListSet.scala
@@ -22,7 +22,7 @@ object ListSet {
* @author Matthias Zenger
* @version 1.0, 09/07/2003
*/
-class ListSet[A] with Set[A, ListSet[A]] {
+class ListSet[A] with Set[A] {
def size: Int = 0;
diff --git a/sources/scala/collection/immutable/Map.scala b/sources/scala/collection/immutable/Map.scala
index 6a10702794..2d67d907cb 100644
--- a/sources/scala/collection/immutable/Map.scala
+++ b/sources/scala/collection/immutable/Map.scala
@@ -10,17 +10,17 @@
package scala.collection.immutable;
-trait Map[A, B, +This <: Map[A, B, This]]: This with scala.collection.Map[A, B] {
+trait Map[A, B] with scala.collection.Map[A, B] {
- def update(key: A, value: B): This;
+ def update(key: A, value: B): Map[A, B];
- def -(key: A): This;
+ def -(key: A): Map[A, B];
def +(key: A): MapTo = new MapTo(key);
- def incl(mappings: Pair[A, B]*): This = incl(mappings);
+ def incl(mappings: Pair[A, B]*): Map[A, B] = incl(mappings);
- def incl(map: Iterable[Pair[A, B]]): This = {
+ def incl(map: Iterable[Pair[A, B]]): Map[A, B] = {
val iter = map.elements;
var res = this;
while (iter.hasNext) {
@@ -30,9 +30,9 @@ trait Map[A, B, +This <: Map[A, B, This]]: This with scala.collection.Map[A, B]
res;
}
- def excl(keys: A*): This = excl(keys);
+ def excl(keys: A*): Map[A, B] = excl(keys);
- def excl(keys: Iterable[A]): This = {
+ def excl(keys: Iterable[A]): Map[A, B] = {
val iter = keys.elements;
var res = this;
while (iter.hasNext) {
@@ -41,7 +41,7 @@ trait Map[A, B, +This <: Map[A, B, This]]: This with scala.collection.Map[A, B]
res;
}
- def map(f: (A, B) => B): This = {
+ def map(f: (A, B) => B): Map[A, B] = {
var res = this;
elements foreach {
case Pair(key, value) => res = res.update(key, f(key, value));
@@ -49,7 +49,7 @@ trait Map[A, B, +This <: Map[A, B, This]]: This with scala.collection.Map[A, B]
res;
}
- def filter(p: (A, B) => Boolean): This = {
+ def filter(p: (A, B) => Boolean): Map[A, B] = {
var res = this;
toList foreach {
case Pair(key, value) => if (p(key, value)) { res = res.excl(key); }
@@ -73,6 +73,6 @@ trait Map[A, B, +This <: Map[A, B, This]]: This with scala.collection.Map[A, B]
def mappingToString(p: Pair[A, B]) = p._1.toString() + " -> " + p._2;
class MapTo(key: A) {
- def ->(value: B): This = update(key, value);
+ def ->(value: B): Map[A, B] = update(key, value);
}
}
diff --git a/sources/scala/collection/immutable/Set.scala b/sources/scala/collection/immutable/Set.scala
index 6fa47020ab..896ed5daf5 100644
--- a/sources/scala/collection/immutable/Set.scala
+++ b/sources/scala/collection/immutable/Set.scala
@@ -18,31 +18,31 @@ package scala.collection.immutable;
* @author Matthias Zenger
* @version 1.0, 19/07/2003
*/
-trait Set[A, +This <: Set[A, This]]: This with scala.collection.Set[A] {
+trait Set[A] with scala.collection.Set[A] {
- def +(elem: A): This;
+ def +(elem: A): Set[A];
- def incl(elems: A*): This = incl(elems);
+ def incl(elems: A*): Set[A] = incl(elems);
- def incl(that: Iterable[A]): This = {
+ def incl(that: Iterable[A]): Set[A] = {
var res = this;
that.elements.foreach(elem => res = res + elem);
res;
}
- def -(elem: A): This;
+ def -(elem: A): Set[A];
- def excl(elems: A*): This = excl(elems);
+ def excl(elems: A*): Set[A] = excl(elems);
- def excl(that: Iterable[A]): This = {
+ def excl(that: Iterable[A]): Set[A] = {
var res = this;
that.elements.foreach(elem => res = res - elem);
res;
}
- def intersect(that: scala.collection.Set[A]): This = filter(that.contains);
+ def intersect(that: scala.collection.Set[A]): Set[A] = filter(that.contains);
- def filter(p: A => Boolean): This = {
+ def filter(p: A => Boolean): Set[A] = {
var res = this;
toList foreach {
elem => if (p(elem)) { res = res - elem; }
diff --git a/sources/scala/collection/immutable/TreeMap.scala b/sources/scala/collection/immutable/TreeMap.scala
index d25657df92..9e409f0336 100644
--- a/sources/scala/collection/immutable/TreeMap.scala
+++ b/sources/scala/collection/immutable/TreeMap.scala
@@ -14,8 +14,8 @@ package scala.collection.immutable;
* @author Erik Stenman, Matthias Zenger
* @version 1.0, 23/07/2003
*/
-class TreeMap[KEY,VALUE](order:Order[KEY]) extends
- Map[KEY, VALUE, TreeMap[KEY,VALUE]]
+class TreeMap[KEY,VALUE](order:Order[KEY])
+ extends Map[KEY, VALUE]
with Tree[KEY,Pair[KEY,VALUE]](order,
{(entry:Pair[KEY,VALUE]) =>
entry.match {case Pair(key,_value)=> key:KEY}
diff --git a/sources/scala/collection/mutable/ImmutableMapAdaptor.scala b/sources/scala/collection/mutable/ImmutableMapAdaptor.scala
index cde18ca9cb..be275b3c04 100644
--- a/sources/scala/collection/mutable/ImmutableMapAdaptor.scala
+++ b/sources/scala/collection/mutable/ImmutableMapAdaptor.scala
@@ -19,8 +19,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 21/07/2003
*/
-class ImmutableMapAdaptor[A, B, C <: scala.collection.immutable.Map[A, B, C]]
- (m: C) extends Map[A, B] {
+class ImmutableMapAdaptor[A, B](m: scala.collection.immutable.Map[A, B]) extends Map[A, B] {
protected var imap = m;
@@ -60,5 +59,5 @@ class ImmutableMapAdaptor[A, B, C <: scala.collection.immutable.Map[A, B, C]]
override def mappingToString(p: Pair[A, B]) = imap.mappingToString(p);
- protected def empty: C = m;
+ protected def empty: scala.collection.immutable.Map[A, B] = m;
}
diff --git a/sources/scala/collection/mutable/ImmutableSetAdaptor.scala b/sources/scala/collection/mutable/ImmutableSetAdaptor.scala
index 903cd2339c..9f8bf98e5e 100644
--- a/sources/scala/collection/mutable/ImmutableSetAdaptor.scala
+++ b/sources/scala/collection/mutable/ImmutableSetAdaptor.scala
@@ -19,8 +19,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 21/07/2003
*/
-class ImmutableSetAdaptor[A, B <: scala.collection.immutable.Set[A, B]]
- (s: B) extends Set[A] {
+class ImmutableSetAdaptor[A](s: scala.collection.immutable.Set[A]) extends Set[A] {
protected var set = s;
@@ -46,5 +45,5 @@ class ImmutableSetAdaptor[A, B <: scala.collection.immutable.Set[A, B]]
def clear: Unit = { set = empty; }
- protected def empty: B = s;
+ protected def empty: scala.collection.immutable.Set[A] = s;
}