@@ -183,6 +183,7 @@ object Map extends MapFactory[Map] {
183
183
184
184
private object EmptyMap extends Map [Any , Nothing ] with SmallMap [Any , Nothing ] with Serializable {
185
185
override def size : Int = 0
186
+ override def knownSize : Int = 0
186
187
override def apply (key : Any ) = throw new NoSuchElementException (" key not found: " + key)
187
188
override def contains (key : Any ) = false
188
189
def get (key : Any ): Option [Nothing ] = None
@@ -192,7 +193,8 @@ object Map extends MapFactory[Map] {
192
193
}
193
194
194
195
final class Map1 [K , + V ](key1 : K , value1 : V ) extends Map [K , V ] with SmallMap [K , V ] with Serializable {
195
- override def size = 1
196
+ override def size : Int = 1
197
+ override def knownSize : Int = 1
196
198
override def apply (key : K ) = if (key == key1) value1 else throw new NoSuchElementException (" key not found: " + key)
197
199
override def contains (key : K ) = key == key1
198
200
def get (key : K ): Option [V ] =
@@ -209,7 +211,8 @@ object Map extends MapFactory[Map] {
209
211
}
210
212
211
213
final class Map2 [K , + V ](key1 : K , value1 : V , key2 : K , value2 : V ) extends Map [K , V ] with SmallMap [K , V ] with Serializable {
212
- override def size = 2
214
+ override def size : Int = 2
215
+ override def knownSize : Int = 2
213
216
override def apply (key : K ) =
214
217
if (key == key1) value1
215
218
else if (key == key2) value2
@@ -234,7 +237,8 @@ object Map extends MapFactory[Map] {
234
237
}
235
238
236
239
class Map3 [K , + V ](key1 : K , value1 : V , key2 : K , value2 : V , key3 : K , value3 : V ) extends Map [K , V ] with SmallMap [K , V ] with Serializable {
237
- override def size = 3
240
+ override def size : Int = 3
241
+ override def knownSize : Int = 3
238
242
override def apply (key : K ) =
239
243
if (key == key1) value1
240
244
else if (key == key2) value2
@@ -263,7 +267,8 @@ object Map extends MapFactory[Map] {
263
267
}
264
268
265
269
final class Map4 [K , + V ](key1 : K , value1 : V , key2 : K , value2 : V , key3 : K , value3 : V , key4 : K , value4 : V ) extends Map [K , V ] with SmallMap [K , V ] with Serializable {
266
- override def size = 4
270
+ override def size : Int = 4
271
+ override def knownSize : Int = 4
267
272
override def apply (key : K ) =
268
273
if (key == key1) value1
269
274
else if (key == key2) value2
0 commit comments