Files
kotlin/compiler/testData/codegen/bytecodeText/intrinsicsTrim/trimMarginPositive.kt
Jake Wharton 6ee987fa2e Add intrinsics for compile-time computing trimMargin/trimIndent
These only apply when the receiver can be resolved to a constant and the margin prefix, if specified, is also a constant.
2019-03-20 17:25:29 +01:00

39 lines
791 B
Kotlin
Vendored

// IGNORE_BACKEND: JVM_IR
fun constant(): String {
return """
|Hello,
|World
""".trimMargin()
}
private const val HAS_MARGIN = """Hello,
|World"""
fun interpolatedUsingConstant(): String {
return """
|Hello,
|$HAS_MARGIN
|World
""".trimMargin()
}
fun constantCustomPrefix(): String {
return """
###Hello,
###World
""".trimMargin(marginPrefix = "###")
}
private const val OCTOTHORPE = '#'
fun constantCustomPrefixInterpolatedUsingConstant(): String {
return """
#@#Hello,
#@#World
""".trimMargin(marginPrefix = "$OCTOTHORPE@$OCTOTHORPE")
}
// 3 LDC "Hello,\\nWorld"
// 1 LDC "Hello,\\nHello,\\nWorld\\nWorld"
// 0 LDC "###"
// 0 INVOKESTATIC kotlin/text/StringsKt.trimMargin