FIR: support CONDITION_TYPE_MISMATCH diagnostic
We report CONDITION_TYPE_MISMATCH on - loop conditions - when branch conditions - binary logic arguments
This commit is contained in:
+4
-4
@@ -19,13 +19,13 @@ import checkType
|
||||
import check
|
||||
|
||||
// TESTCASE NUMBER: 0
|
||||
fun foo() = run { false && JavaClass.VALUE && throw Exception() }
|
||||
fun foo() = run { false && <!CONDITION_TYPE_MISMATCH!>JavaClass.VALUE<!> && throw Exception() }
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case1() {
|
||||
val a: Boolean? = false
|
||||
checkSubtype<Boolean?>(a)
|
||||
val x4 = a && true
|
||||
val x4 = <!CONDITION_TYPE_MISMATCH!>a<!> && true
|
||||
x4 <!OVERLOAD_RESOLUTION_AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ fun case1() {
|
||||
fun case2() {
|
||||
val a: Any = false
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>a<!>
|
||||
val x4 = a && true
|
||||
val x4 = <!CONDITION_TYPE_MISMATCH!>a<!> && true
|
||||
x4 <!OVERLOAD_RESOLUTION_AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ fun case3() {
|
||||
val a2 = JavaClass.VALUE
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any..kotlin.Any?!")!>a2<!>
|
||||
|
||||
val x3 = a1 && a2
|
||||
val x3 = a1 && <!CONDITION_TYPE_MISMATCH!>a2<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Boolean")!>x3<!>
|
||||
|
||||
x3 <!OVERLOAD_RESOLUTION_AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
|
||||
|
||||
Reference in New Issue
Block a user