[FIR] Rewind DFA after call arguments for correct receiver smartcasting
^KT-63709 Fixed
This commit is contained in:
+14
@@ -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!!)
|
||||
}
|
||||
}
|
||||
+14
@@ -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!!)
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -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()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user