< prev index next >

src/java.base/share/classes/jdk/internal/reflect/UnsafeObjectFieldAccessorImpl.java

Print this page

        

@@ -32,11 +32,11 @@
         super(field);
     }
 
     public Object get(Object obj) throws IllegalArgumentException {
         ensureObj(obj);
-        return isFlattened ? unsafe.getValue(obj, fieldOffset, field.getType())
+        return isFlattened() ? unsafe.getValue(obj, fieldOffset, field.getType())
                            : unsafe.getObject(obj, fieldOffset);
     }
 
     public boolean getBoolean(Object obj) throws IllegalArgumentException {
         throw newGetBooleanIllegalArgumentException();

@@ -75,18 +75,12 @@
     {
         ensureObj(obj);
         if (isFinal) {
             throwFinalFieldIllegalAccessException(value);
         }
-        if (value != null) {
-            if (!field.getType().isAssignableFrom(value.getClass())) {
-                throwSetIllegalArgumentException(value);
-            }
-        } else if (field.getType().isValue()) {
-            throw new NullPointerException("cannot set this field of type " + field.getType() + " to null");
-        }
-        if (isFlattened) {
+        checkValue(value);
+        if (isFlattened()) {
             unsafe.putValue(obj, fieldOffset, field.getType(), value);
         } else {
             unsafe.putObject(obj, fieldOffset, value);
         }
     }
< prev index next >