looks good to me. Might even work in the word “partition” or mention a class belongs to exactly one nest.
Sent from my iPad > On Nov 9, 2017, at 8:25 AM, David Holmes <[email protected]> wrote: > >> On 7/11/2017 10:25 PM, Brian Goetz wrote: >> That's a good description of what a nest mate is. What could be added is a >> reference the the jvms section that defines it, and a comment that says it >> is up to the source language compiler to decide what classes are nest mates >> , and that java puts inner classes in the nest of their enclosing class (w >> jlink ref). This could be moved to a section in the package javadoc and >> referenced from the Class doc. > > Okay I've incorporated the suggested changes and updated in place: > > http://cr.openjdk.java.net/~dholmes/8188075/webrev/raw_files/new/java/lang/Class.html#getNestHost() > > I hope it isn't TMI for John. > > I looked at the package javadoc for java.lang, and java.lang.reflect, and I > looked at the class javadoc for Class, and I couldn't see anywhere I could > put this that would not look completely out of place. So I've left it as > extended commentary (apiNote) in getNestHost(). > > Thanks, > David > > >> Sent from my MacBook Wheel >>> On Nov 7, 2017, at 11:31 AM, David Holmes <[email protected]> wrote: >>> >>> Hi Brian, >>> >>> Thanks for the prompt review! >>> >>>> On 7/11/2017 6:41 PM, Brian Goetz wrote: >>>> The specs are fine. But a reader who doesn't know what a nest is will >>>> never figure it out from the docs. Would be good if nest host had an API >>>> note that explained how classes become nestmantes. >>> >>> True - though I would prefer it if there were some definitive source we >>> could refer to that explains this rather than putting an ad-hoc definition >>> into the API docs. Perhaps we need something in the JLS (as API docs tend >>> not to reference the JVMS). ?? >>> >>> Otherwise ... >>> >>> "A nest is a set of classes (nest mates) that form an access control >>> context in which each class has access to the private members of the other >>> classes in the nest. The set of classes consisting of a top-level class >>> plus all of its nested classes, is an example of a nest. The nest host is >>> the class designated to hold the list of classes that make up the nest, and >>> to which each of the other nest mates refer - a top-level class is always a >>> nest host." >>> >>> But it gets messy if you then have to explain that unless compiled for nest >>> mates, every class is considered its own nest and nest host. >>> >>> Thanks, >>> David >>> >>> >>> >>>> Sent from my MacBook Wheel >>>>> On Nov 7, 2017, at 7:26 AM, David Holmes <[email protected]> wrote: >>>>> >>>>> For comment: >>>>> >>>>> http://cr.openjdk.java.net/~dholmes/8188075/webrev/raw_files/new/java/lang/Class.html#getNestHost() >>>>> >>>>> Three functions added: >>>>> - getNestHost >>>>> - isNestmateOf >>>>> - getNestMembers >>>>> >>>>> The first two never throw exceptions related to nest hosts or nest >>>>> membership. The third does. >>>>> >>>>> Thanks, >>>>> David
