On Tue, 18 Apr 2023 09:13:01 GMT, Jan Lahoda <jlah...@openjdk.org> wrote:

>> 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.

src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java line 1021:

> 1019:              *    on patterns in the chosen column, as described above
> 1020:              */
> 1021:             var grouppedPerRecordClass =

Suggestion:

            var groupedPerRecordClass =

src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java line 1058:

> 1056:                                     for (int i = 0; i < 
> rpOne.nested.length; i++) {
> 1057:                                         if (i != mismatchingCandidate &&
> 1058:                                             
> !exactlyMatches(rpOne.nested[i], rpOther.nested[i])) {

should `exactlyMatches` be the implementation of `equals` in the 
`PatternDescriptor` class?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/13074#discussion_r1170131443
PR Review Comment: https://git.openjdk.org/jdk/pull/13074#discussion_r1170135800

Reply via email to