summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/mutable/ImmutableMapAdaptor.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-03-15 04:45:47 +0000
committerPaul Phillips <paulp@improving.org>2010-03-15 04:45:47 +0000
commitf972729b04c44c12ea10d5aa5bb841fc3b40ab69 (patch)
tree3cbbe97f20b10a5303828324be5b0a9ced00df0c /src/library/scala/collection/mutable/ImmutableMapAdaptor.scala
parent70d4eb9654a2e7a6ba7dad2b62df36793678d99f (diff)
downloadscala-f972729b04c44c12ea10d5aa5bb841fc3b40ab69.tar.gz
scala-f972729b04c44c12ea10d5aa5bb841fc3b40ab69.tar.bz2
scala-f972729b04c44c12ea10d5aa5bb841fc3b40ab69.zip
Leveraged -Xmigration to burn off some warts wh...
Leveraged -Xmigration to burn off some warts which arose in the new collections. Warnings put in place for behavioral changes, allowing the following. 1) Buffers: create new collections on ++ and -- like all the other collections. 2) Maps: eliminated never-shipped redundant method valuesIterable and supplied these return types: def keys: Iterable[A] def keysIterator: Iterator[A] def values: Iterable[B] def valuesIterator: Iterator[B] def keySet: Set[A] I concluded that keys should return Iterable because keySet also exists on Map, and is not solely in the province of Maps even if we wanted to change it: it's defined on Sorted and also appears in some Sets. So it seems sensible to have keySet return a Set and keys return the more general type. Closes #3089, #3145. Review by odersky.
Diffstat (limited to 'src/library/scala/collection/mutable/ImmutableMapAdaptor.scala')
-rw-r--r--src/library/scala/collection/mutable/ImmutableMapAdaptor.scala13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/library/scala/collection/mutable/ImmutableMapAdaptor.scala b/src/library/scala/collection/mutable/ImmutableMapAdaptor.scala
index d6b3115b81..fba28e7c2a 100644
--- a/src/library/scala/collection/mutable/ImmutableMapAdaptor.scala
+++ b/src/library/scala/collection/mutable/ImmutableMapAdaptor.scala
@@ -12,6 +12,7 @@
package scala.collection
package mutable
+import annotation.migration
/** This class can be used as an adaptor to create mutable maps from
* immutable map implementations. Only method <code>empty</code> has
@@ -41,19 +42,17 @@ extends Map[A, B]
override def isDefinedAt(key: A) = imap.isDefinedAt(key)
- override def keySet: scala.collection.Set[A] = imap.keySet
+ override def keySet: collection.Set[A] = imap.keySet
override def keysIterator: Iterator[A] = imap.keysIterator
- @deprecated("use `keysIterator' instead")
- override def keys: Iterator[A] = imap.keysIterator
-
- override def valuesIterable: scala.collection.Iterable[B] = imap.valuesIterable
+ @migration(2, 8, "As of 2.8, keys returns Iterable[A] rather than Iterator[A].")
+ override def keys: collection.Iterable[A] = imap.keys
override def valuesIterator: Iterator[B] = imap.valuesIterator
- @deprecated("use `valuesIterator' instead")
- override def values: Iterator[B] = imap.valuesIterator
+ @migration(2, 8, "As of 2.8, values returns Iterable[B] rather than Iterator[B].")
+ override def values: collection.Iterable[B] = imap.values
def iterator: Iterator[(A, B)] = imap.iterator