On Wed, 18 Nov 2020 22:57:19 GMT, Ian Graves <[email protected]> wrote:
>> The `java.util.Formatter` format specifies support for field widths,
>> argument indexes, or precision lengths of a field that relate to the
>> variadic arguments supplied to the formatter. These numbers are specified by
>> integers, sometimes negative. For argument index, it's specified in the
>> documentation that the highest allowed argument is limited by the largest
>> possible index of an array (ie the largest possible variadic index), but for
>> the other two it's not defined. Moreover, what happens when a number field
>> in a string is too large or too small to be represented by a 32-bit integer
>> type is not defined.
>>
>> This fix adds documentation to specify what error behavior occurs during
>> these cases. Additionally it adds an additional exception type to throw when
>> an invalid argument index is observed.
>>
>> A CSR will be required for this PR.
>
> Ian Graves has updated the pull request incrementally with one additional
> commit since the last revision:
>
> 'unrepresentable' to 'not representable'
Marked as reviewed by smarks (Reviewer).
test/jdk/java/util/IllegalFormatException/TestFormatSpecifierBounds.java line
48:
> 46: String r = String.format("%2147483648$s", "A", "B");
> 47: });
> 48: //assertEquals(e.getMessage(), "Illegal format argument index = "
> + Integer.MIN_VALUE);
Extraneous comment?
-------------
PR: https://git.openjdk.java.net/jdk/pull/516