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
@@ -0,0 +1,18 @@
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: val b: kotlin.Int defined in foo
// SIBLING:
fun foo(a: Int) {
val b: Int = 1
for (n in 1..b) {
if (b(a, b)) break
}
}
private fun b(a: Int, b: Int): Boolean {
if (a > 0) throw Exception("")
if (a + b > 0) return true
println(a - b)
return false
}