Skip to content

Commit ccbac24

Browse files
committed
Revert fccdcb4. It broke something.
And in dotty it would be better implemented as a late mini-phase instead of a magic in backend.
1 parent d188aa2 commit ccbac24

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

src/compiler/scala/tools/nsc/backend/jvm/BCodeIdiomatic.scala

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ trait BCodeIdiomatic {
4444
if (emitStackMapFrame) asm.ClassWriter.COMPUTE_FRAMES else 0
4545
)
4646

47-
val StringBuilderClassName = "java/lang/StringBuilder"
47+
val StringBuilderClassName = "scala/collection/mutable/StringBuilder"
4848

4949
val CLASS_CONSTRUCTOR_NAME = "<clinit>"
5050
val INSTANCE_CONSTRUCTOR_NAME = "<init>"
@@ -226,13 +226,9 @@ trait BCodeIdiomatic {
226226
*/
227227
final def genStringConcat(el: BType) {
228228

229-
val jtype = el match {
230-
case ct: ClassBType if ct.isSubtypeOf(StringReference) => StringReference
231-
case ct: ClassBType if ct.isSubtypeOf(JavaStringBufferReference) => JavaStringBufferReference
232-
case ct: ClassBType if ct.isSubtypeOf(JavaCharSequenceReference) => JavaCharSequenceReference
233-
case rt: RefBType => ObjectReference
234-
case pt: PrimitiveBType => pt
235-
}
229+
val jtype =
230+
if (el.isArray || el.isClass) ObjectReference
231+
else el
236232

237233
val bt = MethodBType(List(jtype), StringBuilderReference)
238234

0 commit comments

Comments
 (0)