Replace 'if' with 'when': don't remove branch brances

#KT-32650 Fixed
This commit is contained in:
Toshiaki Kameyama
2019-07-23 18:57:36 +09:00
committed by Dmitry Gridin
parent f3b42507d9
commit 80b09b9a08
15 changed files with 108 additions and 50 deletions
@@ -3,9 +3,15 @@ fun println(s: String) {}
fun test(x: Double, a: Boolean, b: Boolean) {
if (x > 0.0) {
when {
a -> println("a")
b -> println("b")
else -> println("none")
a -> {
println("a")
}
b -> {
println("b")
}
else -> {
println("none")
}
}
}
}
+4 -6
View File
@@ -2,12 +2,10 @@ fun println(s: String) {}
fun test(a: Boolean, b: Boolean) {
<caret>if (a) {
// comment
// comment
println("a")
}
else if (b) {
println("b")
}
else {
println("none")
}
else if (b) println("b")
else println("none")
}
+5 -1
View File
@@ -2,7 +2,11 @@ fun println(s: String) {}
fun test(a: Boolean, b: Boolean) {
when {
a -> println("a")
a -> {
// comment
// comment
println("a")
}
b -> println("b")
else -> println("none")
}
@@ -1,9 +1,15 @@
// WITH_RUNTIME
fun foo(a: Any) {
when (a) {
"" -> println(a)
is String -> println(a)
is List<*> -> @Suppress("UNCHECKED_CAST")
println(a as List<String>)
"" -> {
println(a)
}
is String -> {
println(a)
}
is List<*> -> {
@Suppress("UNCHECKED_CAST")
println(a as List<String>)
}
}
}