Exhaustiveness check for switch expressions
Reports switch expressions that do not cover all possible outcomes of the matched expression.
Groovy does not require that switch expression must be exhaustive. It acts as if an implicit default -> null
branch is inserted. It may cause unexpected nulls if a developer forgets to insert necessary case
branches.
Example:
enum A { X, Y }
def foo(A a) {
def x = switch (a) { // reports switch
case A.X -> ...
}
}
Inspection options
Option | Type | Default |
---|---|---|
Report unmatched 'null' | Checkbox | false |
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Groovy, 233.SNAPSHOT |
Last modified: 13 July 2023