Commit 96fa18eb by Tom Tromey Committed by Tom Tromey

natArray.cc (BooleanClass): New define.

	* 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
parent 1ca04dc8
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> 2000-09-13 Bryce McKinlay <bryce@albatross.co.nz>
* java/lang/String.java (CASE_INSENSITIVE_ORDER): New static field. * java/lang/String.java (CASE_INSENSITIVE_ORDER): New static field.
......
...@@ -25,6 +25,9 @@ details. */ ...@@ -25,6 +25,9 @@ details. */
#include <java/lang/Boolean.h> #include <java/lang/Boolean.h>
#include <java/lang/Character.h> #include <java/lang/Character.h>
#define BooleanClass _CL_Q34java4lang7Boolean
extern java::lang::Class BooleanClass;
jobject jobject
java::lang::reflect::Array::newInstance (jclass componentType, jint length) java::lang::reflect::Array::newInstance (jclass componentType, jint length)
{ {
...@@ -211,10 +214,13 @@ java::lang::reflect::Array::get (jobject array, jint index) ...@@ -211,10 +214,13 @@ java::lang::reflect::Array::get (jobject array, jint index)
if (elementType == JvPrimClass (char)) if (elementType == JvPrimClass (char))
return new java::lang::Character (elements ((jcharArray) array) [index]); return new java::lang::Character (elements ((jcharArray) array) [index]);
if (elementType == JvPrimClass (boolean)) if (elementType == JvPrimClass (boolean))
if (elements ((jbooleanArray) array) [index]) {
return java::lang::Boolean::TRUE; _Jv_InitClass (&BooleanClass);
else if (elements ((jbooleanArray) array) [index])
return java::lang::Boolean::FALSE; return java::lang::Boolean::TRUE;
else
return java::lang::Boolean::FALSE;
}
JvThrow (new java::lang::IllegalArgumentException()); JvThrow (new java::lang::IllegalArgumentException());
} }
......
...@@ -26,6 +26,9 @@ details. */ ...@@ -26,6 +26,9 @@ details. */
#include <java/lang/Boolean.h> #include <java/lang/Boolean.h>
#include <java/lang/Character.h> #include <java/lang/Character.h>
#define BooleanClass _CL_Q34java4lang7Boolean
extern java::lang::Class BooleanClass;
jint jint
java::lang::reflect::Field::getModifiers () java::lang::reflect::Field::getModifiers ()
{ {
...@@ -251,10 +254,13 @@ java::lang::reflect::Field::get (jclass caller, jobject obj) ...@@ -251,10 +254,13 @@ java::lang::reflect::Field::get (jclass caller, jobject obj)
if (fld->type == JvPrimClass (char)) if (fld->type == JvPrimClass (char))
return new java::lang::Character (* (jchar*) addr); return new java::lang::Character (* (jchar*) addr);
if (fld->type == JvPrimClass (boolean)) if (fld->type == JvPrimClass (boolean))
if (* (jboolean*) addr) {
return java::lang::Boolean::TRUE; _Jv_InitClass (&BooleanClass);
else if (* (jboolean*) addr)
return java::lang::Boolean::FALSE; return java::lang::Boolean::TRUE;
else
return java::lang::Boolean::FALSE;
}
JvThrow (new java::lang::IllegalArgumentException()); JvThrow (new java::lang::IllegalArgumentException());
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment