// !LANGUAGE: +InlineClasses // FILE: util.kt inline class AsAny(val x: Any?) inline class AsInt(val x: Int) // FILE: Reference.kt fun transform(a: AsAny): AsAny = a as AsAny fun transformNullable(a: AsAny?): AsAny = a as AsAny // unbox fun transformToNullable(a: AsAny): AsAny? = a as AsAny // box fun transformToNullableTarget(a: AsAny): AsAny? = a as AsAny? // box fun transformNullableToNullableTarget(a: AsAny?): AsAny? = a as AsAny? // 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\$Erased.box // 1 INVOKEVIRTUAL AsAny.unbox // @PrimitiveKt.class: // 2 INVOKESTATIC AsInt\$Erased.box // 1 INVOKEVIRTUAL AsInt.unbox