[FIR] Rewind DFA after call arguments for correct receiver smartcasting

^KT-63709 Fixed
This commit is contained in:
Brian Norman
2023-11-27 13:48:09 -06:00
committed by Space Team
parent 38d5e56530
commit 0881910a1b
128 changed files with 22457 additions and 16148 deletions
@@ -0,0 +1,14 @@
// SKIP_TXT
// ISSUE: KT-63709
operator fun Int.invoke(unused: Int) {}
fun test1(a: Int?) {
<!UNSAFE_IMPLICIT_INVOKE_CALL!>a<!>(a!!)
}
fun test2(a: Int?) {
with (a) {
<!UNSAFE_CALL!>invoke<!>(this!!)
}
}
@@ -0,0 +1,14 @@
// SKIP_TXT
// ISSUE: KT-63709
operator fun Int.invoke(unused: Int) {}
fun test1(a: Int?) {
<!UNSAFE_CALL!>a<!>(a!!)
}
fun test2(a: Int?) {
with (a) {
<!UNSAFE_CALL!>invoke<!>(this!!)
}
}
@@ -36,6 +36,6 @@ operator fun Int.invoke(y: Int, z: Int) {}
fun test5() {
var x: Int? = 10
x!!
<!UNSAFE_IMPLICIT_INVOKE_CALL!>x<!>(if (true) { x = null; 0 } else 0, <!ARGUMENT_TYPE_MISMATCH!>x<!>)
x(if (true) { x = null; 0 } else 0, <!ARGUMENT_TYPE_MISMATCH!>x<!>)
x<!UNSAFE_CALL!>.<!>inv()
}