K2 UAST: lookup properties in the containing class, not companion object
...because properties in the companion object are materialized in the containing class. ^KTIJ-27684 fixed
This commit is contained in:
+35
@@ -0,0 +1,35 @@
|
||||
// MODULE: lib
|
||||
|
||||
// FILE: some/Dependency.kt
|
||||
package some
|
||||
|
||||
interface Flag<T>
|
||||
|
||||
class Dependency {
|
||||
companion object {
|
||||
@JvmField val JVM_FIELD_FLAG: Flag<*> = TODO()
|
||||
@JvmStatic val JVM_STATIC_FLAG: Flag<*> = TODO()
|
||||
val VAL_FLAG: Flag<*> = TODO()
|
||||
var varFlag: Flag<*> = TODO()
|
||||
}
|
||||
}
|
||||
|
||||
val DEPENDENCY_TOP_LEVEL_VAL_FLAG: Flag<*> = TODO()
|
||||
|
||||
// MODULE: app
|
||||
// DEPENDENCY: lib Binary
|
||||
// FILE: main.kt
|
||||
|
||||
package some
|
||||
|
||||
private fun consumeFlag(p: Flag<*>) {
|
||||
println(p)
|
||||
}
|
||||
|
||||
fun test() {
|
||||
consumeFlag(Dependency.JVM_FIELD_FLAG)
|
||||
consumeFlag(Dependency.JVM_STATIC_FLAG)
|
||||
consumeFlag(Dependency.VAL_<caret>FLAG)
|
||||
consumeFlag(Dependency.varFlag)
|
||||
consumeFlag(DEPENDENCY_TOP_LEVEL_VAL_FLAG)
|
||||
}
|
||||
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
Resolved to:
|
||||
PsiField:VAL_FLAG
|
||||
Vendored
+35
@@ -0,0 +1,35 @@
|
||||
// MODULE: lib
|
||||
|
||||
// FILE: some/Dependency.kt
|
||||
package some
|
||||
|
||||
interface Flag<T>
|
||||
|
||||
class Dependency {
|
||||
companion object {
|
||||
@JvmField val JVM_FIELD_FLAG: Flag<*> = TODO()
|
||||
@JvmStatic val JVM_STATIC_FLAG: Flag<*> = TODO()
|
||||
val VAL_FLAG: Flag<*> = TODO()
|
||||
var varFlag: Flag<*> = TODO()
|
||||
}
|
||||
}
|
||||
|
||||
val DEPENDENCY_TOP_LEVEL_VAL_FLAG: Flag<*> = TODO()
|
||||
|
||||
// MODULE: app
|
||||
// DEPENDENCY: lib Binary
|
||||
// FILE: main.kt
|
||||
|
||||
package some
|
||||
|
||||
private fun consumeFlag(p: Flag<*>) {
|
||||
println(p)
|
||||
}
|
||||
|
||||
fun test() {
|
||||
consumeFlag(Dependency.JVM_<caret>FIELD_FLAG)
|
||||
consumeFlag(Dependency.JVM_STATIC_FLAG)
|
||||
consumeFlag(Dependency.VAL_FLAG)
|
||||
consumeFlag(Dependency.varFlag)
|
||||
consumeFlag(DEPENDENCY_TOP_LEVEL_VAL_FLAG)
|
||||
}
|
||||
analysis/analysis-api/testData/standalone/multiModuleBinary/propertiesInCompanionObject_JvmField.txt
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
Resolved to:
|
||||
PsiField:JVM_FIELD_FLAG
|
||||
analysis/analysis-api/testData/standalone/multiModuleBinary/propertiesInCompanionObject_JvmStatic.kt
Vendored
+35
@@ -0,0 +1,35 @@
|
||||
// MODULE: lib
|
||||
|
||||
// FILE: some/Dependency.kt
|
||||
package some
|
||||
|
||||
interface Flag<T>
|
||||
|
||||
class Dependency {
|
||||
companion object {
|
||||
@JvmField val JVM_FIELD_FLAG: Flag<*> = TODO()
|
||||
@JvmStatic val JVM_STATIC_FLAG: Flag<*> = TODO()
|
||||
val VAL_FLAG: Flag<*> = TODO()
|
||||
var varFlag: Flag<*> = TODO()
|
||||
}
|
||||
}
|
||||
|
||||
val DEPENDENCY_TOP_LEVEL_VAL_FLAG: Flag<*> = TODO()
|
||||
|
||||
// MODULE: app
|
||||
// DEPENDENCY: lib Binary
|
||||
// FILE: main.kt
|
||||
|
||||
package some
|
||||
|
||||
private fun consumeFlag(p: Flag<*>) {
|
||||
println(p)
|
||||
}
|
||||
|
||||
fun test() {
|
||||
consumeFlag(Dependency.JVM_FIELD_FLAG)
|
||||
consumeFlag(Dependency.JVM_<caret>STATIC_FLAG)
|
||||
consumeFlag(Dependency.VAL_FLAG)
|
||||
consumeFlag(Dependency.varFlag)
|
||||
consumeFlag(DEPENDENCY_TOP_LEVEL_VAL_FLAG)
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
Resolved to:
|
||||
PsiField:JVM_STATIC_FLAG
|
||||
Vendored
+35
@@ -0,0 +1,35 @@
|
||||
// MODULE: lib
|
||||
|
||||
// FILE: some/Dependency.kt
|
||||
package some
|
||||
|
||||
interface Flag<T>
|
||||
|
||||
class Dependency {
|
||||
companion object Named {
|
||||
@JvmField val JVM_FIELD_FLAG: Flag<*> = TODO()
|
||||
@JvmStatic val JVM_STATIC_FLAG: Flag<*> = TODO()
|
||||
val VAL_FLAG: Flag<*> = TODO()
|
||||
var varFlag: Flag<*> = TODO()
|
||||
}
|
||||
}
|
||||
|
||||
val DEPENDENCY_TOP_LEVEL_VAL_FLAG: Flag<*> = TODO()
|
||||
|
||||
// MODULE: app
|
||||
// DEPENDENCY: lib Binary
|
||||
// FILE: main.kt
|
||||
|
||||
package some
|
||||
|
||||
private fun consumeFlag(p: Flag<*>) {
|
||||
println(p)
|
||||
}
|
||||
|
||||
fun test() {
|
||||
consumeFlag(Dependency.JVM_FIELD_FLAG)
|
||||
consumeFlag(Dependency.JVM_STATIC_FLAG)
|
||||
consumeFlag(Dependency.VAL_<caret>FLAG)
|
||||
consumeFlag(Dependency.varFlag)
|
||||
consumeFlag(DEPENDENCY_TOP_LEVEL_VAL_FLAG)
|
||||
}
|
||||
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
Resolved to:
|
||||
PsiField:VAL_FLAG
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
// MODULE: lib
|
||||
|
||||
// FILE: some/Dependency.kt
|
||||
package some
|
||||
|
||||
interface Flag<T>
|
||||
|
||||
class Dependency {
|
||||
companion object Named {
|
||||
@JvmField val JVM_FIELD_FLAG: Flag<*> = TODO()
|
||||
@JvmStatic val JVM_STATIC_FLAG: Flag<*> = TODO()
|
||||
val VAL_FLAG: Flag<*> = TODO()
|
||||
var varFlag: Flag<*> = TODO()
|
||||
}
|
||||
}
|
||||
|
||||
val DEPENDENCY_TOP_LEVEL_VAL_FLAG: Flag<*> = TODO()
|
||||
|
||||
// MODULE: app
|
||||
// DEPENDENCY: lib Binary
|
||||
// FILE: main.kt
|
||||
|
||||
package some
|
||||
|
||||
private fun consumeFlag(p: Flag<*>) {
|
||||
println(p)
|
||||
}
|
||||
|
||||
fun test() {
|
||||
consumeFlag(Dependency.JVM_<caret>FIELD_FLAG)
|
||||
consumeFlag(Dependency.JVM_STATIC_FLAG)
|
||||
consumeFlag(Dependency.VAL_FLAG)
|
||||
consumeFlag(Dependency.varFlag)
|
||||
consumeFlag(DEPENDENCY_TOP_LEVEL_VAL_FLAG)
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
Resolved to:
|
||||
PsiField:JVM_FIELD_FLAG
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
// MODULE: lib
|
||||
|
||||
// FILE: some/Dependency.kt
|
||||
package some
|
||||
|
||||
interface Flag<T>
|
||||
|
||||
class Dependency {
|
||||
companion object Named {
|
||||
@JvmField val JVM_FIELD_FLAG: Flag<*> = TODO()
|
||||
@JvmStatic val JVM_STATIC_FLAG: Flag<*> = TODO()
|
||||
val VAL_FLAG: Flag<*> = TODO()
|
||||
var varFlag: Flag<*> = TODO()
|
||||
}
|
||||
}
|
||||
|
||||
val DEPENDENCY_TOP_LEVEL_VAL_FLAG: Flag<*> = TODO()
|
||||
|
||||
// MODULE: app
|
||||
// DEPENDENCY: lib Binary
|
||||
// FILE: main.kt
|
||||
|
||||
package some
|
||||
|
||||
private fun consumeFlag(p: Flag<*>) {
|
||||
println(p)
|
||||
}
|
||||
|
||||
fun test() {
|
||||
consumeFlag(Dependency.JVM_FIELD_FLAG)
|
||||
consumeFlag(Dependency.JVM_<caret>STATIC_FLAG)
|
||||
consumeFlag(Dependency.VAL_FLAG)
|
||||
consumeFlag(Dependency.varFlag)
|
||||
consumeFlag(DEPENDENCY_TOP_LEVEL_VAL_FLAG)
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
Resolved to:
|
||||
PsiField:JVM_STATIC_FLAG
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
// MODULE: lib
|
||||
|
||||
// FILE: some/DependencyObject.kt
|
||||
package some
|
||||
|
||||
interface Flag<T>
|
||||
|
||||
object DependencyObject {
|
||||
val VAL_FLAG: Flag<*> = TODO()
|
||||
var varFlag: Flag<*> = TODO()
|
||||
}
|
||||
|
||||
// MODULE: app
|
||||
// DEPENDENCY: lib Binary
|
||||
// FILE: main.kt
|
||||
|
||||
package some
|
||||
|
||||
private fun consumeFlag(p: Flag<*>) {
|
||||
println(p)
|
||||
}
|
||||
|
||||
fun test() {
|
||||
consumeFlag(DependencyObject.VAL_FLAG)
|
||||
consumeFlag(DependencyObject.var<caret>Flag)
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
Resolved to:
|
||||
PsiField:varFlag
|
||||
Reference in New Issue
Block a user