OSDN Git Service

* java/lang/reflect/natField.cc (set): Allow for case when the
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 4 Sep 2001 03:03:33 +0000 (03:03 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 4 Sep 2001 03:03:33 +0000 (03:03 +0000)
value is null.  Fixes PR libgcj/4208.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45367 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 4c70701..aba2dd3 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 b627485..3ca9293 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;