Files
kotlin-fork/compiler/testData/ir/irText/expressions/breakContinueInWhen.fir.kt.txt
T
2021-04-26 12:50:55 +03:00

75 lines
1.5 KiB
Plaintext
Vendored

fun testBreakFor() {
val xs: IntArray = IntArray(size = 10, init = local fun <anonymous>(i: Int): Int {
return i
}
)
var k: Int = 0
{ // BLOCK
val <iterator>: IntIterator = xs.iterator()
while (<iterator>.hasNext()) { // BLOCK
val x: Int = <iterator>.next()
when {
greater(arg0 = k, arg1 = 2) -> break
}
}
}
}
fun testBreakWhile() {
var k: Int = 0
while (less(arg0 = k, arg1 = 10)) when {
greater(arg0 = k, arg1 = 2) -> break
}
}
fun testBreakDoWhile() {
var k: Int = 0
{ // BLOCK
dowhen {
greater(arg0 = k, arg1 = 2) -> break
} while (less(arg0 = k, arg1 = 10))
}
}
fun testContinueFor() {
val xs: IntArray = IntArray(size = 10, init = local fun <anonymous>(i: Int): Int {
return i
}
)
var k: Int = 0
{ // BLOCK
val <iterator>: IntIterator = xs.iterator()
while (<iterator>.hasNext()) { // BLOCK
val x: Int = <iterator>.next()
when {
greater(arg0 = k, arg1 = 2) -> continue
}
}
}
}
fun testContinueWhile() {
var k: Int = 0
while (less(arg0 = k, arg1 = 10)) when {
greater(arg0 = k, arg1 = 2) -> continue
}
}
fun testContinueDoWhile() {
var k: Int = 0
var s: String = ""
{ // BLOCK
do// COMPOSITE {
k = k.inc()
k /*~> Unit */
when {
greater(arg0 = k, arg1 = 2) -> continue
}
s = s.plus(other = k + ";")
// } while (less(arg0 = k, arg1 = 10))
}
when {
EQEQ(arg0 = s, arg1 = "1;2;").not() -> throw AssertionError(p0 = s)
}
}