Extract checks on equality expressions into a separate checker

^KT-43493 Fixed
This commit is contained in:
Victor Petukhov
2021-08-10 10:52:16 +03:00
committed by TeamCityServer
parent 598f09d7a5
commit 060af85a93
7 changed files with 160 additions and 64 deletions
@@ -0,0 +1,19 @@
// WITH_RUNTIME
fun main(x: Long, y: Int) {
sequence {
1L == 3
x == 3
3 == 1L
3 == x
y == x
1L === 3
x === 3
3 === 1L
3 === x
y === x
yield("")
}
}
@@ -0,0 +1,19 @@
// WITH_RUNTIME
fun main(x: Long, y: Int) {
sequence {
<!EQUALITY_NOT_APPLICABLE("==; Long; Int")!>1L == 3<!>
<!EQUALITY_NOT_APPLICABLE("==; Long; Int")!>x == 3<!>
<!EQUALITY_NOT_APPLICABLE("==; Int; Long")!>3 == 1L<!>
<!EQUALITY_NOT_APPLICABLE("==; Int; Long")!>3 == x<!>
<!EQUALITY_NOT_APPLICABLE("==; Int; Long")!>y == x<!>
<!EQUALITY_NOT_APPLICABLE("===; Long; Int")!>1L === 3<!>
<!EQUALITY_NOT_APPLICABLE("===; Long; Int")!>x === 3<!>
<!EQUALITY_NOT_APPLICABLE("===; Int; Long")!>3 === 1L<!>
<!EQUALITY_NOT_APPLICABLE("===; Int; Long")!>3 === x<!>
<!EQUALITY_NOT_APPLICABLE("===; Int; Long")!>y === x<!>
yield("")
}
}
@@ -0,0 +1,4 @@
package
public fun main(/*0*/ x: kotlin.Long, /*1*/ y: kotlin.Int): kotlin.Unit