src/share/classes/sun/invoke/util/VerifyAccess.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/classes/sun/invoke/util/VerifyAccess.java	Mon Jan 27 19:25:10 2014
--- new/src/share/classes/sun/invoke/util/VerifyAccess.java	Mon Jan 27 19:25:10 2014

*** 116,126 **** --- 116,126 ---- case PROTECTED: if ((allowedModes & PROTECTED_OR_PACKAGE_ALLOWED) != 0 && isSamePackage(defc, lookupClass)) return true; if ((allowedModes & PROTECTED) != 0 && ! isPublicSuperClass(defc, lookupClass)) ! 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 **** --- 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 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