Files
kotlin-fork/compiler/testData/diagnostics/tests/controlStructures/when.kt234.kt973.kt
T
Dmitry Neverov cd24adac32 Detect redundant 'is' check
#KT-14187 Fixed
2017-05-15 11:24:35 +03:00

41 lines
834 B
Kotlin
Vendored

//KT-234 Force when() expressions to have an 'else' branch
//KT-973 Unreachable code
package kt234_kt973
class Pair<A, B>(<!UNUSED_PARAMETER!>a<!>: A, <!UNUSED_PARAMETER!>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
}
<!UNREACHABLE_CODE!>return 0<!> // unreachable code
}
//more tests
fun t1(x: Int) = when(<!UNUSED_EXPRESSION!>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
<!UNREACHABLE_CODE!>2 -> 2<!>
}
fun foo4(x: Int) = when(x) {
2 -> x
else -> 3
}