| // FIR_IDENTICAL |
| //KT-1185 Support full enumeration check for 'when' |
| |
| package kt1185 |
| |
| enum class Direction { |
| NORTH, |
| SOUTH, |
| WEST, |
| EAST |
| } |
| |
| class A { |
| companion object { |
| |
| } |
| } |
| |
| enum class Color(val rgb : Int) { |
| RED(0xFF0000), |
| GREEN(0x00FF00), |
| BLUE(0x0000FF) |
| } |
| |
| fun foo(d: Direction) = when(d) { //no 'else' should be requested |
| Direction.NORTH -> 1 |
| Direction.SOUTH -> 2 |
| <!INCOMPATIBLE_TYPES!>A<!> -> 1 |
| Direction.WEST -> 3 |
| Direction.EAST -> 4 |
| } |
| |
| fun foo1(d: Direction) = <!NO_ELSE_IN_WHEN!>when<!>(d) { |
| Direction.NORTH -> 1 |
| Direction.SOUTH -> 2 |
| Direction.WEST -> 3 |
| } |
| |
| fun bar(c: Color) = when (c) { |
| Color.RED -> 1 |
| Color.GREEN -> 2 |
| Color.BLUE -> 3 |
| } |
| |
| fun bar1(c: Color) = <!NO_ELSE_IN_WHEN!>when<!> (c) { |
| Color.RED -> 1 |
| Color.GREEN -> 2 |
| } |