K2 IC: fix member lookup recording

The previous code recorded only class name, instead of fqname,
as a scope of lookup.

#KT-65943 fixed
#KTIJ-24828 fixed
related to #KT-56197
This commit is contained in:
Ilya Chernikov
2024-02-21 16:33:18 +01:00
committed by Space Team
parent f38dc3999c
commit 5b62558798
35 changed files with 269 additions and 208 deletions
@@ -6,10 +6,10 @@ import baz.*
/*p:foo*/fun usages() {
val c = /*p:bar*/C()
/*p:C(field) p:bar.C(field) p:kotlin(Int)*/c.field
/*p:C(field) p:bar.C(field) p:kotlin(Int)*/c.field = 2
/*p:C(func) p:bar.C(func) p:kotlin(Unit)*/c.func()
/*p:C.B(B) p:bar(B) p:bar.C(B)*/c.B()
/*p:bar.C(field) p:kotlin(Int)*/c.field
/*p:bar.C(field) p:kotlin(Int)*/c.field = 2
/*p:bar.C(func) p:kotlin(Unit)*/c.func()
/*p:bar(B) p:bar.C(B) p:bar.C.B(B)*/c.B()
/*p:bar p:baz p:foo*/C.sfield
/*p:bar p:baz p:foo*/C.sfield = "new"
@@ -17,21 +17,21 @@ import baz.*
/*p:bar p:bar(S) p:baz p:foo*/C.S()
// inherited from I
/*p:C(ifunc) p:bar.C(ifunc) p:kotlin(Unit)*/c.ifunc()
/*p:bar.C(ifunc) p:kotlin(Unit)*/c.ifunc()
/*p:bar p:baz p:foo*/C.isfield
// expected error: Unresolved reference: IS
/*p:bar p:bar(IS) p:baz p:baz(IS) p:foo p:foo(IS)*/C.IS()
val i: /*p:bar p:baz p:foo*/I = c
/*p:I(ifunc) p:foo.I(ifunc) p:kotlin(Unit)*/i.ifunc()
/*p:foo.I(ifunc) p:kotlin(Unit)*/i.ifunc()
/*p:bar p:baz p:foo*/I.isfield
/*p:bar p:baz p:foo p:foo(IS)*/I.IS()
/*p:bar p:baz p:foo*/E.F
/*p:E(field) p:bar p:baz p:baz.E(field) p:foo p:kotlin(Int)*/E.F.field
/*p:E(func) p:bar p:baz p:baz.E(func) p:foo p:kotlin(Unit)*/E.S.func()
/*p:bar p:baz p:baz.E(field) p:foo p:kotlin(Int)*/E.F.field
/*p:bar p:baz p:baz.E(func) p:foo p:kotlin(Unit)*/E.S.func()
}
fun classifiers(