Fix JS source maps for while/do..while statements

This commit is contained in:
Alexey Andreev
2017-05-12 14:56:20 +03:00
parent 413ac40c25
commit 1111f2d5cd
5 changed files with 52 additions and 5 deletions
@@ -66,6 +66,12 @@ public class JsLineNumberTestGenerated extends AbstractJsLineNumberTest {
doTest(fileName);
}
@TestMetadata("doWhileWithComplexCondition.kt")
public void testDoWhileWithComplexCondition() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/lineNumbers/doWhileWithComplexCondition.kt");
doTest(fileName);
}
@TestMetadata("for.kt")
public void testFor() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/lineNumbers/for.kt");
@@ -185,4 +191,10 @@ public class JsLineNumberTestGenerated extends AbstractJsLineNumberTest {
String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/lineNumbers/whenIs.kt");
doTest(fileName);
}
@TestMetadata("whileWithComplexCondition.kt")
public void testWhileWithComplexCondition() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/lineNumbers/whileWithComplexCondition.kt");
doTest(fileName);
}
}
@@ -60,6 +60,7 @@ class LineCollector : RecursiveJsVisitor() {
override fun visitIf(x: JsIf) {
withStatement(x) {
handleNodeLocation(x)
x.ifExpression.accept(this)
}
x.thenStatement.accept(this)
@@ -68,6 +69,7 @@ class LineCollector : RecursiveJsVisitor() {
override fun visitWhile(x: JsWhile) {
withStatement(x) {
handleNodeLocation(x)
x.condition.accept(this)
}
x.body.accept(this)
@@ -75,6 +77,7 @@ class LineCollector : RecursiveJsVisitor() {
override fun visitDoWhile(x: JsDoWhile) {
withStatement(x) {
handleNodeLocation(x)
x.condition.accept(this)
}
x.body.accept(this)