Extracted complex string concatenation bytecode test case into separate test data file.

This commit is contained in:
Mark Punzalan
2019-02-26 15:15:03 -08:00
committed by max-kammerer
parent d4d5a6011c
commit fc5eac26cd
4 changed files with 21 additions and 10 deletions

View File

@@ -0,0 +1,10 @@
// Uses 3 StringBuilders:
// - In return expression
// - In argument to 1st call to foo()
// - In argument to 2nd call to foo() inside string literal
fun test(s1: String, s2: String, s3: String): String {
fun foo(s: String) = s
return "foo: " + foo(s1 + s2 + " ${foo("\${s3.length} = ${s3.length}")}")
}
// 3 NEW java/lang/StringBuilder

View File

@@ -29,13 +29,4 @@ fun test5(s1: String, s2: String, s3: String) =
fun test6(s1: String, s2: String, s3: String) =
"${"s1:" + "${" " + s1};"} ${"s2:" + "${" " + s2};"} ${"s3:" + "${" " + s3}"}"
// Uses 3 StringBuilders:
// - In return expression
// - In argument to 1st call to foo()
// - In argument to 2nd call to foo() inside string literal
fun test7(s1: String, s2: String, s3: String): String {
fun foo(s: String) = s
return "foo: " + foo(s1 + s2 + " ${foo("\${s3.length} = ${s3.length}")}")
}
// 9 NEW java/lang/StringBuilder
// 6 NEW java/lang/StringBuilder