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/

-----

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


Reply via email to