Inspectopedia Help

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