aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/reflect
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2001-09-04 03:03:33 +0000
committerTom Tromey <tromey@gcc.gnu.org>2001-09-04 03:03:33 +0000
commit9d09d14437f07b537b3d91acf93ec89ca5094a41 (patch)
treec09eeac4ba57909e96654d46fbd936c7e6d47ce6 /libjava/java/lang/reflect
parent0f64ba53eec6bd4ffd283cd9ce6be6795c7f6c9a (diff)
downloadgcc-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.cc5
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;