I know, it’s subtle; that’s why I decided to describe it in detail :-)
> On 2017. Dec 4., at 16:36, Hannes Wallnöfer <hannes.wallnoe...@oracle.com>
> wrote:
>
> Took me some time to spot the difference in behaviour (adaptation of method
> type in Binder)!
>
> +1
>
> Hannes
>
>> Am 04.12.2017 um 13:40 schrieb Attila Szegedi <szege...@gmail.com>:
>>
>> Please review JDK-8192970 "Element getters/setters with fixed key fail to
>> link properly" at <http://cr.openjdk.java.net/~attila/8192970/webrev.jdk>
>> for <https://bugs.openjdk.java.net/browse/JDK-8192970>
>>
>> Note that this is unrelated to the previous refactoring (8191878), it is
>> present even before that and also in JDK9, I’ll have to separately produce a
>> backport fix for it. I discovered this while trying to expand the test
>> coverage (and good thing that I did, too…)
>>
>> The gist of the problem is that convertArgToNumber as it was before will
>> fail with IndexOutOfBoundsException invoking parameterType(1) on method type
>> for fixed-key getters, as they only have one parameter at index 0.
>>
>> The fix is to move the logic into the Binder and use the methodType it
>> manages, not the call site method type. This works because Binder always
>> works with a method type as if the getter/setter were variable-key (it adds
>> back the parameter type in its constructor if the operation is for a fixed
>> key).
>>
>> Thanks,
>> Attila.
>