[code-reflection] RFR: Fix lowering type pattern

Paul Sandoz psandoz at openjdk.org
Fri Dec 19 21:53:29 UTC 2025


On Fri, 19 Dec 2025 20:47:35 GMT, Mourad Abbay <mabbay at openjdk.org> wrote:

> The lowering of TypePattern was performing unnecessary check by invoking inexistent method on ExactConversionSupport e.g. `isIntToIntExact.

src/jdk.incubator.code/share/classes/jdk/incubator/code/dialect/java/JavaOp.java line 4937:

> 4935:             );
> 4936:             private static boolean isNarrowingPrimitiveConv(PrimitiveType s, PrimitiveType t) {
> 4937:                 return narrowingOrder.get(t) <= narrowingOrder.get(s) && !s.equals(t); // need to be strict, to not consider int -> int as narrowing

Can you replace with `narrowingOrder.get(t) < narrowingOrder.get(s) || !s.equals(t)`?

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

PR Review Comment: https://git.openjdk.org/babylon/pull/772#discussion_r2636393597


More information about the babylon-dev mailing list