On Sat, 18 Oct 2025 05:05:48 GMT, Phil Race <[email protected]> wrote:

> This is a follow-on to 8365077: java.awt.font.NumericShaper violates 
> equals/hashCode contract
> 
> The factory method to construct a contextual shaper from a bitmask will 
> happily store illegal, unspecified bits.
> So there are still ways to create instances which violate the contract.
> 
> This isn't possible with the enum approach. We should align these two. And we 
> should document it.
> 
> Additionally the behaviour of eliminating an value which is of lesser 
> precedence is also something we should specify.
> 
> CSR : https://bugs.openjdk.org/browse/JDK-8370161

Marked as reviewed by psadhukhan (Reviewer).

src/java.desktop/share/classes/java/awt/font/NumericShaper.java line 1446:

> 1444:      * Any bit set in the {@code ranges} bitmask which is not a
> 1445:      * recognised value is discarded. Similarly if two bits are
> 1446:      * specified where one takes precedence, the lesser one is 
> discarded.

should we mention "take precedence over the other" to be consistent with other 
updated javadoc?

src/java.desktop/share/classes/java/awt/font/NumericShaper.java line 1467:

> 1465:      *
> 1466:      * If two ranges are specified where one takes precedence over the
> 1467:      * other the lesser range is discarded.

shouldn't there be a "," after other?

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

PR Review: https://git.openjdk.org/jdk/pull/27884#pullrequestreview-3397575640
PR Review Comment: https://git.openjdk.org/jdk/pull/27884#discussion_r2476528313
PR Review Comment: https://git.openjdk.org/jdk/pull/27884#discussion_r2476527196

Reply via email to