Files
kotlin-fork/jps/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/foo.kt
T
Ilya Chernikov 5b62558798 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
2024-03-12 11:38:06 +00:00

72 lines
1.5 KiB
Kotlin
Vendored

package foo
import bar.*
/*p:foo*/class A {
val a = 1
var b = ""
val c: /*p:bar p:foo*/String
get() = /*p:foo.A p:kotlin(String)*/b
var d: /*p:bar p:foo*/String = "ddd"
get() = field
set(v) { field = v }
fun foo() {
/*p:foo.A p:kotlin(Int)*/a
/*p:foo.A p:kotlin(Unit)*/foo()
/*p:foo.A(a) p:kotlin(Int)*/this.a
/*p:foo.A(foo) p:kotlin(Unit)*/this.foo()
/*p:bar p:foo p:foo.A p:foo.A.Companion p:kotlin(Unit)*/baz()
/*p:bar p:foo p:foo.A p:foo.A(a) p:foo.A.Companion p:foo.A.Companion(a) p:kotlin(Int)*/Companion.a
/*p:bar p:foo p:foo.A p:foo.A.Companion p:foo.A.O(v) p:kotlin(String)*/O.v = "OK"
}
class B {
val a = 1
companion object CO {
fun bar(a: /*p:bar p:foo*/Int) {}
}
}
inner class C
companion object {
val a = 1
fun baz() {}
}
object O {
var v = "vvv"
}
}
/*p:foo*/interface I {
var a: /*p:bar p:foo*/Int
fun foo()
class NI
}
/*p:foo*/object Obj : /*p:bar p:foo*/I {
override var a = 1
override fun foo() {}
val b = 1
fun bar(): /*p:bar p:foo*/I = null as /*p:bar p:foo*/I
}
/*p:foo*/enum class E {
X,
Y;
val a = 1
fun foo() {
/*p:foo.E p:kotlin(Int)*/a
/*p:bar p:foo p:foo.E p:foo.E(a) p:kotlin(Int) p:kotlin.Enum p:kotlin.Enum.Companion*/Y.a
/*p:foo.E p:kotlin(Unit)*/foo()
/*p:bar p:foo p:foo.E p:foo.E(foo) p:kotlin(Unit) p:kotlin.Enum p:kotlin.Enum.Companion*/X.foo()
}
}