summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2010-06-21 16:12:12 +0000
committerMartin Odersky <odersky@gmail.com>2010-06-21 16:12:12 +0000
commit6c7d1d8902c0fe4b425dc1a789d366dad7dad251 (patch)
tree759490e51fa73ad75db1795a4e361ed287ee723d /src/library
parentbf3fb9d8b5a95d3d4fa5bcc4bb78cf3ce6164486 (diff)
downloadscala-6c7d1d8902c0fe4b425dc1a789d366dad7dad251.tar.gz
scala-6c7d1d8902c0fe4b425dc1a789d366dad7dad251.tar.bz2
scala-6c7d1d8902c0fe4b425dc1a789d366dad7dad251.zip
Merged r22379: Paul's patch for null in numeric...
Merged r22379: Paul's patch for null in numeric comparisons
Diffstat (limited to 'src/library')
-rw-r--r--src/library/scala/runtime/BoxesRunTime.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/library/scala/runtime/BoxesRunTime.java b/src/library/scala/runtime/BoxesRunTime.java
index 8bce46ea66..b6539d087c 100644
--- a/src/library/scala/runtime/BoxesRunTime.java
+++ b/src/library/scala/runtime/BoxesRunTime.java
@@ -127,7 +127,6 @@ public final class BoxesRunTime
public static boolean equals(Object x, Object y) {
if (x == y) return true;
- if (x == null) return false;
return equals2(x, y);
}
@@ -139,6 +138,8 @@ public final class BoxesRunTime
return equalsNumObject((java.lang.Number)x, y);
if (x instanceof java.lang.Character)
return equalsCharObject((java.lang.Character)x, y);
+ if (x == null)
+ return y == null;
return x.equals(y);
}
@@ -146,8 +147,10 @@ public final class BoxesRunTime
public static boolean equalsNumObject(java.lang.Number xn, Object y) {
if (y instanceof java.lang.Number)
return equalsNumNum(xn, (java.lang.Number)y);
- else if (y instanceof java.lang.Character)
+ if (y instanceof java.lang.Character)
return equalsNumChar(xn, (java.lang.Character)y);
+ if (xn == null)
+ return y == null;
return xn.equals(y);
}
@@ -168,6 +171,9 @@ public final class BoxesRunTime
if ((yn instanceof ScalaNumber) && !(xn instanceof ScalaNumber))
return yn.equals(xn);
}
+ if (xn == null)
+ return yn == null;
+
return xn.equals(yn);
}
@@ -176,6 +182,8 @@ public final class BoxesRunTime
return xc.charValue() == ((java.lang.Character)y).charValue();
if (y instanceof java.lang.Number)
return equalsNumChar((java.lang.Number)y, xc);
+ if (xc == null)
+ return y == null;
return xc.equals(y);
}
@@ -192,6 +200,9 @@ public final class BoxesRunTime
case DOUBLE:
return xn.doubleValue() == ch;
default:
+ if (xn == null)
+ return yc == null;
+
return xn.equals(yc);
}
}