<i18n dev> RFR: 8253459: Formatter treats index, width and precision > Integer.MAX_VALUE incorrectly

Ian Graves igraves at openjdk.java.net
Mon Oct 5 22:31:50 UTC 2020


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.

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

Commit messages:
 - Updating docs and throwing errors accordingly

Changes: https://git.openjdk.java.net/jdk/pull/516/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=516&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8253459
  Stats: 77 lines in 2 files changed: 74 ins; 0 del; 3 mod
  Patch: https://git.openjdk.java.net/jdk/pull/516.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/516/head:pull/516

PR: https://git.openjdk.java.net/jdk/pull/516


More information about the i18n-dev mailing list