--- old/src/java.base/share/classes/java/lang/invoke/MethodHandles.java 2018-05-18 03:23:10.096173874 -0400 +++ new/src/java.base/share/classes/java/lang/invoke/MethodHandles.java 2018-05-18 03:23:08.544083969 -0400 @@ -469,15 +469,20 @@ * methods as if they were normal methods, but the JVM bytecode verifier rejects them. * A lookup of such an internal method will produce a {@code NoSuchMethodException}. *

- * In some cases, access between nested classes is obtained by the Java compiler by creating - * an wrapper method to access a private method of another class - * in the same top-level declaration. + * If the relationship between nested types is expressed directly through the + * {@code NestHost} and {@code NestMembers} attributes + * (see the Java Virtual Machine Specification, sections 4.7.28 and 4.7.29), + * then the associated {@code Lookup} object provides direct access to + * the lookup class and all of its nestmates + * (see {@link java.lang.Class#getNestHost Class.getNestHost}). + * Otherwise, access between nested classes is obtained by the Java compiler creating + * a wrapper method to access a private method of another class in the same nest. * For example, a nested class {@code C.D} * can access private members within other related classes such as * {@code C}, {@code C.D.E}, or {@code C.B}, * but the Java compiler may need to generate wrapper methods in * those related classes. In such cases, a {@code Lookup} object on - * {@code C.E} would be unable to those private members. + * {@code C.E} would be unable to access those private members. * A workaround for this limitation is the {@link Lookup#in Lookup.in} method, * which can transform a lookup on {@code C.E} into one on any of those other * classes, without special elevation of privilege. @@ -499,11 +504,12 @@ * Discussion of private access: * We say that a lookup has private access * if its {@linkplain #lookupModes lookup modes} - * include the possibility of accessing {@code private} members. + * include the possibility of accessing {@code private} members + * (which includes the private members of nestmates). * As documented in the relevant methods elsewhere, * only lookups with private access possess the following capabilities: *