| // Uses 1 StringBuilder | |
| fun test1(s1: String, s2: String, s3: String) = | |
| (s1 + s2) + s3 | |
| // Uses 1 StringBuilder | |
| fun test2(s1: String, s2: String, s3: String) = | |
| s1 + (s2 + s3) | |
| // Uses 1 StringBuilder | |
| fun test3(s1: String, s2: String, s3: String, s4: String) = | |
| ((s1 + s2) + ((s3 + s4))) | |
| // Combination of String.plus and string literal | |
| // Uses 1 StringBuilder | |
| fun test4(s1: String, s2: String, s3: String) = | |
| "s1: $s1; " + | |
| "s2: $s2; " + | |
| "s3: $s3" | |
| // Combination of String.plus and nested string literal | |
| // Uses 1 StringBuilder | |
| fun test5(s1: String, s2: String, s3: String) = | |
| "${"s1:" + "${" " + s1};"}; " + | |
| "${"s2:" + "${" " + s2};"}; " + | |
| "${"s3:" + "${" " + s3}"}" | |
| // Top-level string concatenation element is a string literal | |
| // Uses 1 StringBuilder | |
| fun test6(s1: String, s2: String, s3: String) = | |
| "${"s1:" + "${" " + s1};"} ${"s2:" + "${" " + s2};"} ${"s3:" + "${" " + s3}"}" | |
| // 6 NEW java/lang/StringBuilder |