Как я могу получить список значений перечисления в Kotlin для переменной любого типа? Существует множество вопросов о том, как напечатать список значений enum, но все они начинаются с известного класса enum. Как я могу получить список значений перечисления для переменной, которая является перечислением?
import kotlin.reflect.full.isSubclassOf
enum class Direction { NORTH, SOUTH, WEST, EAST }
enum class Days { MON, TUE, WED, THU, FRI, SAY, SUN }
fun main(){
val x1: Any = Direction.NORTH
val x2: Any = Days.TUE
val x3: Any = 100.0
printEnumValues(x1)// should print NORTH, SOUTH, WEST, EAST
printEnumValues(x2)// should print MON, TUE, WED, THU, FRI, SAY, SUN
printEnumValues(x3)// should print nothing.
}
fun printEnumValues(arg : Any)
{
if (arg::class.isSubclassOf(Enum::class)){
// How to get and print the list of possible enum values here?
}
}