blob: 51b9b1b8f911a57ae56b4c2855d0ef67d448942d [file]
// FILE: lib.kt
package foo
// CHECK_NOT_CALLED: testLabelInline
// CHECK_LABELS_COUNT: function=testLabel name=loop count=1
// CHECK_LABELS_COUNT: function=testLabel name=loop_0 count=1
// CHECK_LABELS_COUNT: function=testLabel name=loop_1 count=1
inline fun testLabelInline(): Int {
var a = 0
loop@ for (i in 1..10) {
if (i == 1) continue@loop
a += i
if (i == 2) break@loop
}
loop@ for (i in 1..10) {
if (i == 1) continue@loop
a += i
if (i == 2) break@loop
}
return a
}
// FILE: main.kt
package foo
import kotlin.test.*
// CHECK_NOT_CALLED: testLabelInline
// CHECK_LABELS_COUNT: function=testLabel name=loop count=1
// CHECK_LABELS_COUNT: function=testLabel name=loop_0 count=1
// CHECK_LABELS_COUNT: function=testLabel name=loop_1 count=1
fun testLabel(): String {
var a = 0
loop@ for (i in 1..10) {
if (i == 1) continue@loop
a += testLabelInline()
if (i == 2) break@loop
}
if (a != 4) return a.toString()
return "OK"
}
fun box(): String {
assertEquals("OK", testLabel())
return "OK"
}