Version
2.49.0
Checker
MissingCasesInEnumSwitch
Description
The checker reports MissingCasesInEnumSwitch on a switch with default expressed via a catch-all type pattern (Java 21+)
Reproducer
package repro;
public class Repro {
enum MyEnum { A, B, C, D }
String f(MyEnum e) {
switch (e) {
case A -> { return "a"; }
case B -> { return "b"; }
case MyEnum other -> { return "other: " + other; }
}
}
}
[MissingCasesInEnumSwitch] Non-exhaustive switch; either add a default or handle the remaining cases: C, D
switch (e) {
^
(see https://errorprone.info/bugpattern/MissingCasesInEnumSwitch)
Expected behavior
javac accepts the switch as exhaustive and so should error-prone
Version
2.49.0
Checker
MissingCasesInEnumSwitchDescription
The checker reports
MissingCasesInEnumSwitchon a switch withdefaultexpressed via a catch-all type pattern (Java 21+)Reproducer
Expected behavior
javacaccepts the switch as exhaustive and so should error-prone