Inspectopedia 2025.3 Help

Suspicious cascading 'if' expression

Reports cascading if expressions where the last else branch is part of a dot-qualified or binary expression.

This can lead to unexpected behavior because only the innermost if-else expression becomes the receiver or left operand of the outer expression, which may not align with the intended logic.

Example:

fun printNumberSign(num: Int) { if (num > 0) { "positive" } else if (num < 0) { "negative" } else { "zero" }.let { print(it) } } fun main() { printNumberSign(1) // Nothing is printed because the receiver of 'let' is only the inner 'if-else' expression }

After applying the first quick-fix (converting to when):

fun printNumberSign(num: Int) { when { num > 0 -> { "positive" } num < 0 -> { "negative" } else -> { "zero" } }.let { print(it) } } fun main() { printNumberSign(1) // Prints "positive" }

Alternatively, the second quick-fix adds clarifying braces to preserve the original semantics while making the nested else branch explicit:

fun printNumberSign(num: Int) { if (num > 0) { "positive" } else { if (num < 0) { "negative" } else { "zero" }.let { print(it) } } } fun main() { printNumberSign(1) // Nothing is printed, but the code is clearer }

Locating this inspection

By ID

Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.

SuspiciousCascadingIf
Via Settings dialog

Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.

Settings or Preferences | Editor | Inspections | Kotlin | Probable bugs

Inspection ID: SuspiciousCascadingIf

Suppressing Inspection

You can suppress this inspection by placing the following comment marker before the code fragment where you no longer want messages from this inspection to appear:

//noinspection SuspiciousCascadingIf

More detailed instructions as well as other ways and options that you have can be found in the product documentation:

Inspection Details

By default bundled with:

IntelliJ IDEA 2025.3, Qodana for JVM 2025.3,

Last modified: 03 December 2025