| 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" |
| } |
| |
| 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 |