[FIR] Fix extension property reference resolution

On type with star projection
#KT-44372 Fixed
This commit is contained in:
Andrey Zinovyev
2021-05-25 18:10:38 +03:00
committed by teamcityserver
parent 2b4ea8e6e7
commit ddc9c1bd1b
9 changed files with 56 additions and 9 deletions
@@ -24,10 +24,10 @@ fun <T> Foo2<T>.setX(y: T): T {
fun Float.bar() {}
fun test1() {
val fooSetRef = <!DEBUG_INFO_EXPRESSION_TYPE("ERROR CLASS: Unresolved reference: setX")!>Foo<*>::<!UNRESOLVED_REFERENCE!>setX<!><!>
val fooSetRef = <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.reflect.KFunction2<Foo<*>, CapturedType(*), CapturedType(*)>")!>Foo<*>::setX<!>
val foo = Foo<Float>(1f)
fooSetRef.<!UNRESOLVED_REFERENCE!>invoke<!>(foo, 1)
fooSetRef.invoke(foo, <!ARGUMENT_TYPE_MISMATCH!>1<!>)
foo.x.bar()
}
@@ -42,10 +42,10 @@ fun test2() {
}
fun test3() {
val fooSetRef = <!DEBUG_INFO_EXPRESSION_TYPE("ERROR CLASS: Unresolved reference: setX")!>Foo2<*>::<!UNRESOLVED_REFERENCE!>setX<!><!>
val fooSetRef = <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.reflect.KFunction2<Foo2<*>, CapturedType(*), CapturedType(*)>")!>Foo2<*>::setX<!>
val foo = Foo2<Int>(1)
fooSetRef.<!UNRESOLVED_REFERENCE!>invoke<!>(foo, "")
fooSetRef.invoke(foo, <!ARGUMENT_TYPE_MISMATCH!>""<!>)
foo.x.<!INAPPLICABLE_CANDIDATE!>bar<!>()
}