874d1c514a
Implementation is very similar to the `enumValues` intrinsic. Java enums and old (pre-1.9) Kotlin enums will be supported in a subsequent commit. #KT-59710
30 lines
542 B
Kotlin
Vendored
30 lines
542 B
Kotlin
Vendored
// IGNORE_BACKEND_MULTI_MODULE: JVM_MULTI_MODULE_OLD_AGAINST_IR
|
|
// NO_CHECK_LAMBDA_INLINING
|
|
// WITH_STDLIB
|
|
// !OPT_IN: kotlin.ExperimentalStdlibApi
|
|
// FILE: 1.kt
|
|
|
|
@file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") // TODO: remove once KT-53154 is fixed.
|
|
|
|
package test
|
|
|
|
import kotlin.enums.enumEntries
|
|
|
|
inline fun <reified T : Enum<T>> myEntries(): String {
|
|
val values = enumEntries<T>()
|
|
return values.joinToString("")
|
|
}
|
|
|
|
enum class Z {
|
|
O, K
|
|
}
|
|
|
|
|
|
// FILE: 2.kt
|
|
|
|
import test.*
|
|
|
|
fun box(): String {
|
|
return myEntries<Z>()
|
|
}
|