| // Copyright (c) 2019, the R8 project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| package enumswitch |
| |
| enum class KDirection { |
| North, |
| South, |
| East, |
| West |
| } |
| |
| fun direction1(direction: KDirection) = when (direction) { |
| KDirection.North -> "N" |
| KDirection.South -> "S" |
| KDirection.East -> "E" |
| KDirection.West -> "W" |
| } |
| |
| // Different declaration order than direction1 or direction2 |
| fun direction2(direction: KDirection) = when (direction) { |
| KDirection.East -> "E" |
| KDirection.North -> "N" |
| KDirection.West -> "W" |
| KDirection.South -> "S" |
| } |
| |
| fun main(args: Array<String>) { |
| println(direction1(KDirection.North)) |
| println(direction1(KDirection.South)) |
| println(direction1(KDirection.East)) |
| println(direction1(KDirection.West)) |
| println(direction2(KDirection.North)) |
| println(direction2(KDirection.South)) |
| println(direction2(KDirection.East)) |
| println(direction2(KDirection.West)) |
| } |