Files
kotlin-fork/compiler/testData/codegen/box/arrays/kt503.kt
T
2021-09-08 19:56:38 +03:00

38 lines
832 B
Kotlin
Vendored

// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// TODO: muted automatically, investigate should it be ran for JS or not
// IGNORE_BACKEND: JS
// On Wasm we don't currently have ArrayIndexOutOfBoundsException
// IGNORE_BACKEND: WASM
fun iarr(vararg a : Int) = a
fun <T> array(vararg a : T) = a
fun box() : String {
val tests = array<IntArray>(
iarr(6, 5, 4, 3, 2, 1),
iarr(1, 2),
iarr(1, 2, 3),
iarr(1, 2, 3, 4),
iarr(1)
)
var n = 0
try {
var i = 0
while (true) {
if (thirdElementIsThree(tests[i++]))
n++
}
}
catch (e : ArrayIndexOutOfBoundsException) {
// No more tests to process
}
return if(n == 2) "OK" else "fail"
}
fun thirdElementIsThree(a : IntArray) =
a.size >= 3 && a[2] == 3