Draft JEPs for Patterns in switch and Record Patterns

Gavin Bierman gavin.bierman at oracle.com
Wed Mar 1 00:42:31 UTC 2023


Fixed. Thanks.

> On 28 Feb 2023, at 21:11, John Hendrikx <hjohn at xs4all.nl> wrote:
> 
> In https://openjdk.org/jeps/8300542, the example in "Improved support for enum constant case labels" seems to be incorrect.
> 
> I think the `goodEnumSwitch2`:
> 
>    static void goodEnumSwitch2(Currency c) {
> 
> Should use `Coin` as parameter:
> 
>    static void goodEnumSwitch2(Coin c) {
> 
> Also, the enum is called `Coin`, but `Coins` is used a qualifier in several places.
> 
> --John
> 
> ------ Original Message ------
> From "Gavin Bierman" <gavin.bierman at oracle.com>
> To "amber-dev at openjdk.org" <amber-dev at openjdk.org>
> Cc "amber-spec-experts" <amber-spec-experts at openjdk.org>
> Date 28/02/2023 17:21:42
> Subject Draft JEPs for Patterns in switch and Record Patterns
> 
>> Hello,
>> 
>> We are planning to finalize the two pattern matching JEPs in JDK 21. Drafts of
>> these final JEPs are available here:
>> 
>> Pattern matching for switch: https://openjdk.org/jeps/8300542
>> Record patterns:             https://openjdk.org/jeps/8300541
>> 
>> We're proposing some small changes from the preview versions about to appear in
>> JDK 20. These include:
>> 
>> - We're dropping parenthesized patterns. They were leftover from a previous
>> version of patterns, and they weren't used very much. They complicate the spec
>> for not a lot of gain.
>> 
>> - We're going to support case labels that are the qualified name of enum
>> constants, and allow switches over non-enum types to have enum case labels
>> provided they use the qualified names of the enum constants and these labels
>> are assignment compatible with the switch type.
>> 
>> - We're dropping the support for record patterns in the header of enhanced for
>> statements. These will re-appear in a separate forthcoming JEP.
>> 
>> Please take a look at these new JEPs and give us your feedback (either on this
>> list or directly to me).
>> 
>> Thanks,
>> Gavin
>> 
> 



More information about the amber-dev mailing list