// TARGET_BACKEND: JVM // WITH_RUNTIME // FULL_JDK import java.lang.reflect.Modifier enum class En { Y } fun box(): String { val klass = En::class.java val superclass = klass.superclass.name if (superclass != "java.lang.Enum") "Fail superclass: $superclass" val enumModifiers = klass.modifiers if ((enumModifiers and 0x4000) == 0) return "Fail ACC_ENUM on class" if ((enumModifiers and Modifier.FINAL) == 0) return "Fail FINAL on class" val entry = klass.getField("Y") val entryModifiers = entry.modifiers if ((entryModifiers and 0x4000) == 0) return "Fail ACC_ENUM on entry" if ((entryModifiers and Modifier.FINAL) == 0) return "Fail FINAL on entry" if ((entryModifiers and Modifier.STATIC) == 0) return "Fail FINAL on entry" if ((entryModifiers and Modifier.PUBLIC) == 0) return "Fail FINAL on entry" return "OK" }