mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-09 08:31:29 +00:00
Reuse StringBuilder instances for nested subexpressions.
(NB StringBuilder instance for string template with a string
concatenation inside an expression entry, such as `"${"a" + "b"}"`,
will not be reused, although that doesn't seem to be a real-life issue).
#KT-18558 Fixed Target versions 1.1.4
#KT-13682 Fixed Target versions 1.1.4
Join adjacent strings literals, escaped strings, and constant values
(in a language version that supports const val inlining).
Use StringBuilder#append(char) for single-character constants
(e.g., " " in "$a $b").
#KT-17280 Fixed Target versions 1.1.4
#KT-15235 Fixed Target versions 1.1.4
25 lines
624 B
Kotlin
Vendored
25 lines
624 B
Kotlin
Vendored
// WITH_RUNTIME
|
|
|
|
import kotlin.test.assertEquals
|
|
|
|
const val constTrue = true
|
|
const val const42 = 42
|
|
const val constPiF = 3.14F
|
|
const val constPi = 3.1415926358
|
|
const val constString = "string"
|
|
|
|
fun box(): String {
|
|
assertEquals("true", "$constTrue")
|
|
assertEquals("42", "$const42")
|
|
assertEquals("3.14", "$constPiF")
|
|
assertEquals("3.1415926358", "$constPi")
|
|
assertEquals("string", "$constString")
|
|
|
|
assertEquals(constPi.toString(), "$constPi")
|
|
assertEquals((constPi * constPi).toString(), "${constPi * constPi}")
|
|
|
|
assertEquals("null", "${null}")
|
|
assertEquals("42", "${42}")
|
|
|
|
return "OK"
|
|
} |