Files
kotlin/compiler/testData/codegen/bytecodeText/inlineClasses/noBoxingOperationsOnNonTrivialSpread.kt
Mikhail Zarechenskiy ba6da7c40a Support varargs of inline class types with non-trivial spread
#KT-24880 In Progress
2018-06-25 17:15:50 +03:00

27 lines
550 B
Kotlin
Vendored

// !LANGUAGE: +InlineClasses
// !WITH_UNSIGNED
// !SKIP_METADATA_VERSION_CHECK
fun uint(vararg us: UInt): UIntArray = us
// FILE: NoBoxing.kt
fun test1(us: UIntArray) {
uint(1u, *us, 2u, *us)
}
// @NoBoxingKt.class:
// 0 INVOKESTATIC kotlin.UInt\$Erased.box
// 0 INVOKEVIRTUAL kotlin.UInt.unbox
// FILE: Boxing.kt
fun nullableUInt(vararg us: UInt?) {}
fun test2(nullable: UInt?, ns: Array<UInt>) {
nullableUInt(1u, nullable, 3u, *ns)
}
// @BoxingKt.class:
// 2 INVOKESTATIC kotlin.UInt\$Erased.box
// 0 INVOKEVIRTUAL kotlin.UInt.unbox