From fa3f0d94aa07e26543ae03d87dfd64d06969ab8c Mon Sep 17 00:00:00 2001 From: tromey Date: Wed, 13 Sep 2000 18:15:42 +0000 Subject: * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36391 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/java/lang/reflect/natArray.cc | 14 ++++++++++---- libjava/java/lang/reflect/natField.cc | 14 ++++++++++---- 2 files changed, 20 insertions(+), 8 deletions(-) (limited to 'libjava/java') diff --git a/libjava/java/lang/reflect/natArray.cc b/libjava/java/lang/reflect/natArray.cc index fd9536889dc..4bce9ce8c0a 100644 --- a/libjava/java/lang/reflect/natArray.cc +++ b/libjava/java/lang/reflect/natArray.cc @@ -25,6 +25,9 @@ details. */ #include #include +#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()); } diff --git a/libjava/java/lang/reflect/natField.cc b/libjava/java/lang/reflect/natField.cc index 761324385f9..3cd296c7021 100644 --- a/libjava/java/lang/reflect/natField.cc +++ b/libjava/java/lang/reflect/natField.cc @@ -26,6 +26,9 @@ details. */ #include #include +#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()); } -- cgit v1.2.3