re PR libgcj/4208 (Problem using 'null' with Java reflection)
authorTom Tromey <tromey@redhat.com>
Tue, 4 Sep 2001 03:03:33 +0000 (03:03 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Tue, 4 Sep 2001 03:03:33 +0000 (03:03 +0000)
* java/lang/reflect/natField.cc (set): Allow for case when the
value is null.  Fixes PR libgcj/4208.

From-SVN: r45367

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

index 4c70701a62e25d1f5eaaf5fa27ac45eeb5c1b943..aba2dd3d8ee27783a54c86d51cca2ccd0015d445 100644 (file)
@@ -1,7 +1,7 @@
-2001-09-02  Tom Tromey  <tromey@redhat.com>
+2001-09-03  Tom Tromey  <tromey@redhat.com>
 
-       * java/security/spec/AlgorithmParameterSpec.java,
-       java/security/spec/KeySpec.java: Re-merged with Classpath.
+       * java/lang/reflect/natField.cc (set): Allow for case when the
+       value is null.  Fixes PR libgcj/4208.
 
        * gcj/javaprims.h: Regenerated class list.
        * java/lang/IllegalThreadStateException.java,
index b627485b58bb7daffe1da0fa46139b945785a3bf..3ca9293a816660db5554f9e90042954d709f2c79 100644 (file)
@@ -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;