Files
kotlin-fork/compiler/testData/codegen/box/strings/concatNullableGenericWithPrimitiveUpperBound.kt
T
Dmitry Petrov 3017397960 JVM_IR fix string concatenation performance issues
KT-50080 KT-50084 KT-50140
2021-12-09 15:32:13 +03:00

32 lines
1.0 KiB
Kotlin
Vendored

// KOTLIN_CONFIGURATION_FLAGS: STRING_CONCAT=inline
// WITH_STDLIB
// IGNORE_BACKEND: WASM
// ^ wasm-function[2283]:0x218da: RuntimeError: wasm exception
import kotlin.test.assertEquals
fun <T : Boolean> concatNBoolean(x: T?) = "[[$x]]"
fun <T : Byte> concatNByte(x: T?) = "[[$x]]"
fun <T : Short> concatNShort(x: T?) = "[[$x]]"
fun <T : Int> concatNInt(x: T?) = "[[$x]]"
fun <T : Long> concatNLong(x: T?) = "[[$x]]"
fun <T : Float> concatNFloat(x: T?) = "[[$x]]"
fun <T : Double> concatNDouble(x: T?) = "[[$x]]"
fun box(): String {
assertEquals("[[true]]", concatNBoolean(true))
assertEquals("[[0]]", concatNByte(0.toByte()))
assertEquals("[[1]]", concatNShort(1.toShort()))
assertEquals("[[2]]", concatNInt(2))
assertEquals("[[3]]", concatNLong(3L))
assertEquals("[[4.4]]", concatNFloat(4.4f))
assertEquals("[[5.5]]", concatNFloat(5.5f))
return "OK"
}
// CHECK_BYTECODE_TEXT
// JVM_IR_TEMPLATES
// 7 INVOKEVIRTUAL java/lang/StringBuilder\.append \(Ljava/lang/Object;\)Ljava/lang/StringBuilder;