diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/JsLineNumberTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/JsLineNumberTestGenerated.java index 52d52c73b12..7485f3252fe 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/JsLineNumberTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/JsLineNumberTestGenerated.java @@ -132,6 +132,12 @@ public class JsLineNumberTestGenerated extends AbstractJsLineNumberTest { doTest(fileName); } + @TestMetadata("stringLiteral.kt") + public void testStringLiteral() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/lineNumbers/stringLiteral.kt"); + doTest(fileName); + } + @TestMetadata("syntheticCodeInConstructors.kt") public void testSyntheticCodeInConstructors() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/lineNumbers/syntheticCodeInConstructors.kt"); diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/ExpressionVisitor.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/ExpressionVisitor.java index 989fb670a35..377bc6daa84 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/ExpressionVisitor.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/ExpressionVisitor.java @@ -320,7 +320,7 @@ public final class ExpressionVisitor extends TranslatorVisitor { public JsNode visitStringTemplateExpression(@NotNull KtStringTemplateExpression expression, @NotNull TranslationContext context) { JsStringLiteral stringLiteral = resolveAsStringConstant(expression, context); if (stringLiteral != null) { - return stringLiteral; + return stringLiteral.source(expression); } return resolveAsTemplate(expression, context).source(expression); } diff --git a/js/js.translator/testData/lineNumbers/stringLiteral.kt b/js/js.translator/testData/lineNumbers/stringLiteral.kt new file mode 100644 index 00000000000..d69041aaf17 --- /dev/null +++ b/js/js.translator/testData/lineNumbers/stringLiteral.kt @@ -0,0 +1,7 @@ +fun box(x: Int): String { + return "" + + x + + "suffix" +} + +// LINES: 2 3 4 \ No newline at end of file