Files
kotlin/compiler/testData/codegen/bytecodeText/inlineClasses/boxResultInlineClassOfConstructorCall.kt
Dmitry Petrov a2900282fd Call factory method for primary constructors of inner classes
We might want to add 'init' blocks later, so now, for the sake of
binary compatibility with 1.3-RC binaries, we have to generate these
'constructor' calls.

Note that in some tests inline class boxing is no longer redundant,
because resulting value is passed to 'constructor' as an argument.
2018-09-05 12:20:57 +03:00

24 lines
435 B
Kotlin
Vendored

// !LANGUAGE: +InlineClasses
// FILE: utils.kt
inline class Result<T>(val a: Any?)
// FILE: test.kt
fun test() {
val a = Result<Int>(1) // valueOf
val b = Result<String>("sample")
val c = Result<Result<Int>>(a)
val d = Result<Result<Int>>(Result<Int>(1)) // valueOf
}
// @TestKt.class:
// 0 INVOKESTATIC Result\$Erased.box
// 2 INVOKESTATIC Result\.box
// 0 INVOKEVIRTUAL Result.unbox
// 2 valueOf
// 0 intValue