K2 IC: fix classifiers lookups
in particular nested classifiers and companions. #KTIJ-24833 fixed #KTIJ-24830 fixed #KT-55195 fixed
This commit is contained in:
committed by
Space Team
parent
a823bfd600
commit
39b05a0a1c
@@ -6,40 +6,40 @@ import baz.*
|
||||
/*p:foo*/fun usages() {
|
||||
val c = /*p:bar*/C()
|
||||
|
||||
/*p:bar.C(field)*/c.field
|
||||
/*p:bar.C(field)*/c.field = 2
|
||||
/*p:bar.C(func)*/c.func()
|
||||
/*p:bar(C.B) p:bar.C(B)*/c.B()
|
||||
/*p:bar(C) p:bar.C(field)*/c.field
|
||||
/*p:bar(C) p:bar.C(field)*/c.field = 2
|
||||
/*p:bar(C) p:bar.C(func)*/c.func()
|
||||
/*p:bar(C) p:bar.C(B)*/c.B()
|
||||
|
||||
/*p:bar.C(sfield) p:baz p:foo*/C.sfield
|
||||
/*p:bar.C(sfield) p:baz p:foo*/C.sfield = "new"
|
||||
/*p:bar.C(sfunc) p:baz p:foo*/C.sfunc()
|
||||
/*p:bar p:bar.C(S) p:baz p:foo*/C.S()
|
||||
/*p:bar.C(S) p:baz p:foo*/C.S()
|
||||
|
||||
// inherited from I
|
||||
/*p:bar.C(ifunc)*/c.ifunc()
|
||||
/*p:bar(C) p:bar.C(ifunc)*/c.ifunc()
|
||||
/*p:bar.C(isfield) p:baz p:foo*/C.isfield
|
||||
// expected error: Unresolved reference: IS
|
||||
/*p:bar.C(IS) p:baz p:baz(IS) p:foo p:foo(IS)*/C.IS()
|
||||
|
||||
|
||||
val i: /*p:baz p:foo*/I = c
|
||||
/*p:foo.I(ifunc)*/i.ifunc()
|
||||
val i: /*p:baz p:foo*/I = /*p:bar(C)*/c
|
||||
/*p:foo(I) p:foo.I(ifunc)*/i.ifunc()
|
||||
|
||||
/*p:baz p:foo p:foo.I(isfield)*/I.isfield
|
||||
/*p:baz p:foo p:foo.I(IS)*/I.IS()
|
||||
|
||||
/*p:baz p:baz.E(F) p:foo*/E.F
|
||||
/*p:baz p:baz.E(F) p:baz.E(field) p:foo*/E.F.field
|
||||
/*p:baz p:baz.E(S) p:baz.E(func) p:foo*/E.S.func()
|
||||
/*p:baz p:baz.E(F) p:foo*/E./*p:baz(E)*/F
|
||||
/*p:baz p:baz.E(F) p:baz.E(field) p:foo*/E./*p:baz(E)*/F.field
|
||||
/*p:baz p:baz.E(S) p:baz.E(func) p:foo*/E./*p:baz(E)*/S.func()
|
||||
}
|
||||
|
||||
fun classifiers(
|
||||
c: /*p:baz p:foo*/C,
|
||||
b: /*p:baz p:foo*/C.B,
|
||||
s: /*p:baz p:foo*/C.S,
|
||||
cis: /*p:baz p:foo*/C.IS,
|
||||
c: /*p:bar p:baz p:foo*/C,
|
||||
b: /*p:bar.C(B) p:baz p:baz.C(B) p:foo p:foo.C(B)*/C.B,
|
||||
s: /*p:bar.C(S) p:baz p:baz.C(S) p:foo p:foo.C(S)*/C.S,
|
||||
cis: /*p:bar p:baz p:baz.C(IS) p:foo p:foo.C(IS)*/C.IS,
|
||||
i: /*p:baz p:foo*/I,
|
||||
iis: /*p:baz p:foo*/I.IS,
|
||||
iis: /*p:baz p:baz.I(IS) p:foo p:foo.I(IS)*/I.IS,
|
||||
e: /*p:baz p:foo*/E
|
||||
) {}
|
||||
|
||||
Reference in New Issue
Block a user