On Tue, 20 Jun 2023 22:54:47 GMT, Maurizio Cimadamore <[email protected]>
wrote:
>> Improve the specification of `Linker.Option.firstVariadicArg`, by specifying
>> more clearly which index values are valid.
>
> src/java.base/share/classes/java/lang/foreign/Linker.java line 652:
>
>> 650: * The {@code index} value must be greater than zero, and less
>> than or equal to the number of argument layouts
>> 651: * of the function descriptor that is used in the same linkage
>> request as this option. When the {@code index} is
>> 652: * equal to the number of argument layouts in the descriptor,
>> it indicates a variadic function to which zero
>
> This sentence is not clear. If index == num layouts then it means *all*
> arguments are variadic?
index == 0 would mean all arguments are variadic. index == num layouts means
none. (just like `"abcd".substring(4)` returns an empty string).
> src/java.base/share/classes/java/lang/foreign/Linker.java line 659:
>
>> 657: * against which the index is validated is available.
>> 658: *
>> 659: * @param index the index of the first variadic argument layout
>> in the function descriptor associated
>
> IMHO this description is still confusing because it speaks about an index
> into the function descriptor argument layouts - which this thing is not.
Right, will polish this some more as well.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14565#discussion_r1236016752
PR Review Comment: https://git.openjdk.org/jdk/pull/14565#discussion_r1236017428