Files
kotlin/compiler/testData/codegen/box/enum/modifierFlags.kt
2016-03-09 10:25:38 +03:00

28 lines
856 B
Kotlin
Vendored

// 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"
}