Extract Function: Merge jumps with default exits if all exit points are equivalent

#KT-6598 Fixed
This commit is contained in:
Alexey Sedunov
2015-01-12 17:31:39 +03:00
parent 9278dee1a4
commit 8d40ca1a74
24 changed files with 324 additions and 13 deletions
@@ -9,5 +9,6 @@ fun foo(a: Int): Int {
<selection>if (a > 0) throw Exception("")
if (a + b > 0) continue
println(a - b)</selection>
println(a + b)
}
}
@@ -7,6 +7,7 @@ fun foo(a: Int): Int {
val b: Int = 1
for (n in 1..b) {
if (b(a, b)) continue
println(a + b)
}
}
@@ -9,4 +9,5 @@ fun foo(a: Int) {
<selection>if (a > 0) throw Exception("")
if (b + a > 0) return
println(a - b)</selection>
println(a + b)
}
@@ -7,6 +7,7 @@ fun foo(a: Int) {
val b: Int = 1
if (b(a, b)) return
println(a + b)
}
private fun b(a: Int, b: Int): Boolean {