| fun constant(): String { | |
| return """ | |
| |Hello, | |
| |World | |
| """.trimMargin() | |
| } | |
| private const val HAS_MARGIN = """Hello, | |
| |World""" | |
| fun interpolatedUsingConstant(): String { | |
| return """ | |
| |Hello, | |
| |$HAS_MARGIN | |
| |World | |
| """.trimMargin() | |
| } | |
| private const val SPACES = " " | |
| private const val HELLO = "Hello" | |
| private const val WORLD = "World" | |
| fun reliesOnNestedStringBuilderFlatteningAndConstantConcatenation(): String { | |
| return ("" + '\n' + SPACES + "${SPACES}|Hey" + """ | |
| |${HELLO + HELLO}, | |
| |${WORLD + WORLD} | |
| """ + SPACES).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" | |
| // 1 LDC "Hey\\nHelloHello,\\nWorldWorld" | |
| // 0 LDC "###" | |
| // 0 INVOKESTATIC kotlin/text/StringsKt.trimMargin |