@@ -41,13 +41,13 @@ object SimpleMap {
41
41
class Map1 [K <: AnyRef , + V >: Null <: AnyRef ] (k1 : K , v1 : V ) extends SimpleMap [K , V ] {
42
42
def size = 1
43
43
def apply (k : K ) =
44
- if (k == k1) v1
44
+ if (k eq k1) v1
45
45
else null
46
46
def remove (k : K ) =
47
- if (k == k1) Empty .asInstanceOf [SimpleMap [K , V ]]
47
+ if (k eq k1) Empty .asInstanceOf [SimpleMap [K , V ]]
48
48
else this
49
49
def updated [V1 >: V <: AnyRef ](k : K , v : V1 ) =
50
- if (k == k1) new Map1 (k, v)
50
+ if (k eq k1) new Map1 (k, v)
51
51
else new Map2 (k1, v1, k, v)
52
52
def mapValuesNow [V1 >: V <: AnyRef ](f : (K , V1 ) => V1 ) = {
53
53
val w1 = f(k1, v1)
@@ -59,16 +59,16 @@ object SimpleMap {
59
59
class Map2 [K <: AnyRef , + V >: Null <: AnyRef ] (k1 : K , v1 : V , k2 : K , v2 : V ) extends SimpleMap [K , V ] {
60
60
def size = 2
61
61
def apply (k : K ) =
62
- if (k == k1) v1
63
- else if (k == k2) v2
62
+ if (k eq k1) v1
63
+ else if (k eq k2) v2
64
64
else null
65
65
def remove (k : K ) =
66
- if (k == k1) new Map1 (k2, v2)
67
- else if (k == k2) new Map1 (k1, v1)
66
+ if (k eq k1) new Map1 (k2, v2)
67
+ else if (k eq k2) new Map1 (k1, v1)
68
68
else this
69
69
def updated [V1 >: V <: AnyRef ](k : K , v : V1 ) =
70
- if (k == k1) new Map2 (k, v, k2, v2)
71
- else if (k == k2) new Map2 (k1, v1, k, v)
70
+ if (k eq k1) new Map2 (k, v, k2, v2)
71
+ else if (k eq k2) new Map2 (k1, v1, k, v)
72
72
else new Map3 (k1, v1, k2, v2, k, v)
73
73
def mapValuesNow [V1 >: V <: AnyRef ](f : (K , V1 ) => V1 ) = {
74
74
val w1 = f(k1, v1); val w2 = f(k2, v2)
@@ -81,19 +81,19 @@ object SimpleMap {
81
81
class Map3 [K <: AnyRef , + V >: Null <: AnyRef ] (k1 : K , v1 : V , k2 : K , v2 : V , k3 : K , v3 : V ) extends SimpleMap [K , V ] {
82
82
def size = 3
83
83
def apply (k : K ) =
84
- if (k == k1) v1
85
- else if (k == k2) v2
86
- else if (k == k3) v3
84
+ if (k eq k1) v1
85
+ else if (k eq k2) v2
86
+ else if (k eq k3) v3
87
87
else null
88
88
def remove (k : K ) =
89
- if (k == k1) new Map2 (k2, v2, k3, v3)
90
- else if (k == k2) new Map2 (k1, v1, k3, v3)
91
- else if (k == k3) new Map2 (k1, v1, k2, v2)
89
+ if (k eq k1) new Map2 (k2, v2, k3, v3)
90
+ else if (k eq k2) new Map2 (k1, v1, k3, v3)
91
+ else if (k eq k3) new Map2 (k1, v1, k2, v2)
92
92
else this
93
93
def updated [V1 >: V <: AnyRef ](k : K , v : V1 ) =
94
- if (k == k1) new Map3 (k, v, k2, v2, k3, v3)
95
- else if (k == k2) new Map3 (k1, v1, k, v, k3, v3)
96
- else if (k == k3) new Map3 (k1, v1, k2, v2, k, v)
94
+ if (k eq k1) new Map3 (k, v, k2, v2, k3, v3)
95
+ else if (k eq k2) new Map3 (k1, v1, k, v, k3, v3)
96
+ else if (k eq k3) new Map3 (k1, v1, k2, v2, k, v)
97
97
else new Map4 (k1, v1, k2, v2, k3, v3, k, v)
98
98
def mapValuesNow [V1 >: V <: AnyRef ](f : (K , V1 ) => V1 ) = {
99
99
val w1 = f(k1, v1); val w2 = f(k2, v2); val w3 = f(k3, v3)
@@ -106,22 +106,22 @@ object SimpleMap {
106
106
class Map4 [K <: AnyRef , + V >: Null <: AnyRef ] (k1 : K , v1 : V , k2 : K , v2 : V , k3 : K , v3 : V , k4 : K , v4 : V ) extends SimpleMap [K , V ] {
107
107
def size = 4
108
108
def apply (k : K ) =
109
- if (k == k1) v1
110
- else if (k == k2) v2
111
- else if (k == k3) v3
112
- else if (k == k4) v4
109
+ if (k eq k1) v1
110
+ else if (k eq k2) v2
111
+ else if (k eq k3) v3
112
+ else if (k eq k4) v4
113
113
else null
114
114
def remove (k : K ) =
115
- if (k == k1) new Map3 (k2, v2, k3, v3, k4, v4)
116
- else if (k == k2) new Map3 (k1, v1, k3, v3, k4, v4)
117
- else if (k == k3) new Map3 (k1, v1, k2, v2, k4, v4)
118
- else if (k == k4) new Map3 (k1, v1, k2, v2, k3, v3)
115
+ if (k eq k1) new Map3 (k2, v2, k3, v3, k4, v4)
116
+ else if (k eq k2) new Map3 (k1, v1, k3, v3, k4, v4)
117
+ else if (k eq k3) new Map3 (k1, v1, k2, v2, k4, v4)
118
+ else if (k eq k4) new Map3 (k1, v1, k2, v2, k3, v3)
119
119
else this
120
120
def updated [V1 >: V <: AnyRef ](k : K , v : V1 ) =
121
- if (k == k1) new Map4 (k, v, k2, v2, k3, v3, k4, v4)
122
- else if (k == k2) new Map4 (k1, v1, k, v, k3, v3, k4, v4)
123
- else if (k == k3) new Map4 (k1, v1, k2, v2, k, v, k4, v4)
124
- else if (k == k4) new Map4 (k1, v1, k2, v2, k3, v3, k, v)
121
+ if (k eq k1) new Map4 (k, v, k2, v2, k3, v3, k4, v4)
122
+ else if (k eq k2) new Map4 (k1, v1, k, v, k3, v3, k4, v4)
123
+ else if (k eq k3) new Map4 (k1, v1, k2, v2, k, v, k4, v4)
124
+ else if (k eq k4) new Map4 (k1, v1, k2, v2, k3, v3, k, v)
125
125
else new MapMore (Array [AnyRef ](k1, v1, k2, v2, k3, v3, k4, v4, k, v))
126
126
def mapValuesNow [V1 >: V <: AnyRef ](f : (K , V1 ) => V1 ) = {
127
127
val w1 = f(k1, v1); val w2 = f(k2, v2); val w3 = f(k3, v3); val w4 = f(k4, v4)
0 commit comments