@@ -129,6 +129,8 @@ public static boolean equals2(Object x, Object y) {
129
129
return equalsNumObject ((java .lang .Number )x , y );
130
130
if (x instanceof java .lang .Character )
131
131
return equalsCharObject ((java .lang .Character )x , y );
132
+ if (x instanceof scala .runtime .UnsignedInteger )
133
+ return equalsUNumObject (x , y );
132
134
if (y instanceof scala .math .ScalaNumber )
133
135
return y .equals (x );
134
136
@@ -198,6 +200,37 @@ public static boolean equalsNumChar(java.lang.Number xn, java.lang.Character yc)
198
200
return equalsNumObject (xn , yc );
199
201
}
200
202
203
+ public static boolean equalsUNumObject (Object x , Object y ) {
204
+ if (x instanceof scala .UInt ) {
205
+ if (y instanceof scala .UInt )
206
+ return ((scala .UInt )x ).underlying () == ((scala .UInt )y ).underlying ();
207
+ return slowEqualsUNumObject (x , y );
208
+ }
209
+
210
+ if (x instanceof scala .ULong ) {
211
+ if (y instanceof scala .ULong )
212
+ return ((scala .ULong )x ).underlying () == ((scala .ULong )y ).underlying ();
213
+ return slowEqualsUNumObject (x , y );
214
+ }
215
+
216
+ if (x instanceof scala .UByte ) {
217
+ if (y instanceof scala .UByte )
218
+ return ((scala .UByte )x ).underlying () == ((scala .UByte )y ).underlying ();
219
+ return slowEqualsUNumObject (x , y );
220
+ }
221
+
222
+ if (x instanceof scala .UShort ) {
223
+ if (y instanceof scala .UShort )
224
+ return ((scala .UShort )x ).underlying () == ((scala .UShort )y ).underlying ();
225
+ return slowEqualsUNumObject (x , y );
226
+ }
227
+
228
+ if (y instanceof scala .math .ScalaNumber )
229
+ return y .equals (x );
230
+
231
+ return x .equals (y );
232
+ }
233
+
201
234
private static boolean slowEqualsLongObject (Object x , long xn , Object y ) {
202
235
if (y instanceof java .lang .Byte )
203
236
return ((java .lang .Byte )y ).byteValue () == xn ;
@@ -242,6 +275,10 @@ private static boolean slowEqualsDoubleObject(Object x, double xn, Object y) {
242
275
return false ;
243
276
}
244
277
278
+ private static boolean slowEqualsUNumObject (Object x , Object y ) {
279
+ return false ;
280
+ }
281
+
245
282
private static int unboxCharOrInt (Object arg1 , int code ) {
246
283
if (code == CHAR )
247
284
return ((java .lang .Character ) arg1 ).charValue ();
0 commit comments