From d7a10750e00a581522d613ce62deb3820237b4f3 Mon Sep 17 00:00:00 2001 From: Alexey Andreev Date: Fri, 12 May 2017 13:57:16 +0300 Subject: [PATCH] Fix JS source maps for lambdas --- .../kotlin/js/test/JsLineNumberTestGenerated.java | 6 ------ .../kotlin/js/translate/expression/ExpressionVisitor.java | 2 +- js/js.translator/testData/lineNumbers/coroutine.kt | 2 +- js/js.translator/testData/lineNumbers/lambdaWithClosure.kt | 7 +++++++ 4 files changed, 9 insertions(+), 8 deletions(-) create mode 100644 js/js.translator/testData/lineNumbers/lambdaWithClosure.kt 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 5b3c913df56..8c4832fe2a4 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 @@ -102,12 +102,6 @@ public class JsLineNumberTestGenerated extends AbstractJsLineNumberTest { doTest(fileName); } - @TestMetadata("longLiteral.kt") - public void testLongLiteral() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/lineNumbers/longLiteral.kt"); - doTest(fileName); - } - @TestMetadata("memberFunWithDefaultParam.kt") public void testMemberFunWithDefaultParam() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/lineNumbers/memberFunWithDefaultParam.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 377bc6daa84..19a4758bcf6 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 @@ -461,7 +461,7 @@ public final class ExpressionVisitor extends TranslatorVisitor { @Override @NotNull public JsNode visitLambdaExpression(@NotNull KtLambdaExpression expression, @NotNull TranslationContext context) { - return new LiteralFunctionTranslator(context).translate(expression.getFunctionLiteral()); + return new LiteralFunctionTranslator(context).translate(expression.getFunctionLiteral()).source(expression); } @Override diff --git a/js/js.translator/testData/lineNumbers/coroutine.kt b/js/js.translator/testData/lineNumbers/coroutine.kt index 4fecffacfc0..b254540d7d4 100644 --- a/js/js.translator/testData/lineNumbers/coroutine.kt +++ b/js/js.translator/testData/lineNumbers/coroutine.kt @@ -14,4 +14,4 @@ suspend fun bar(): Unit { println(a + b) } -// LINES: 4 5 6 * 9 9 9 9 9 9 9 9 * 10 11 11 11 11 11 * 11 12 13 13 13 13 13 13 14 \ No newline at end of file +// LINES: 4 5 6 4 9 9 9 9 9 9 9 9 * 10 11 11 11 11 11 * 11 12 13 13 13 13 13 13 14 \ No newline at end of file diff --git a/js/js.translator/testData/lineNumbers/lambdaWithClosure.kt b/js/js.translator/testData/lineNumbers/lambdaWithClosure.kt new file mode 100644 index 00000000000..1f050ff89eb --- /dev/null +++ b/js/js.translator/testData/lineNumbers/lambdaWithClosure.kt @@ -0,0 +1,7 @@ +fun foo(x: Int): () -> Unit = { + println(x) +} + +fun bar() = 23 + +// LINES: 1 2 1 5 \ No newline at end of file