blob: 354182af104975c1943269de90b416fbd5965ecc [file] [log] [blame]
// !LANGUAGE: +InlineClasses
// FILE: util.kt
inline class AsAny<T>(val x: Any?)
inline class AsInt(val x: Int)
// FILE: Reference.kt
fun <T, R> transform(a: AsAny<T>): AsAny<R> = a as AsAny<R>
fun <T, R> transformNullable(a: AsAny<T>?): AsAny<R> = a as AsAny<R> // unbox
fun <T, R> transformToNullable(a: AsAny<T>): AsAny<R>? = a as AsAny<R> // box
fun <T, R> transformToNullableTarget(a: AsAny<T>): AsAny<R>? = a as AsAny<R>? // box
fun <T, R> transformNullableToNullableTarget(a: AsAny<T>?): AsAny<R>? = a as AsAny<R>?
// FILE: Primitive.kt
fun transform(a: AsInt): AsInt = a as AsInt
fun transformNullable(a: AsInt?): AsInt = a as AsInt // unbox
fun transformToNullable(a: AsInt): AsInt? = a as AsInt // box
fun transformToNullableTarget(a: AsInt): AsInt? = a as AsInt? // box
fun transformNullableToNullableTarget(a: AsInt?): AsInt? = a as AsInt?
// @ReferenceKt.class:
// 2 INVOKESTATIC AsAny\.box
// 1 INVOKEVIRTUAL AsAny.unbox
// @PrimitiveKt.class:
// 2 INVOKESTATIC AsInt\.box
// 1 INVOKEVIRTUAL AsInt.unbox