Files
kotlin-fork/compiler/testData/diagnostics/tests/controlStructures/when.kt234.kt973.fir.kt
T
2021-05-05 18:20:51 +03:00

42 lines
719 B
Kotlin
Vendored

//KT-234 Force when() expressions to have an 'else' branch
//KT-973 Unreachable code
package kt234_kt973
class Pair<A, B>(a: A, b: B)
fun test(t : Pair<Int, Int>) : Int {
when (t) {
Pair(10, 10) -> return 1
}
return 0 // unreachable code
}
fun test1(t : Pair<Int, Int>) : Int {
when (t) {
Pair(10, 10) -> return 1
else -> return 2
}
return 0 // unreachable code
}
//more tests
fun t1(x: Int) = when(x) {
else -> 1
}
fun t5(x: Int) = <!NO_ELSE_IN_WHEN!>when<!> (x) {
<!USELESS_IS_CHECK!>is Int<!> -> 1
2 -> 2
}
fun foo3(x: Int) = when(x) {
<!ELSE_MISPLACED_IN_WHEN!>else<!> -> 1
2 -> 2
}
fun foo4(x: Int) = when(x) {
2 -> x
else -> 3
}