Files
kotlin-fork/compiler/testData/diagnostics/tests/dataFlowInfoTraversal/DeepIf.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

32 lines
694 B
Kotlin
Vendored

// !DIAGNOSTICS: -DEBUG_INFO_SMARTCAST
fun bar(x: Int) = x + 1
fun foo() {
val x: Int? = null
if (x != null) {
bar(x)
if (x != null) {
bar(x)
if (1 < 2) bar(x)
if (1 > 2) bar(x)
}
if (x == null) {
bar(x)
}
if (x == null) bar(x) else bar(x)
bar(bar(x))
} else if (x == null) {
<!INAPPLICABLE_CANDIDATE!>bar<!>(x)
if (x != null) {
bar(x)
if (x == null) bar(x)
if (x == null) bar(x) else bar(x)
bar(bar(x) + bar(x))
} else if (x == null) {
<!INAPPLICABLE_CANDIDATE!>bar<!>(x)
}
}
}