Files
kotlin-fork/compiler/testData/diagnostics/tests/controlFlowAnalysis/kt1185enums.fir.kt
T

48 lines
777 B
Kotlin
Vendored

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