< prev index next >

src/java.base/share/classes/java/lang/reflect/Field.java

Print this page

        

@@ -165,10 +165,16 @@
      */
     @Override
     @CallerSensitive
     public void setAccessible(boolean flag) {
         AccessibleObject.checkPermission();
+
+        if (clazz.isValue() && Modifier.isFinal(modifiers)) {
+            throw new InaccessibleObjectException(
+                "Unable to make a value class field \"" + this + "\" accessible");
+        }
+
         if (flag) checkCanSetAccessible(Reflection.getCallerClass());
         setAccessible0(flag);
     }
 
     @Override
< prev index next >