RFR: 8294942: Compiler implementation for Record Patterns (Second Preview) [v5]
Vicente Romero
vromero at openjdk.org
Tue Nov 15 16:26:13 UTC 2022
On Tue, 15 Nov 2022 12:36:36 GMT, Jan Lahoda <jlahoda at openjdk.org> wrote:
>> This is a partial implementation of [JEP 432: Record Patterns (Second Preview)](https://openjdk.org/jeps/432) and [JEP 433: Pattern Matching for switch (Fourth Preview)](https://openjdk.org/jeps/433). Namely, it implements:
>>
>> - removal of named record patterns
>> - (preview) type inference for type test and record patterns
>> - cleaner switch case specification (e.g. no combination of `null` constants and type test patterns)
>> - fixing exhaustiveness of certain switches
>>
>> The patch does not contain support for record patterns in enhanced for statements, that is [part of a separate pull request](https://github.com/openjdk/jdk/pull/10798).
>>
>> For more information on the changes please see:
>> - the JEPs: [JEP 432](https://openjdk.org/jeps/432) and [JEP 433](https://openjdk.org/jeps/433)
>> - the CSRs: [JEP 432 - JDK-8294944](https://bugs.openjdk.org/browse/JDK-8294944) and [JEP 433 - JDK-8294946](https://bugs.openjdk.org/browse/JDK-8294946)
>> - the current [specification draft](http://cr.openjdk.java.net/~gbierman/jep432%2b433/jep432%2b433-20221028/specs/patterns-switch-record-patterns-jls.html)
>>
>> Current total specdiff for both this PR and [the enhanced for PR](https://github.com/openjdk/jdk/pull/10798) is [here](http://cr.openjdk.java.net/~jlahoda/8294945/specdiff.preliminary.00/overview-summary.html).
>>
>> Any feedback is welcome.
>>
>> Thanks!
>
> Jan Lahoda has updated the pull request incrementally with one additional commit since the last revision:
>
> Reflecting review feedback - proper handling of type vars and intersection types.
I just added a nit comment. Really nice job, very complex patch, lots of details and moving parts, very vertical also with mostly all phases affected adding to the complexity, lots of fun to reviewed it too. Well done!
-------------
Marked as reviewed by vromero (Reviewer).
PR: https://git.openjdk.org/jdk/pull/10814
More information about the compiler-dev
mailing list