Files
kotlin-fork/compiler/testData/codegen/box/arrays/kt7288.kt
T

32 lines
801 B
Kotlin
Vendored

fun test(b: Boolean): String {
val a = if (b) IntArray(5) else LongArray(5)
if (a is IntArray) {
val x = a.iterator()
var i = 0
while (x.hasNext()) {
if (a[i] != x.next()) return "Fail $i"
i++
}
return "OK"
} else if (a is LongArray) {
val x = a.iterator()
var i = 0
while (x.hasNext()) {
if (a[i] != x.next()) return "Fail $i"
i++
}
return "OK"
}
return "fail"
}
fun box(): String {
// Only run this test if primitive array `is` checks work (KT-17137)
if ((intArrayOf() as Any) is Array<*>) return "OK"
if (test(true) != "OK") return "fail 1: ${test(true)}"
if (test(false) != "OK") return "fail 1: ${test(false)}"
return "OK"
}