47 lines
799 B
Kotlin
Vendored
47 lines
799 B
Kotlin
Vendored
// EXPECTED_REACHABLE_NODES: 1285
|
|
package foo
|
|
|
|
var state = false
|
|
|
|
inline fun blockImpl(p: () -> Unit) {
|
|
if (state) return
|
|
|
|
p()
|
|
}
|
|
|
|
inline fun block(p: () -> Unit) {
|
|
if (state) return
|
|
|
|
blockImpl(p)
|
|
}
|
|
|
|
fun test(x: Int): Int {
|
|
block outer@ {
|
|
block inner@ {
|
|
if (x < 10) return@inner
|
|
if (x == 10) return@outer
|
|
|
|
block innermost@ {
|
|
if (x > 500) {
|
|
return 500500
|
|
}
|
|
}
|
|
|
|
return x
|
|
}
|
|
|
|
if (x < 5) return@outer
|
|
return x + 10
|
|
}
|
|
return x + 100
|
|
}
|
|
|
|
fun box(): String {
|
|
assertEquals(16, test(6))
|
|
assertEquals(104, test(4))
|
|
assertEquals(110, test(110))
|
|
assertEquals(11, test(11))
|
|
assertEquals(500500, test(502))
|
|
|
|
return "OK"
|
|
} |