diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java index d62dd5a1b1a..c2d94e59f94 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java @@ -808,7 +808,7 @@ public class ExpressionCodegen extends KtVisitor impleme StringTemplateEntry entry = entries.get(0); if (entry instanceof StringTemplateEntry.Expression) { KtExpression expr = ((StringTemplateEntry.Expression) entry).expression; - return genToString(gen(expr), type); + return genToString(gen(expr), expressionType(expr)); } else { return StackValue.constant(((StringTemplateEntry.Constant) entry).value, type); diff --git a/compiler/testData/codegen/bytecodeText/stringOperations/primitivesAsStringTemplates.kt b/compiler/testData/codegen/bytecodeText/stringOperations/primitivesAsStringTemplates.kt new file mode 100644 index 00000000000..e637aaad231 --- /dev/null +++ b/compiler/testData/codegen/bytecodeText/stringOperations/primitivesAsStringTemplates.kt @@ -0,0 +1,9 @@ +fun test(b: Byte, s: Short, i: Int, l: Long) { + "$b" + "$s" + "$i" + "$l" +} + +// 4 valueOf +// 4 INVOKESTATIC java/lang/String.valueOf \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/BytecodeTextTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/BytecodeTextTestGenerated.java index ffb50fb7280..dead1921340 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/BytecodeTextTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/BytecodeTextTestGenerated.java @@ -2747,6 +2747,11 @@ public class BytecodeTextTestGenerated extends AbstractBytecodeTextTest { public void testPrimitiveToString() throws Exception { runTest("compiler/testData/codegen/bytecodeText/stringOperations/primitiveToString.kt"); } + + @TestMetadata("primitivesAsStringTemplates.kt") + public void testPrimitivesAsStringTemplates() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/primitivesAsStringTemplates.kt"); + } } @TestMetadata("compiler/testData/codegen/bytecodeText/varargs")