[jdk17] RFR: 8268320: Better error recovery for broken patterns in switch [v2]

Vicente Romero vromero at openjdk.java.net
Tue Jun 29 22:31:01 UTC 2021


On Fri, 25 Jun 2021 13:40:30 GMT, Jan Lahoda <jlahoda at openjdk.org> wrote:

>> [a copy of https://github.com/openjdk/jdk/pull/4441 for JDK 17]
>> 
>> Trying to improve error recovery in case the user wanted to use a type-pattern in the switch construct, but didn't put a binding variable name after the type name. E.g.:
>> 
>> $ cat test/langtools/tools/javac/diags/examples/PatternExpected.java
>> [snip]
>> class PatternSwitch {
>>     private void doSwitch(Object o) {
>>         switch (o) {
>>             case String: break;
>>             default: break;
>>         }
>>     }
>> }
>> $ javac --enable-preview -source 17  test/langtools/tools/javac/diags/examples/PatternExpected.java
>> test/langtools/tools/javac/diags/examples/PatternExpected.java:32: error: type pattern expected
>>             case String: break;
>>                  ^
>> Note: test/langtools/tools/javac/diags/examples/PatternExpected.java uses preview features of Java SE 17.
>> Note: Recompile with -Xlint:preview for details.
>> 1 error
>
> Jan Lahoda has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fixing output.

lgtm

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

Marked as reviewed by vromero (Reviewer).

PR: https://git.openjdk.java.net/jdk17/pull/146


More information about the compiler-dev mailing list