RFR: 8348410: Preview flag not checked during compilation resulting in runtime crash [v3]

Jan Lahoda jlahoda at openjdk.org
Mon May 12 09:08:53 UTC 2025


On Wed, 7 May 2025 15:08:36 GMT, Archie Cobbs <acobbs at openjdk.org> wrote:

>> JEP 455 adds support for `switch`'ing on `long`, `float`, `double`, and `boolean`. Since this feature is still in preview, the `--enable-preview` flag is required. The compiler was properly checking that when the expressions had primitive type, but not when the expression a corresponding boxed type (i.e., `Long`, `Float`, `Double`, and `Boolean`). This resulted in `BootstrapMethodError` failures at runtime. This PR closes that loophole.
>
> Archie Cobbs has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains five additional commits since the last revision:
> 
>  - Merge branch 'master' into JDK-8348410
>  - Address review of #23303
>  - Merge branch 'master' into JDK-8348410
>  - Fix typo in regression test @summary lines.
>  - Check preview enabled for switch on boxed Booleam, Long, Float, or Double.

Looks good, thanks!

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

Marked as reviewed by jlahoda (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/23303#pullrequestreview-2832450028


More information about the compiler-dev mailing list