[core-libs] RFR (L): 8010319: Implementation of JEP 181: Nest-Based Access Control
Peter Levart
peter.levart at gmail.com
Tue May 22 15:07:10 UTC 2018
On 05/22/2018 12:36 PM, Peter Levart wrote:
> So how about putting the nestmate access logic just before the last if
> (!successSoFar) { return false; }:
>
> // Check for nestmate access if member is private
> if (!successSoFar && Modifier.isPrivate(modifiers)) {
> // assert: targetClass == null || isSubclassof(targetClass,
> memberClass)
> // Note: targetClass may be outside the nest, but that is okay
> // as long as memberClass is in the nest.
> successSoFar = areNestMates(currentClass, memberClass);
> }
>
> if (!successSoFar) {
> return false;
> }
>
>
> This would not penalize access to package-private and protected
> members with areNestMates() JNI calls and maybe caching will not be
> needed at all.
Ah, just leave it as is. The if (Modifier.isPrivate(modifiers)) already
makes sure that areNestMates is called only for private members.
Peter
More information about the core-libs-dev
mailing list