Files
kotlin/compiler/testData/codegen/bytecodeText/boxingOptimization/casts.kt
2018-12-21 16:20:45 +01:00

24 lines
412 B
Kotlin
Vendored

// IGNORE_BACKEND: JVM_IR
inline fun <R, T> foo(x : R?, block : (R?) -> T) : T {
return block(x)
}
fun bar() {
foo(1) { x -> x!!.toLong() }
foo(1) { x -> x!!.toShort() }
foo(1L) { x -> x!!.toByte() }
foo(1L) { x -> x!!.toShort() }
foo('a') { x -> x!!.toDouble() }
foo(1.0) { x -> x!!.toByte() }
}
// 0 valueOf
// 0 Value\s\(\)
// 1 I2L
// 2 L2I
// 2 I2S
// 2 I2B
// 1 I2D
// 1 D2I