[jdk17] Integrated: 8268320: Better error recovery for broken patterns in switch
Jan Lahoda
jlahoda at openjdk.java.net
Wed Jun 30 09:52:07 UTC 2021
On Fri, 25 Jun 2021 12:58:59 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
This pull request has now been integrated.
Changeset: 4ee400ae
Author: Jan Lahoda <jlahoda at openjdk.org>
URL: https://git.openjdk.java.net/jdk17/commit/4ee400ae433efbccd71cbebce6847033e76bc949
Stats: 164 lines in 7 files changed: 112 ins; 3 del; 49 mod
8268320: Better error recovery for broken patterns in switch
Reviewed-by: vromero
-------------
PR: https://git.openjdk.java.net/jdk17/pull/146
More information about the compiler-dev
mailing list