AA standalone: more tests about resolving properties in nested class/object from binary

This commit is contained in:
Jinseong Jeon
2023-12-07 22:59:39 -08:00
committed by teamcity
parent d603115def
commit 4c7e9f3cbf
15 changed files with 141 additions and 7 deletions
@@ -1,2 +1,2 @@
Resolved to:
PsiField:VAL_FLAG
PsiField:Dependency.VAL_FLAG: PsiType:Flag<?>
@@ -1,2 +1,2 @@
Resolved to:
PsiField:JVM_FIELD_FLAG
PsiField:Dependency.JVM_FIELD_FLAG: PsiType:Flag<?>
@@ -1,2 +1,2 @@
Resolved to:
PsiField:JVM_STATIC_FLAG
PsiField:Dependency.JVM_STATIC_FLAG: PsiType:Flag<?>
@@ -0,0 +1,34 @@
// MODULE: lib
// FILE: some/Outer.kt
package some
interface Flag<T>
class Outer {
val VAL_FLAG: Flag<*> = TODO()
var varFlag: Flag<*> = TODO()
inner class Inner {
val VAL_FLAG: Flag<*> = TODO()
var varFlag: Flag<*> = TODO()
}
}
// MODULE: app(lib)
// FILE: main.kt
package some
private fun consumeFlag(p: Flag<*>) {
println(p)
}
fun test() {
val o = Outer()
consumeFlag(o.VAL_FLAG)
consumeFlag(o.varFlag)
val i = o.Inner()
consumeFlag(i.VAL_FLAG)
consumeFlag(i.var<caret>Flag)
}
@@ -0,0 +1,2 @@
Resolved to:
PsiField:Inner.varFlag: PsiType:Flag<?>
@@ -1,2 +1,2 @@
Resolved to:
PsiField:VAL_FLAG
PsiField:Dependency.VAL_FLAG: PsiType:Flag<?>
@@ -1,2 +1,2 @@
Resolved to:
PsiField:JVM_FIELD_FLAG
PsiField:Dependency.JVM_FIELD_FLAG: PsiType:Flag<?>
@@ -1,2 +1,2 @@
Resolved to:
PsiField:JVM_STATIC_FLAG
PsiField:Dependency.JVM_STATIC_FLAG: PsiType:Flag<?>
@@ -0,0 +1,33 @@
// MODULE: lib
// FILE: some/Outer.kt
package some
interface Flag<T>
class Outer {
val VAL_FLAG: Flag<*> = TODO()
var varFlag: Flag<*> = TODO()
object O {
val VAL_FLAG: Flag<*> = TODO()
var varFlag: Flag<*> = TODO()
}
}
// MODULE: app(lib)
// FILE: main.kt
package some
private fun consumeFlag(p: Flag<*>) {
println(p)
}
fun test() {
val o = Outer()
consumeFlag(o.VAL_FLAG)
consumeFlag(o.varFlag)
consumeFlag(Outer.O.VAL_FLAG)
consumeFlag(Outer.O.var<caret>Flag)
}
@@ -0,0 +1,2 @@
Resolved to:
PsiField:O.varFlag: PsiType:Flag<?>
@@ -1,2 +1,2 @@
Resolved to:
PsiField:varFlag
PsiField:DependencyObject.varFlag: PsiType:Flag<?>
@@ -0,0 +1,34 @@
// MODULE: lib
// FILE: some/Outer.kt
package some
interface Flag<T>
class Outer {
val VAL_FLAG: Flag<*> = TODO()
var varFlag: Flag<*> = TODO()
inner class Inner {
val VAL_FLAG: Flag<*> = TODO()
var varFlag: Flag<*> = TODO()
}
}
// MODULE: app(lib)
// FILE: main.kt
package some
private fun consumeFlag(p: Flag<*>) {
println(p)
}
fun test() {
val o = Outer()
consumeFlag(o.VAL_<caret>FLAG)
consumeFlag(o.varFlag)
val i = o.Inner()
consumeFlag(i.VAL_FLAG)
consumeFlag(i.varFlag)
}
@@ -0,0 +1,2 @@
Resolved to:
PsiField:Outer.VAL_FLAG: PsiType:Flag<?>