Files
kotlin/compiler/testData/codegen/bytecodeText/forLoop/forInOptimizableUnsignedRange.kt
2020-02-17 23:52:48 +03:00

55 lines
953 B
Kotlin
Vendored

// IGNORE_BACKEND: JVM_IR
// TODO KT-36773 Use counter loop when generating 'for' loop over an unsigned range in JVM_IR
fun testUIntRangeLiteral(a: UInt, b: UInt): Int {
var s = 0
for (x in a .. b) {
s += x.toInt()
}
return s
}
fun testULongRangeLiteral(a: ULong, b: ULong): Int {
var s = 0
for (x in a .. b) {
s += x.toInt()
}
return s
}
fun testUIntUntil(a: UInt, b: UInt): Int {
var s = 0
for (x in a until b) {
s += x.toInt()
}
return s
}
fun testULongUntil(a: ULong, b: ULong): Int {
var s = 0
for (x in a until b) {
s += x.toInt()
}
return s
}
fun testUIntDownTo(a: UInt, b: UInt): Int {
var s = 0
for (x in a downTo b) {
s += x.toInt()
}
return s
}
fun testULongDownTo(a: ULong, b: ULong): Int {
var s = 0
for (x in a downTo b) {
s += x.toInt()
}
return s
}
// 0 iterator
// 0 hasNext
// 0 next