FIR: Fix callable references resolution with stub receivers

Use stubReceiver as a receiver for fake calls

See issues KT-43358 KT-43359 KT-43378
This commit is contained in:
Denis Zharkov
2020-11-15 13:15:15 +03:00
parent f97cc0b62d
commit d4c7d4fc7c
12 changed files with 27 additions and 29 deletions
@@ -4,10 +4,10 @@ class A {
fun A.extA(x: String) = x
fun main() {
<!UNRESOLVED_REFERENCE!>Int::extInt<!>
Int::extInt
A::extA
<!INAPPLICABLE_CANDIDATE!>eat<!>(<!UNRESOLVED_REFERENCE!>Int::extInt<!>)
eat(Int::extInt)
eat(A::extA)
}
}
@@ -27,7 +27,7 @@ fun testA(a: A) {
fun testB(b: B) {
val call1 = call(B::foo)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int")!>call1<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>call1<!>
val call2 = call(B()::foo)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>call2<!>
@@ -22,7 +22,7 @@ fun B.foo(): Double = 0.0
fun call(a: Any) {}
fun testA(a: A) {
call(A::foo)
call(<!UNRESOLVED_REFERENCE!>A::foo<!>)
call(A.Companion::foo)
}