Once control flow has been moved out of the current code block, any subsequent statements become effectively unreachable.
Jump statements (return, break and continue) move control flow out of the current code block. So any
statements that come after a jump are dead code.
fun foo(a: Int): Int {
var i = 10;
return a + i; // Noncompliant
i++; // dead code
}
fun foo(a: Int): Int {
var i = 10;
return a + i;
}