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

14 lines
400 B
Kotlin
Vendored

// !DIAGNOSTICS: -DEBUG_INFO_SMARTCAST
fun bar(x: Int): Int = x + 1
fun foo() {
val x: Int? = null
if (x != null && bar(x) == 0) bar(bar(x))
<!INAPPLICABLE_CANDIDATE!>bar<!>(x)
if (x == null || bar(x) == 0) bar(<!INAPPLICABLE_CANDIDATE!>bar<!>(x))
<!INAPPLICABLE_CANDIDATE!>bar<!>(x)
if (x is Int && bar(x)*bar(x) == bar(x)) bar(x)
<!INAPPLICABLE_CANDIDATE!>bar<!>(x)
}