Optimize range operations for 'until' extension from stdlib (KT-9900)

NB: for-in-until loop is generated as precondition loop, because the
corresponding range is right-exclusive (and thus we have no problems
with integer overflows).
This commit is contained in:
Dmitry Petrov
2017-05-02 15:00:14 +03:00
parent b83620fdb9
commit 506941e7e0
27 changed files with 533 additions and 8 deletions

View File

@@ -0,0 +1,16 @@
// WITH_RUNTIME
fun test(): Int {
var sum = 0
for (i in 1 until 6) {
sum = sum * 10 + i
}
return sum
}
// 0 iterator
// 0 getStart
// 0 getEnd
// 0 getFirst
// 0 getLast
// 1 IF