JDK 9 RFR: JDK-8177146 MethodHandles.Lookup::bind allows illegal protected access

Roger Riggs Roger.Riggs at Oracle.com
Wed Apr 26 17:43:53 UTC 2017


Hi,

Not to be really picky but the MethodHandles source file really stresses 
the coding conventions for long lines,
recommended line breaks, etc.  But not a comment on the proposed changes.

Roger


On 4/26/2017 1:00 PM, Paul Sandoz wrote:
>> On 26 Apr 2017, at 09:50, Ron Pressler <ron.pressler at oracle.com> wrote:
>>
>> Hi.
>> Please review,
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8177146
>> Webrev: http://cr.openjdk.java.net/~psandoz/jdk9/JDK-8177146-bind-protected-method/webrev/
>>
> +1
>
> Paul.
>
>> -----
>>
>> The patch contains a few changes:
>>
>> 1. The method `getDirectMethodCommon`, was changed so that if narrowing due to protected method access must be done, it will be done regardless of the flag doRestrict.
>>
>> 2. The private method ` getDirectMethodNoRestrict` was renamed to ` getDirectMethodNoRestrictInvokeSpecial`.
>>
>> 3. The method `bind` was changed to throw the correct exception type, IAException.
>>
>> 4. `restrictReceiver` was changed such that it never widens the receiver type. This could happen when the receiver was a subclass of the caller class, and triggered the assertion (this happened not only in calls to `bind` but also to `findVirtual`).
>>
>> -----
>>
>> Thanks
>> Ron
>>
>>



More information about the core-libs-dev mailing list