| // KJS_WITH_FULL_RUNTIME | |
| fun foo() { | |
| val l = ArrayList<Int>(2) | |
| l.add(1) | |
| for (el in l) {} | |
| //verify error "Expecting to find integer on stack" | |
| val iterator = l.iterator() | |
| //another verify error "Mismatched stack types" | |
| while (iterator?.hasNext() ?: false) { | |
| val i = iterator?.next() | |
| } | |
| //the same | |
| if (iterator != null) { | |
| while (iterator.hasNext()) { | |
| val i = iterator?.next() | |
| } | |
| } | |
| //this way it works | |
| if (iterator != null) { | |
| while (iterator.hasNext()) { | |
| iterator.next() //because of the bug KT-244 i can't write "val i = iterator.next()" | |
| } | |
| } | |
| } | |
| fun box() : String { | |
| return "OK" | |
| } |