| // !LANGUAGE: +InlineClasses |
| |
| inline class InlineNotNullPrimitive(val x: Int) |
| inline class InlineNotNullReference(val y: String) |
| |
| fun <T> testNotNullPrimitive(a: Any, b: T, c: InlineNotNullPrimitive, d: InlineNotNullPrimitive?) {} |
| fun <T> testNotNullReference(a: Any, b: T, c: InlineNotNullReference, d: InlineNotNullReference?) {} |
| |
| fun test(a: InlineNotNullPrimitive, b: InlineNotNullReference) { |
| testNotNullPrimitive(a, a, a, a) // 3 box |
| testNotNullReference(b, b, b, b) // 2 box |
| } |
| |
| // 3 INVOKESTATIC InlineNotNullPrimitive\.box |
| // 2 INVOKESTATIC InlineNotNullReference\.box |
| |
| // 0 valueOf |