]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
natArray.cc (BooleanClass): New define.
authorTom Tromey <tromey@cygnus.com>
Wed, 13 Sep 2000 18:15:42 +0000 (18:15 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Wed, 13 Sep 2000 18:15:42 +0000 (18:15 +0000)
* java/lang/reflect/natArray.cc (BooleanClass): New define.
(get): Ensure Boolean class is initialized.
* java/lang/reflect/natField.cc (BooleanClass): New define.
(get): Ensure Boolean class is initialized.

From-SVN: r36391

libjava/ChangeLog
libjava/java/lang/reflect/natArray.cc
libjava/java/lang/reflect/natField.cc

index fb5bdd8302e299a60e318c0ac1143d2d7ad5d2c7..85cddc2d312e715919febe35e505e65190cc5508 100644 (file)
@@ -1,3 +1,10 @@
+2000-09-13  Tom Tromey  <tromey@cygnus.com>
+
+       * java/lang/reflect/natArray.cc (BooleanClass): New define.
+       (get): Ensure Boolean class is initialized.
+       * java/lang/reflect/natField.cc (BooleanClass): New define.
+       (get): Ensure Boolean class is initialized.
+
 2000-09-13  Bryce McKinlay  <bryce@albatross.co.nz>
 
        * java/lang/String.java (CASE_INSENSITIVE_ORDER): New static field.
index fd9536889dc9053e6a30bceabe2fa780f0c57f10..4bce9ce8c0aebb83636ecf80fb42700373464e80 100644 (file)
@@ -25,6 +25,9 @@ details.  */
 #include <java/lang/Boolean.h>
 #include <java/lang/Character.h>
 
+#define BooleanClass _CL_Q34java4lang7Boolean
+extern java::lang::Class BooleanClass;
+
 jobject
 java::lang::reflect::Array::newInstance (jclass componentType, jint length)
 {
@@ -211,10 +214,13 @@ java::lang::reflect::Array::get (jobject array, jint index)
   if (elementType == JvPrimClass (char))
     return new java::lang::Character (elements ((jcharArray) array) [index]);
   if (elementType == JvPrimClass (boolean))
-    if (elements ((jbooleanArray) array) [index])
-      return java::lang::Boolean::TRUE;
-    else
-      return java::lang::Boolean::FALSE;
+    {
+      _Jv_InitClass (&BooleanClass);
+      if (elements ((jbooleanArray) array) [index])
+       return java::lang::Boolean::TRUE;
+      else
+       return java::lang::Boolean::FALSE;
+    }
   JvThrow (new java::lang::IllegalArgumentException());
 }
 
index 761324385f9092d52d67e330b7eedf8d4194d72c..3cd296c70216e9e841d5dce52336392c42065a70 100644 (file)
@@ -26,6 +26,9 @@ details.  */
 #include <java/lang/Boolean.h>
 #include <java/lang/Character.h>
 
+#define BooleanClass _CL_Q34java4lang7Boolean
+extern java::lang::Class BooleanClass;
+
 jint
 java::lang::reflect::Field::getModifiers ()
 {
@@ -251,10 +254,13 @@ java::lang::reflect::Field::get (jclass caller, jobject obj)
   if (fld->type == JvPrimClass (char))
     return new java::lang::Character (* (jchar*) addr);
   if (fld->type == JvPrimClass (boolean))
-    if (* (jboolean*) addr)
-      return java::lang::Boolean::TRUE;
-    else
-      return java::lang::Boolean::FALSE;
+    {
+      _Jv_InitClass (&BooleanClass);
+      if (* (jboolean*) addr)
+       return java::lang::Boolean::TRUE;
+      else
+       return java::lang::Boolean::FALSE;
+    }
   JvThrow (new java::lang::IllegalArgumentException());
 }