From 75b4429e15e88c1b94407b8f1824861bf3125d14 Mon Sep 17 00:00:00 2001 From: Gilles Dubochet Date: Thu, 20 Mar 2008 14:56:41 +0000 Subject: Fixed issues #584 and #602. --- src/library/scala/runtime/BoxesRunTime.java | 34 +++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 9 deletions(-) (limited to 'src/library') 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; -- cgit v1.2.3