Files
kotlin-fork/compiler/testData/codegen/box/when/enumOptimization/subjectAny.kt
T
Mikhail Glukhikh 39bd97147f [FIR] Don't create initializers for simple enum entries
Usually FIR enum entry is initialized by anonymous object,
which is the container for all enum entry' declarations.
However, for simple enum entries there is no need of initializer at all.
2020-02-21 16:38:52 +03:00

31 lines
650 B
Kotlin
Vendored

// WITH_RUNTIME
// CHECK_CASES_COUNT: function=foo count=0
// CHECK_IF_COUNT: function=foo count=3
import kotlin.test.assertEquals
enum class Season {
WINTER,
SPRING,
SUMMER,
AUTUMN
}
fun foo(x : Any) : String {
return when (x) {
Season.WINTER -> "winter"
Season.SPRING -> "spring"
Season.SUMMER -> "summer"
else -> "other"
}
}
fun box() : String {
assertEquals("winter", foo(Season.WINTER))
assertEquals("spring", foo(Season.SPRING))
assertEquals("summer", foo(Season.SUMMER))
assertEquals("other", foo(Season.AUTUMN))
assertEquals("other", foo(123))
return "OK"
}