// !LANGUAGE: +InlineClasses // FILE: utils.kt inline class UInt(private val value: Int) { fun asInt() = value } inline class UIntArray(private val intArray: IntArray) { operator fun get(index: Int): UInt = UInt(intArray[index]) operator fun set(index: Int, value: UInt) { intArray[index] = value.asInt() } } // FILE: test.kt fun UIntArray.swap(i: Int, j: Int) { this[j] = this[i].also { this[i] = this[j] } } // @TestKt.class: // 0 INVOKEVIRTUAL UInt.unbox // 0 INVOKESTATIC UInt\$Erased.box // 0 INVOKESTATIC UInt\.box // 0 intValue // 0 valueOf