< prev index next >
src/java.base/share/classes/java/lang/reflect/AccessibleObject.java
Print this page
rev 49922 : 8202419: Avoid creating Permission constants early
Reviewed-by: TBD
*** 33,42 ****
--- 33,43 ----
import jdk.internal.module.IllegalAccessLogger;
import jdk.internal.reflect.CallerSensitive;
import jdk.internal.reflect.Reflection;
import jdk.internal.reflect.ReflectionFactory;
import sun.security.action.GetPropertyAction;
+ import sun.security.util.SecurityConstants;
/**
* The {@code AccessibleObject} class is the base class for {@code Field},
* {@code Method}, and {@code Constructor} objects (known as <em>reflected
* objects</em>). It provides the ability to flag a reflected object as
*** 71,91 ****
* @revised 9
* @spec JPMS
*/
public class AccessibleObject implements AnnotatedElement {
- /**
- * The Permission object that is used to check whether a client
- * has sufficient privilege to defeat Java language access
- * control checks.
- */
- private static final java.security.Permission ACCESS_PERMISSION =
- new ReflectPermission("suppressAccessChecks");
-
static void checkPermission() {
SecurityManager sm = System.getSecurityManager();
! if (sm != null) sm.checkPermission(ACCESS_PERMISSION);
}
/**
* Convenience method to set the {@code accessible} flag for an
* array of reflected objects with a single security check (for efficiency).
--- 72,84 ----
* @revised 9
* @spec JPMS
*/
public class AccessibleObject implements AnnotatedElement {
static void checkPermission() {
SecurityManager sm = System.getSecurityManager();
! if (sm != null) sm.checkPermission(SecurityConstants.ACCESS_PERMISSION);
}
/**
* Convenience method to set the {@code accessible} flag for an
* array of reflected objects with a single security check (for efficiency).
< prev index next >