diff options
author | Gilles Dubochet <gilles.dubochet@epfl.ch> | 2008-03-20 14:56:41 +0000 |
---|---|---|
committer | Gilles Dubochet <gilles.dubochet@epfl.ch> | 2008-03-20 14:56:41 +0000 |
commit | 75b4429e15e88c1b94407b8f1824861bf3125d14 (patch) | |
tree | 7498164d3e3b8c6631dcc354c5a799b3ed3360c9 /src/library | |
parent | 6854959bc237babd4012c6466cf9f89044cbb5c3 (diff) | |
download | scala-75b4429e15e88c1b94407b8f1824861bf3125d14.tar.gz scala-75b4429e15e88c1b94407b8f1824861bf3125d14.tar.bz2 scala-75b4429e15e88c1b94407b8f1824861bf3125d14.zip |
Fixed issues #584 and #602.
Diffstat (limited to 'src/library')
-rw-r--r-- | src/library/scala/runtime/BoxesRunTime.java | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/src/library/scala/runtime/BoxesRunTime.java b/src/library/scala/runtime/BoxesRunTime.java index 553a1a08d3..932c530901 100644 --- a/src/library/scala/runtime/BoxesRunTime.java +++ b/src/library/scala/runtime/BoxesRunTime.java @@ -135,35 +135,51 @@ public class BoxesRunTime { /* UNBOXING ... UNBOXING ... UNBOXING ... UNBOXING ... UNBOXING ... UNBOXING ... UNBOXING */ public static boolean unboxToBoolean(Object b) { - return b == null ? false : ((Boolean)b).booleanValue(); + if (b == null) + throw new ClassCastException("null is no Boolean value"); + return ((Boolean)b).booleanValue(); } public static char unboxToChar(Object c) { - return c == null ? 0 : ((Character)c).charValue(); + if (c == null) + throw new ClassCastException("null is no Char value"); + return ((Character)c).charValue(); } public static byte unboxToByte(Object b) { - return b == null ? 0 : ((Byte)b).byteValue(); + if (b == null) + throw new ClassCastException("null is no Byte value"); + return ((Byte)b).byteValue(); } public static short unboxToShort(Object s) { - return s == null ? 0 : ((Short)s).shortValue(); + if (s == null) + throw new ClassCastException("null is no Short value"); + return ((Short)s).shortValue(); } public static int unboxToInt(Object i) { - return i == null ? 0 : ((Integer)i).intValue(); + if (i == null) + throw new ClassCastException("null is no Int value"); + return ((Integer)i).intValue(); } public static long unboxToLong(Object l) { - return l == null ? 0 : ((Long)l).longValue(); + if (l == null) + throw new ClassCastException("null is no Long value"); + return ((Long)l).longValue(); } public static float unboxToFloat(Object f) { - return f == null ? 0.0f : ((Float)f).floatValue(); + if (f == null) + throw new ClassCastException("null is no Float value"); + return ((Float)f).floatValue(); } public static double unboxToDouble(Object d) { - return d == null ? 0.0d : ((Double)d).doubleValue(); + if (d == null) + throw new ClassCastException("null is no Double value"); + return ((Double)d).doubleValue(); } /* COMPARISON ... COMPARISON ... COMPARISON ... COMPARISON ... COMPARISON ... COMPARISON */ @@ -240,7 +256,7 @@ public class BoxesRunTime { } /** arg1 - arg2 */ - public static Object substract(Object arg1, Object arg2) throws NoSuchMethodException { + public static Object subtract(Object arg1, Object arg2) throws NoSuchMethodException { int code1 = typeCode(arg1); int code2 = typeCode(arg2); int maxcode = (code1 < code2) ? code2 : code1; |