src/share/classes/sun/invoke/util/VerifyAccess.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
jdk Cdiff src/share/classes/sun/invoke/util/VerifyAccess.java
src/share/classes/sun/invoke/util/VerifyAccess.java
Print this page
*** 116,126 ****
case PROTECTED:
if ((allowedModes & PROTECTED_OR_PACKAGE_ALLOWED) != 0 &&
isSamePackage(defc, lookupClass))
return true;
if ((allowedModes & PROTECTED) != 0 &&
! isPublicSuperClass(defc, lookupClass))
return true;
return false;
case PACKAGE_ONLY: // That is, zero. Unmarked member is package-only access.
return ((allowedModes & PACKAGE_ALLOWED) != 0 &&
isSamePackage(defc, lookupClass));
--- 116,126 ----
case PROTECTED:
if ((allowedModes & PROTECTED_OR_PACKAGE_ALLOWED) != 0 &&
isSamePackage(defc, lookupClass))
return true;
if ((allowedModes & PROTECTED) != 0 &&
! isSuperClass(defc, lookupClass))
return true;
return false;
case PACKAGE_ONLY: // That is, zero. Unmarked member is package-only access.
return ((allowedModes & PACKAGE_ALLOWED) != 0 &&
isSamePackage(defc, lookupClass));
*** 138,149 ****
return (refc == lookupClass ||
refc.isAssignableFrom(lookupClass) ||
lookupClass.isAssignableFrom(refc));
}
! static boolean isPublicSuperClass(Class<?> defc, Class<?> lookupClass) {
! return isPublic(getClassModifiers(defc)) && defc.isAssignableFrom(lookupClass);
}
static int getClassModifiers(Class<?> c) {
// This would return the mask stored by javac for the source-level modifiers.
// return c.getModifiers();
--- 138,149 ----
return (refc == lookupClass ||
refc.isAssignableFrom(lookupClass) ||
lookupClass.isAssignableFrom(refc));
}
! static boolean isSuperClass(Class<?> defc, Class<?> lookupClass) {
! return defc.isAssignableFrom(lookupClass);
}
static int getClassModifiers(Class<?> c) {
// This would return the mask stored by javac for the source-level modifiers.
// return c.getModifiers();
src/share/classes/sun/invoke/util/VerifyAccess.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File