// TARGET_BACKEND: JVM // WITH_STDLIB // 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: box.kt import kotlin.reflect.KClass import kotlin.test.assertEquals annotation class Anno(val token: String) enum class E { EA } annotation class Annos(val value: Array) annotation class Strings(val value: Array) annotation class Ints(val value: IntArray) annotation class Enums(val value: Array) annotation class Classes(val value: Array>) class C : A() fun box(): String { val annotations = C::class.java.getMethod("test").annotations.toList() assertEquals("OK", annotations.filterIsInstance().single().value.single().token) assertEquals("OK", annotations.filterIsInstance().single().value.single()) assertEquals(42, annotations.filterIsInstance().single().value.single()) assertEquals(E.EA, annotations.filterIsInstance().single().value.single()) assertEquals(Double::class, annotations.filterIsInstance().single().value.single()) return "OK" }