Files
kotlin-fork/compiler/testData/diagnostics/tests/BinaryCallsOnNullableValues.fir.kt
T
Mikhail Glukhikh 3663884db2 FIR: support CONDITION_TYPE_MISMATCH diagnostic
We report CONDITION_TYPE_MISMATCH on
- loop conditions
- when branch conditions
- binary logic arguments
2021-05-20 12:22:20 +03:00

33 lines
738 B
Kotlin
Vendored

// !WITH_NEW_INFERENCE
class A() {
override fun equals(other : Any?) : Boolean = false
}
fun f(): Unit {
var x: Int? = 1
x = null
x <!UNSAFE_OPERATOR_CALL!>+<!> 1
x <!UNSAFE_CALL!>plus<!> 1
x <!UNSAFE_OPERATOR_CALL!><<!> 1
x <!UNRESOLVED_REFERENCE!>+=<!> 1
x == 1
x != 1
<!EQUALITY_NOT_APPLICABLE!>A() == 1<!>
<!EQUALITY_NOT_APPLICABLE!>x === "1"<!>
<!EQUALITY_NOT_APPLICABLE!>x !== "1"<!>
x === 1
x !== 1
x<!UNSAFE_OPERATOR_CALL!>..<!>2
<!ARGUMENT_TYPE_MISMATCH!>x<!> in 1..2
val y : Boolean? = true
false || <!CONDITION_TYPE_MISMATCH!>y<!>
<!CONDITION_TYPE_MISMATCH!>y<!> && true
<!CONDITION_TYPE_MISMATCH!>y<!> && <!CONDITION_TYPE_MISMATCH!>1<!>
}