KT-234 Force when() expressions to have an 'else' branch
KT-973 Unreachable code
This commit is contained in:
@@ -6,19 +6,19 @@ fun foo() : Int {
|
||||
var z = 0
|
||||
when(d) {
|
||||
is 5, is 3 -> <!NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY, UNUSED_CHANGED_VALUE!>z++<!>
|
||||
<!ELSE_MISPLACED_IN_WHEN!>else -> { <!NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY!>z = <!UNUSED_VALUE!>-1000<!><!> }<!>
|
||||
return z -> <!UNREACHABLE_CODE!>34<!>
|
||||
<!ELSE_MISPLACED_IN_WHEN!>else<!> -> { <!NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY!>z = <!UNUSED_VALUE!>-1000<!><!> }
|
||||
<!UNREACHABLE_CODE!>return z -> 34<!>
|
||||
}
|
||||
}
|
||||
|
||||
//test unreachable code
|
||||
fun fff(): Int {
|
||||
var d = 3
|
||||
when(d) {
|
||||
<!NO_ELSE_IN_WHEN!>when<!>(d) {
|
||||
is 4 -> 21
|
||||
return 2 -> <!UNREACHABLE_CODE!>return 47<!>
|
||||
<!UNREACHABLE_CODE!>bar()<!> -> <!UNREACHABLE_CODE!>45<!>
|
||||
<!UNREACHABLE_CODE!>444<!> -> <!UNREACHABLE_CODE!>true<!>
|
||||
<!UNREACHABLE_CODE!>bar() -> 45<!>
|
||||
<!UNREACHABLE_CODE!>444 -> true<!>
|
||||
}
|
||||
return 34
|
||||
}
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
//KT-234 Force when() expressions to have an 'else' branch
|
||||
//KT-973 Unreachable code
|
||||
|
||||
package kt234_kt973
|
||||
|
||||
|
||||
fun test(t : #(Int, Int)) : Int {
|
||||
<!NO_ELSE_IN_WHEN!>when<!> (t) {
|
||||
is #(10, 10) -> return 1
|
||||
}
|
||||
return 0 // unreachable code
|
||||
}
|
||||
|
||||
fun test1(t : #(Int, Int)) : Int {
|
||||
when (t) {
|
||||
is #(10, 10) -> return 1
|
||||
else -> return 2
|
||||
}
|
||||
<!UNREACHABLE_CODE!>return 0<!> // unreachable code
|
||||
}
|
||||
|
||||
//more tests
|
||||
fun t1(x: Int) = when(x) {
|
||||
is * -> 1
|
||||
}
|
||||
|
||||
fun t2(x: Int) = when(x) {
|
||||
is val a -> 1
|
||||
}
|
||||
|
||||
fun t3(x: Int) = when (x) {
|
||||
is * -> 1
|
||||
<!UNREACHABLE_CODE!>2 -> 2<!>
|
||||
}
|
||||
|
||||
fun t4(x: Int) = when (x) {
|
||||
is val a -> 1
|
||||
<!UNREACHABLE_CODE!>2 -> 2<!>
|
||||
}
|
||||
|
||||
fun t5(x: Int) = <!NO_ELSE_IN_WHEN!>when<!> (x) {
|
||||
is val a : 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
|
||||
is val a -> a
|
||||
}
|
||||
Reference in New Issue
Block a user