Files
kotlin/compiler/testData/codegen/bytecodeText/boxingOptimization/unsignedRangeIteratorSpecialization.kt
2020-05-20 07:19:29 +03:00

39 lines
820 B
Kotlin
Vendored

// WITH_RUNTIME
// IGNORE_BACKEND: JVM
// ^ TODO support new mangling rules in optimizer
fun testUIntRangeForEach() {
var s = 0
(1u .. 5u).forEach {
s = s * 10 + it.toInt()
}
if (s != 12345) throw AssertionError("$s")
}
fun testUIntProgressionForEach() {
var s = 0
(5u downTo 1u).forEach {
s = s * 10 + it.toInt()
}
if (s != 54321) throw AssertionError("$s")
}
fun testULongRangeForEach() {
var s = 0
(1UL .. 5UL).forEach {
s = s * 10 + it.toInt()
}
if (s != 12345) throw AssertionError("$s")
}
fun testULongProgressionForEach() {
var s = 0
(5UL downTo 1UL).forEach {
s = s * 10 + it.toInt()
}
if (s != 54321) throw AssertionError("$s")
}
// 0 java/util/Iterator.next \(\)Ljava/lang/Object;
// 2 nextUInt
// 2 nextULong