changeset 21822:e56ba70108d3 stable

Fix typos in Java conversion of 32 and 64 bit integers (bug #48107) * ov-java.cc (unbox): Invoke correct class name java.lang.Integer for 32 bit integers. Use correct type signature "J" for 64 bit long integer values. Add BIST tests.
author Mike Miller <mtmiller@octave.org>
date Fri, 03 Jun 2016 20:51:45 -0700
parents 1b5285c20e0e
children 49d999dc443f 12b31cb1d6b7
files libinterp/octave-value/ov-java.cc
diffstat 1 files changed, 12 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/octave-value/ov-java.cc	Thu Jun 02 18:10:05 2016 +1000
+++ b/libinterp/octave-value/ov-java.cc	Fri Jun 03 20:51:45 2016 -0700
@@ -1343,10 +1343,10 @@
       else IF_UNBOX_PRIMITIVE_SCALAR(uint8,  uint8_t,  uint8_scalar,  "java/lang/Byte",    "(B)V")
       else IF_UNBOX_PRIMITIVE_SCALAR(int16,  int16_t,  int16_scalar,  "java/lang/Short",   "(S)V")
       else IF_UNBOX_PRIMITIVE_SCALAR(uint16, uint16_t, uint16_scalar, "java/lang/Short",   "(S)V")
-      else IF_UNBOX_PRIMITIVE_SCALAR(int32,  int32_t,  int32_scalar,  "java/lang/Int",     "(I)V")
-      else IF_UNBOX_PRIMITIVE_SCALAR(uint32, uint32_t, uint32_scalar, "java/lang/Int",     "(I)V")
-      else IF_UNBOX_PRIMITIVE_SCALAR(int64,  int64_t,  int64_scalar,  "java/lang/Long",    "(L)V")
-      else IF_UNBOX_PRIMITIVE_SCALAR(uint64, uint64_t, uint64_scalar, "java/lang/Long",    "(L)V")
+      else IF_UNBOX_PRIMITIVE_SCALAR(int32,  int32_t,  int32_scalar,  "java/lang/Integer", "(I)V")
+      else IF_UNBOX_PRIMITIVE_SCALAR(uint32, uint32_t, uint32_scalar, "java/lang/Integer", "(I)V")
+      else IF_UNBOX_PRIMITIVE_SCALAR(int64,  int64_t,  int64_scalar,  "java/lang/Long",    "(J)V")
+      else IF_UNBOX_PRIMITIVE_SCALAR(uint64, uint64_t, uint64_scalar, "java/lang/Long",    "(J)V")
 
 #undef IF_UNBOX_PRIMITIVE_SCALAR
     }
@@ -2497,10 +2497,14 @@
 
 ## Check we can create objects that wrap java literals (bug #38821).
 %!testif HAVE_JAVA
-%! assert (class (javaObject ("java.lang.Byte", uint8 (1))), "java.lang.Byte");
-%! assert (class (javaObject ("java.lang.Byte", int8 (1))), "java.lang.Byte");
-%! assert (class (javaObject ("java.lang.Short", uint16 (1))), "java.lang.Short");
-%! assert (class (javaObject ("java.lang.Short", int16 (1))), "java.lang.Short");
+%! assert (class (javaObject ("java.lang.Byte",     uint8 (1))), "java.lang.Byte");
+%! assert (class (javaObject ("java.lang.Byte",      int8 (1))), "java.lang.Byte");
+%! assert (class (javaObject ("java.lang.Short",   uint16 (1))), "java.lang.Short");
+%! assert (class (javaObject ("java.lang.Short",    int16 (1))), "java.lang.Short");
+%! assert (class (javaObject ("java.lang.Integer", uint32 (1))), "java.lang.Integer");
+%! assert (class (javaObject ("java.lang.Integer",  int32 (1))), "java.lang.Integer");
+%! assert (class (javaObject ("java.lang.Long",    uint64 (1))), "java.lang.Long");
+%! assert (class (javaObject ("java.lang.Long",     int64 (1))), "java.lang.Long");
 
 ## Automatic conversion from string cell array into String[] (bug #45290)
 %!testif HAVE_JAVA