On Thu, 15 Jun 2023 15:44:04 GMT, Jorn Vernee <jver...@openjdk.org> wrote:

> This patch changes the implementation of `MethodHandles::collectCoordinates` 
> to allow using filters that return `void`. This brings the behavior in line 
> with the previously existing `MethodHandles::collectArgument` which operates 
> on MethodHandles rather than VarHandles.
> 
> Testing: jdk-tier1,2,3

Looks good (thanks for taking care of this). The javadoc can probably be 
consolidated a bit further.

src/java.base/share/classes/java/lang/invoke/MethodHandles.java line 8191:

> 8189:      * coordinate list.
> 8190:      * <p>
> 8191:      * If {@code R} is the return type of the filter, then, unless 
> {@code R} is void, the target var handle must accept

Not introduced by you - but this para seems to be repeated twice-ish. I think 
we should try to consolidate the two, if we can.

src/java.base/share/classes/java/lang/invoke/MethodHandles.java line 8203:

> 8201:      * If the return type of the filter is <em>not</em> void, it must 
> be identical to the
> 8202:      * coordinate type of the target var handle at position {@code 
> pos}, and that target var handle
> 8203:      * coordinate is supplied by the return value of the filter. If the 
> return type of the filter <em>is</em> void,

This is the other para I was talking about in the other comment.

-------------

Marked as reviewed by mcimadamore (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/14496#pullrequestreview-1482554155
PR Review Comment: https://git.openjdk.org/jdk/pull/14496#discussion_r1231654844
PR Review Comment: https://git.openjdk.org/jdk/pull/14496#discussion_r1231654864

Reply via email to