// KT-5665 import java.lang.annotation.* Retention(RetentionPolicy.RUNTIME) annotation class First Retention(RetentionPolicy.RUNTIME) annotation class Second(val value: String) enum class E { [First] E1 { fun foo() = "something" } [Second("OK")] E2 } fun box(): String { val e = javaClass() val e1 = e.getDeclaredField(E.E1.toString()).getAnnotations() if (e1.size() != 1) return "Fail E1 size: ${e1.toList()}" if (e1[0].annotationType() != javaClass()) return "Fail E1: ${e1.toList()}" val e2 = e.getDeclaredField(E.E2.toString()).getAnnotations() if (e2.size() != 1) return "Fail E2 size: ${e2.toList()}" if (e2[0].annotationType() != javaClass()) return "Fail E2: ${e2.toList()}" return (e2[0] as Second).value }