| 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" |
| } |