@@ -41,13 +41,13 @@ object SimpleMap {
4141 class Map1 [K <: AnyRef , + V >: Null <: AnyRef ] (k1 : K , v1 : V ) extends SimpleMap [K , V ] {
4242 def size = 1
4343 def apply (k : K ) =
44- if (k == k1) v1
44+ if (k eq k1) v1
4545 else null
4646 def remove (k : K ) =
47- if (k == k1) Empty .asInstanceOf [SimpleMap [K , V ]]
47+ if (k eq k1) Empty .asInstanceOf [SimpleMap [K , V ]]
4848 else this
4949 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)
5151 else new Map2 (k1, v1, k, v)
5252 def mapValuesNow [V1 >: V <: AnyRef ](f : (K , V1 ) => V1 ) = {
5353 val w1 = f(k1, v1)
@@ -59,16 +59,16 @@ object SimpleMap {
5959 class Map2 [K <: AnyRef , + V >: Null <: AnyRef ] (k1 : K , v1 : V , k2 : K , v2 : V ) extends SimpleMap [K , V ] {
6060 def size = 2
6161 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
6464 else null
6565 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)
6868 else this
6969 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)
7272 else new Map3 (k1, v1, k2, v2, k, v)
7373 def mapValuesNow [V1 >: V <: AnyRef ](f : (K , V1 ) => V1 ) = {
7474 val w1 = f(k1, v1); val w2 = f(k2, v2)
@@ -81,19 +81,19 @@ object SimpleMap {
8181 class Map3 [K <: AnyRef , + V >: Null <: AnyRef ] (k1 : K , v1 : V , k2 : K , v2 : V , k3 : K , v3 : V ) extends SimpleMap [K , V ] {
8282 def size = 3
8383 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
8787 else null
8888 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)
9292 else this
9393 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)
9797 else new Map4 (k1, v1, k2, v2, k3, v3, k, v)
9898 def mapValuesNow [V1 >: V <: AnyRef ](f : (K , V1 ) => V1 ) = {
9999 val w1 = f(k1, v1); val w2 = f(k2, v2); val w3 = f(k3, v3)
@@ -106,22 +106,22 @@ object SimpleMap {
106106 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 ] {
107107 def size = 4
108108 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
113113 else null
114114 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)
119119 else this
120120 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)
125125 else new MapMore (Array [AnyRef ](k1, v1, k2, v2, k3, v3, k4, v4, k, v))
126126 def mapValuesNow [V1 >: V <: AnyRef ](f : (K , V1 ) => V1 ) = {
127127 val w1 = f(k1, v1); val w2 = f(k2, v2); val w3 = f(k3, v3); val w4 = f(k4, v4)
0 commit comments