diff options
author | Tom Tromey <tromey@redhat.com> | 2001-09-04 03:03:33 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2001-09-04 03:03:33 +0000 |
commit | 9d09d14437f07b537b3d91acf93ec89ca5094a41 (patch) | |
tree | c09eeac4ba57909e96654d46fbd936c7e6d47ce6 /libjava/java/lang/reflect | |
parent | 0f64ba53eec6bd4ffd283cd9ce6be6795c7f6c9a (diff) | |
download | gcc-9d09d14437f07b537b3d91acf93ec89ca5094a41.zip gcc-9d09d14437f07b537b3d91acf93ec89ca5094a41.tar.gz gcc-9d09d14437f07b537b3d91acf93ec89ca5094a41.tar.bz2 |
re PR libgcj/4208 (Problem using 'null' with Java reflection)
* java/lang/reflect/natField.cc (set): Allow for case when the
value is null. Fixes PR libgcj/4208.
From-SVN: r45367
Diffstat (limited to 'libjava/java/lang/reflect')
-rw-r--r-- | libjava/java/lang/reflect/natField.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libjava/java/lang/reflect/natField.cc b/libjava/java/lang/reflect/natField.cc index b627485..3ca9293 100644 --- a/libjava/java/lang/reflect/natField.cc +++ b/libjava/java/lang/reflect/natField.cc @@ -418,9 +418,10 @@ java::lang::reflect::Field::setDouble (jclass caller, jobject obj, jdouble d) } void -java::lang::reflect::Field::set (jclass caller, jobject object, jobject value, jclass type) +java::lang::reflect::Field::set (jclass caller, jobject object, jobject value, + jclass type) { - if (! _Jv_IsInstanceOf (value, type)) + if (value != NULL && ! _Jv_IsInstanceOf (value, type)) throw new java::lang::IllegalArgumentException; void* addr = getAddr (this, caller, object); * (jobject*) addr = value; |