Psi2ir: load single-value Java array annotation arguments correctly

#KT-47467 Fixed
This commit is contained in:
Alexander Udalov
2021-07-02 21:01:05 +02:00
parent 269f83f86e
commit 113632c49c
10 changed files with 374 additions and 1 deletions
@@ -0,0 +1,28 @@
// SKIP_KT_DUMP
// TARGET_BACKEND: JVM
// IGNORE_BACKEND_FIR: JVM_IR
// FILE: A.java
public class A {
@Annos(value = @Anno(token = "OK"))
@Strings(value = "OK")
@Ints(value = 42)
@Enums(value = E.EA)
@Classes(value = double.class)
public void test() {}
}
// FILE: C.kt
import kotlin.reflect.KClass
annotation class Anno(val token: String)
enum class E { EA }
annotation class Annos(val value: Array<Anno>)
annotation class Strings(val value: Array<String>)
annotation class Ints(val value: IntArray)
annotation class Enums(val value: Array<E>)
annotation class Classes(val value: Array<KClass<*>>)
class C : A()