RFR: 8300543 Compiler Implementation for Pattern Matching for switch [v2]
Jan Lahoda
jlahoda at openjdk.org
Tue Apr 18 09:13:01 UTC 2023
> This is the first draft of a patch for JEP 440 and JEP 441. Changes included:
>
> - the pattern matching for switch and record patterns features are made final, together with updates to tests.
> - parenthesized patterns are removed.
> - qualified enum constants are supported for case labels.
>
> This change herein also includes removal record patterns in for each loop, which may be split into a separate PR in the future.
Jan Lahoda has updated the pull request incrementally with six additional commits since the last revision:
- Fixing infinite loop where a binding pattern is replaced with a binding pattern for the same type.
- Reflecting review comments.
- Fixing exhaustiveness for unsealed supertype pattern.
- No need to enable features after error reported.
- SwitchBootstraps.typeSwitch should not initialize enum classes.
- A prototype of avoiding enum initialization.
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/13074/files
- new: https://git.openjdk.org/jdk/pull/13074/files/57445212..a6ba602b
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=13074&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=13074&range=00-01
Stats: 332 lines in 8 files changed: 260 ins; 32 del; 40 mod
Patch: https://git.openjdk.org/jdk/pull/13074.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/13074/head:pull/13074
PR: https://git.openjdk.org/jdk/pull/13074
More information about the core-libs-dev
mailing list