[Nestmates] Minor updates and clarifications to the Reflection API specification

David Holmes david.holmes at oracle.com
Wed May 23 21:27:32 UTC 2018


Thank you Karen - and EG members.

David

On 24/05/2018 3:07 AM, Karen Kinnear wrote:
> David,
> 
> The Valhalla EG met today May 23, 2018 and walked through the details of 
> this proposal and how
> they relate to the JVMS.
> 
> The EG was ok with these changes. Thank you for sending them for review.
> 
> thanks,
> Karen
> 
>> On May 22, 2018, at 8:08 PM, David Holmes <david.holmes at oracle.com 
>> <mailto:david.holmes at oracle.com>> wrote:
>>
>> Code review found some minor issues that needed attention. Please 
>> advise if there are any concerns with these changes.
>>
>> Thanks,
>>
>> David
>>
>>
>> Full specs: http://cr.openjdk.java.net/~dholmes/8010319-JEP181/specs
>>
>>
>>       java.lang.Class::getNestHost()
>>
>> http://cr.openjdk.java.net/~dholmes/8010319-JEP181/specs/java.lang/java/lang/Class.html
>>
>>   * Error handling
>>
>>     The original text stated:
>>
>>         "If there is any
>>         error<http://cr.openjdk.java.net/%7Edholmes/8010319-JEP181/specs/java.lang/java/lang/LinkageError.html>
>>         accessing the nest host, or the nest host is in any way
>>         invalid, then |this| is returned."
>>
>>     but the implementation only catches LinkageErrors. In the original
>>     discussion:
>>
>>     http://mail.openjdk.java.net/pipermail/valhalla-spec-experts/2017-October/000386.html
>>
>>     this wasn't discussed explicitly. It was mentioned by me in passing:
>>
>>     "Though a case can still be made to allow VME's to pass through."
>>
>>     and that is what has been happening with other API's (eg.
>>     MethodHandles). It is generally bad form to catch things like
>>     OutOfMemoryError and StackOverflow, so these should just
>>     propagate. So the text is updated to read:
>>
>>         "If there is anylinkage error
>>         <http://cr.openjdk.java.net/%7Edholmes/8010319-JEP181/specs/java.lang/java/lang/LinkageError.html>
>>         accessing the nest host, or the nest host is in any way
>>         invalid, then |this| is returned."
>>
>>     where "linkage error" links to LinkageError.
>>
>>   * Additional clarifying/explanatory text
>>       o To the paragraph starting "A /nest/ is a set of classes and
>>         interfaces ..", we add the final sentence: "
>>         All nestmates are implicitly defined in the same runtime package."
>>       o In the sentence starting "A class or interface that is not
>>         explicitly a member of a nest, is a member of the nest
>>         consisting only of itself, ..." we insert a clarification
>>         concerning primitive and array classes: "A class or interface
>>         that is not explicitly a member of a nest (such as a primitive
>>         or array class), is a member of the nest consisting only of
>>         itself, ..."
>>       o The @return text is reworded from: "the nest host of this
>>         class, or this if we cannot obtain a valid nest host" to "the
>>         nest host of this class, or |this| if a valid nest host cannot
>>         be obtained"
>>
>>
>>
> 


More information about the valhalla-spec-observers mailing list