c7435ba760
We are going to deprecate `WITH_RUNTIME` directive. The main reason behind this change is that `WITH_STDLIB` directive better describes its meaning, specifically it will add kotlin stdlib to test's classpath.
15 lines
345 B
Kotlin
Vendored
15 lines
345 B
Kotlin
Vendored
// TARGET_BACKEND: JVM
|
|
|
|
// WITH_STDLIB
|
|
|
|
fun <E : Enum<E>> Byte.toEnum(clazz : Class<E>) : E =
|
|
(clazz.getMethod("values").invoke(null) as Array<E>)[this.toInt()]
|
|
|
|
enum class Letters { A, B, C }
|
|
|
|
fun box(): String {
|
|
val clazz = Letters::class.java
|
|
val r = 1.toByte().toEnum(clazz)
|
|
return if (r == Letters.B) "OK" else "Fail: $r"
|
|
}
|