| package abc.foo | |
| enum class Season { | |
| WINTER, | |
| SPRING, | |
| SUMMER, | |
| AUTUMN | |
| } | |
| class A { | |
| public fun bar1(x : Season) : String { | |
| when (x) { | |
| Season.WINTER, Season.SPRING -> return "winter_spring" | |
| Season.SPRING -> return "spring" | |
| Season.SUMMER -> return "summer" | |
| else -> return "autumn" | |
| } | |
| } | |
| public fun bar2(y : Season) : String { | |
| return bar3(y) { x -> | |
| when (x) { | |
| Season.WINTER, Season.SPRING -> "winter_spring" | |
| Season.SPRING -> "spring" | |
| Season.SUMMER -> "summer" | |
| else -> "autumn" | |
| } | |
| } | |
| } | |
| private fun bar3(x : Season, block : (Season) -> String) = block(x) | |
| } | |
| // 2 TABLESWITCH |