mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-08 15:53:19 +00:00
37 lines
699 B
Kotlin
Vendored
37 lines
699 B
Kotlin
Vendored
// !LANGUAGE: +InlineClasses
|
|
|
|
|
|
// FILE: dependency.kt
|
|
|
|
inline class InlinedInt(val internal: Int)
|
|
inline class InlinedString(val internal: String)
|
|
|
|
inline fun <T> foo(callback: () -> T): T {
|
|
return callback()
|
|
}
|
|
|
|
inline fun bar(callback: () -> InlinedInt): InlinedInt {
|
|
return callback()
|
|
}
|
|
|
|
inline fun baz(callback: () -> InlinedString): InlinedString {
|
|
return callback()
|
|
}
|
|
|
|
// FILE: test.kt
|
|
|
|
fun test(i: InlinedInt, s: InlinedString) {
|
|
foo { i }
|
|
bar { i }
|
|
|
|
foo { s }
|
|
baz { s }
|
|
}
|
|
|
|
// @TestKt.class:
|
|
// 0 valueOf
|
|
// 0 INVOKESTATIC InlinedInt\$Erased.box
|
|
// 0 INVOKEVIRTUAL InlinedInt.unbox
|
|
// 0 INVOKESTATIC InlinedString\$Erased.box
|
|
// 0 INVOKEVIRTUAL InlinedString.unbox
|