< prev index next >

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

Print this page
rev 58565 : 8238358: Implementation of JEP 371: Hidden Classes
Reviewed-by: duke
Contributed-by: mandy.chung@oracle.com, lois.foltan@oracle.com, david.holmes@oracle.com, harold.seigel@oracle.com, serguei.spitsyn@oracle.com, alex.buckley@oracle.com, jamsheed.c.m@oracle.com
rev 58567 : [mq]: rename-isHidden

*** 33,43 **** Class<?> type = field.getType(); boolean isStatic = Modifier.isStatic(field.getModifiers()); boolean isFinal = Modifier.isFinal(field.getModifiers()); boolean isVolatile = Modifier.isVolatile(field.getModifiers()); boolean isQualified = isFinal || isVolatile; ! boolean isReadOnly = isFinal && (isStatic || !override || field.getDeclaringClass().isHiddenClass()); if (isStatic) { // This code path does not guarantee that the field's // declaring class has been initialized, but it must be // before performing reflective operations. UnsafeFieldAccessorImpl.unsafe.ensureClassInitialized(field.getDeclaringClass()); --- 33,43 ---- Class<?> type = field.getType(); boolean isStatic = Modifier.isStatic(field.getModifiers()); boolean isFinal = Modifier.isFinal(field.getModifiers()); boolean isVolatile = Modifier.isVolatile(field.getModifiers()); boolean isQualified = isFinal || isVolatile; ! boolean isReadOnly = isFinal && (isStatic || !override || field.getDeclaringClass().isHidden()); if (isStatic) { // This code path does not guarantee that the field's // declaring class has been initialized, but it must be // before performing reflective operations. UnsafeFieldAccessorImpl.unsafe.ensureClassInitialized(field.getDeclaringClass());
< prev index next >