[FIR] Bring equivalent call behavior closer to K1

#KT-61159 Fixed
This commit is contained in:
Kirill Rakhman
2023-08-14 17:01:29 +02:00
committed by Space Team
parent 7c67e9e08b
commit fa77e3952d
39 changed files with 408 additions and 126 deletions
@@ -11,7 +11,7 @@ class MyClass2 {}
fun test(mc1: MyClass, mc2: MyClass2) {
val (a, b) = <!COMPONENT_FUNCTION_MISSING!>mc1<!>
val (c) = mc2
val (c) = <!COMPONENT_FUNCTION_AMBIGUITY!>mc2<!>
//a,b,c are error types
use(a, b, c)
@@ -10,9 +10,9 @@ fun f(): Unit<!> = TODO()
fun f(): Unit<!> = TODO()
fun test(a: A, b: B) {
with(a) {
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>with<!>(a) {
with(b) {
f()
<!OVERLOAD_RESOLUTION_AMBIGUITY!>f<!>()
}
}
}
@@ -0,0 +1,14 @@
// FIR_IDENTICAL
// MODULE: lib
// FILE: lib.kt
val lock = "1"
// MODULE: main(lib)
// FILE: main.kt
private val lock = "2"
fun test() {
lock
}
@@ -8,4 +8,4 @@ fun main(args: Array<String>) {}
fun main(args: Array<String>) {}
// FILE: c.kt
fun foo() { main(arrayOf("a", "b")) }
fun foo() { <!OVERLOAD_RESOLUTION_AMBIGUITY!>main<!>(arrayOf("a", "b")) }