Files
kotlin-fork/compiler/testData/diagnostics/tests/dataFlowInfoTraversal/IfThenElse.fir.kt
T
simon.ogorodnik 34e6649d31 [FIR] Harden check of argument type properly
Before this commit, nullable argument could match not null parameter.
Now we require also correct nullability that breaks some cases
2020-02-03 16:45:18 +03:00

31 lines
506 B
Kotlin
Vendored

fun bar(x: Int): Int = x + 1
fun foo() {
val x: Int? = null
bar(if (x == null) 0 else x)
if (x == null) {
<!INAPPLICABLE_CANDIDATE!>bar<!>(x)
return
} else {
bar(x)
}
bar(x)
val y: Int? = null
if (y is Int) {
bar(y)
} else {
<!INAPPLICABLE_CANDIDATE!>bar<!>(y)
return
}
bar(y)
val z: Int? = null
if (z != null) bar(z)
<!INAPPLICABLE_CANDIDATE!>bar<!>(z)
bar(z!!)
if (z != null) bar(z!!)
}