Provide more source map info about statements in JS tests

This commit is contained in:
Alexey Andreev
2017-06-23 11:40:08 +03:00
parent fa95f78e78
commit 64f335380f
41 changed files with 50 additions and 42 deletions
@@ -58,7 +58,9 @@ class LineCollector : RecursiveJsVisitor() {
override fun visitExpressionStatement(x: JsExpressionStatement) {
withStatement(x) {
super.visitExpressionStatement(x)
handleNodeLocation(x.expression)
lineNumbersByStatement[x]?.add(-1)
x.expression.acceptChildren(this)
}
}
@@ -114,12 +116,16 @@ class LineCollector : RecursiveJsVisitor() {
override fun visitReturn(x: JsReturn) {
withStatement(x) {
handleNodeLocation(x)
lineNumbersByStatement[x]?.add(-1)
super.visitReturn(x)
}
}
override fun visitVars(x: JsVars) {
withStatement(x) {
handleNodeLocation(x)
lineNumbersByStatement[x]?.add(-1)
super.visitVars(x)
}
}
@@ -133,6 +139,8 @@ class LineCollector : RecursiveJsVisitor() {
override fun visitThrow(x: JsThrow) {
withStatement(x) {
handleNodeLocation(x)
lineNumbersByStatement[x]?.add(-1)
super.visitThrow(x)
}
}
@@ -6,4 +6,4 @@ fun box(x: Int, y: Int) {
fun foo(x: Int) = x
// LINES: 5 * 3 3 * 3 3 4 4 * 4 4 2 3 7 7
// LINES: 5 * 3 3 3 * 3 3 4 4 4 * 4 4 4 4 2 3 7 7 7
+1 -1
View File
@@ -12,4 +12,4 @@ open class A {
}
}
// LINES: 1 2 4 2 2 2 5 5 6 12 8 9 10 11
// LINES: 1 2 2 4 4 2 2 2 2 5 5 5 6 12 8 9 10 11
+1 -1
View File
@@ -19,4 +19,4 @@ fun bar() {
}
}
// LINES: 11 3 5 5 6 8 8 9 * 20 15 18
// LINES: 11 3 3 5 5 6 6 8 8 9 9 * 20 15 15 18 18
+1 -1
View File
@@ -14,4 +14,4 @@ class C {
val baz: dynamic get() = null
}
// LINES: 9 2 4 3 2 6 8 7 6 11 12 12 14 14
// LINES: 9 2 4 3 2 6 8 7 6 11 12 12 12 14 14 14
@@ -14,4 +14,4 @@ fun A.foo() {
fun baz() = 23
// LINES: 1 * 5 5 5 9 7 8 * 13 4 11 12 15 15
// LINES: 1 * 5 5 5 9 7 7 8 8 * 13 4 4 11 11 12 12 15 15 15
+1 -1
View File
@@ -5,4 +5,4 @@ fun box(x: Int, y: Int): Int {
return foo(y)
}
// LINES: 2 2 4 6 2 5
// LINES: 2 2 4 4 6 2 2 5 5
@@ -11,4 +11,4 @@ fun baz() = 1
fun bar() = 2
// LINES: 8 * 2 2 3 4 4 5 2 8 10 10 12 12
// LINES: 8 * 2 2 3 4 4 5 2 8 8 10 10 10 12 12 12
@@ -14,4 +14,4 @@ private inline fun foo(): Int {
return 23
}
// LINES: 10 3 3 4 3 6 13 3 14 2 15 13 14
// LINES: 10 3 3 3 4 3 6 13 13 3 14 2 15 13 13 14 14
+1 -1
View File
@@ -14,4 +14,4 @@ suspend fun bar(): Unit {
println(a + b)
}
// LINES: 4 4 5 5 6 4 4 15 9 9 9 9 15 9 9 9 9 * 15 10 11 11 11 11 11 * 11 12 13 13 13 13 13 13 14
// LINES: 4 4 5 5 5 5 6 4 4 4 15 9 9 9 9 15 9 9 9 9 * 15 10 10 11 11 11 11 11 * 11 12 12 13 13 13 13 13 13 14 14
+1 -1
View File
@@ -3,4 +3,4 @@ data class A(
val y: String
)
// LINES: 1 2 3 * 1 2 1 3 1 1 2 3 1 1 2 3 1 1 2 3 1 1 1 2 3
// LINES: 1 2 3 * 1 2 2 1 3 3 1 1 1 2 3 1 1 1 2 3 1 1 1 2 3 1 1 1 1 1 2 3
+1 -1
View File
@@ -13,4 +13,4 @@ class Delegate(val f: () -> Int) {
}
}
// LINES: 1 2 3 2 2 3 3 * 8 7 10 10 13 12
// LINES: 1 2 3 2 2 3 3 3 * 8 7 7 10 10 13 12 12
+1 -1
View File
@@ -15,4 +15,4 @@ class B {
}
}
// LINES: 3 4 5 4 4 4 2 * 8 11 10 15 14
// LINES: 3 4 5 4 4 4 2 * 8 11 10 10 15 14 14
+1 -1
View File
@@ -18,4 +18,4 @@ val o = object : I {
}
}
// LINES: 1 2 3 2 2 2 2 2 * 11 12 12 15 15 18 17
// LINES: 1 2 3 2 2 2 2 2 * 11 12 12 12 15 15 15 18 17 17
@@ -13,4 +13,4 @@ fun box() {
)
}
// LINES: 14 8 3 2 3 3 8 11 * 3 7 12 3 3 4
// LINES: 14 8 3 2 2 3 3 3 8 11 11 * 3 7 12 3 3 4 4
@@ -6,4 +6,4 @@ enum class Foo {
}
}
// LINES: 1 1 1 1 1 1 2 4 * 2 2 2 4 4 5 * 4 4 4 4 4 * 1 1 * 1 1 1 1
// LINES: 1 1 1 1 1 1 2 4 * 2 2 2 4 4 5 5 * 4 4 4 4 4 * 1 1 * 1 1 1 1
+1 -1
View File
@@ -10,4 +10,4 @@ enum class E {
}
}
// LINES: 1 1 1 1 1 1 2 4 8 * 2 2 2 4 4 4 5 5 * 4 4 4 8 8 8 9 9 * 8 8 8 * 1 1 * 1 1 1 1 1 1
// LINES: 1 1 1 1 1 1 2 4 8 * 2 2 2 4 4 4 5 5 5 * 4 4 4 8 8 8 9 9 9 * 8 8 8 * 1 1 * 1 1 1 1 1 1
@@ -4,4 +4,4 @@ fun box() =
fun foo() =
23
// LINES: 2 2 5 5
// LINES: 2 2 2 5 5 5
+1 -1
View File
@@ -17,4 +17,4 @@ fun box() {
}
}
// LINES: 18 2 10 15 2 2 2 2 3 6 6 6 7 10 10 10 10 11 14 15 15 15 15 15 15 15 16
// LINES: 18 2 10 15 2 2 2 2 2 3 3 6 6 6 6 7 7 10 10 10 10 10 11 11 14 14 15 15 15 15 15 15 15 15 15 15 15 15 16 16
+1 -1
View File
@@ -8,4 +8,4 @@ fun foo(x: Int) {
println(y)
}
// LINES: 9 2 3 4 5 6 7 8
// LINES: 9 2 2 3 3 4 4 5 5 6 6 7 7 8 8
@@ -9,4 +9,4 @@ fun bar() {
foo(42)
}
// LINES: 6 2 3 3 4 10 2 9 2 3 3 4
// LINES: 6 2 2 3 3 4 4 10 2 2 9 2 3 3 4 4
@@ -8,7 +8,7 @@ inline fun foo(x: String) {
println("foo2($x);")
}
// LINES: 9 7 8
// LINES: 9 7 7 8 8
// MODULE: main(lib)
// FILE: main.kt
@@ -21,4 +21,4 @@ fun box() {
foo("42")
}
// LINES: 22 7 20 7 8 20 8 7 21 7 8 21 8
// LINES: 22 7 7 20 7 8 8 20 8 7 7 21 7 8 8 21 8
+1 -1
View File
@@ -21,4 +21,4 @@ fun bar(x: Int) {
println("%")
}
// LINES: 17 2 2 3 4 7 9 9 10 11 14 16 22 20 * 2 2 3 4 3 7 9 9 10 11 10 14 16 * 20 21
// LINES: 17 2 2 3 3 4 7 7 9 9 10 10 11 14 14 16 16 22 20 * 2 2 3 3 4 3 7 7 9 9 10 10 11 10 14 14 16 16 * 20 21 21
+1 -1
View File
@@ -11,4 +11,4 @@ inline fun bar() {
println("bar2")
}
// LINES: 7 2 10 11 4 10 11 6 12 10 11
// LINES: 7 2 2 10 10 11 11 4 4 10 10 11 11 6 6 12 10 10 11 11
@@ -16,4 +16,4 @@ inline fun foo(f: () -> Unit) {
println("after")
}
// LINES: 11 2 14 4 16 6 14 8 16 10 17 14 15 16
// LINES: 11 2 2 14 14 4 4 16 16 6 6 14 14 8 8 16 16 10 10 17 14 14 15 15 16 16
+1 -1
View File
@@ -6,4 +6,4 @@ class A(val x: Int) {
}
}
// LINES: 1 1 2 2 5 4
// LINES: 1 1 2 2 5 4 4
+1 -1
View File
@@ -4,4 +4,4 @@ fun foo(x: Int): () -> Unit = {
fun bar() = 23
// LINES: 1 1 2 1 1 5 5
// LINES: 1 1 2 2 1 1 1 5 5 5
+1 -1
View File
@@ -26,4 +26,4 @@ fun bar(vararg x: Any?) {
println(x)
}
// LINES: 1 22 3 4 5 6 7 8 9 10 13 14 15 16 17 18 19 20 * 27 26
// LINES: 1 22 3 4 5 6 7 8 9 10 13 14 15 16 17 18 19 20 * 27 26 26
@@ -10,4 +10,4 @@ class B : A() {
}
}
// LINES: 1 2 2 2 2 2 2 2 4 4 * 7 7 10 9
// LINES: 1 2 2 2 2 2 2 2 2 2 4 4 4 * 7 7 10 9 9
@@ -12,4 +12,4 @@ object O {
val y = 23
}
// LINES: 9 2 3 4 6 7 8 11 11 12 * 11 11 11 11
// LINES: 9 2 2 3 3 4 4 6 6 7 7 8 8 11 11 12 12 * 11 11 11 11
@@ -4,4 +4,4 @@ fun foo() {
println("foo")
}
// LINES: 1 1 * 1 1 1 1 5 4
// LINES: 1 1 * 1 1 1 1 5 4 4
+1 -1
View File
@@ -7,4 +7,4 @@ fun box(
println(y)
}
// LINES: 8 2 2 2 3 3 3 4 6 7
// LINES: 8 2 2 2 2 3 3 3 4 6 6 7 7
@@ -9,4 +9,4 @@ open class A {
}
}
// LINES: 1 2 4 7 8 4 4
// LINES: 1 2 4 7 7 8 8 4 4 4
+1 -1
View File
@@ -3,4 +3,4 @@ fun box() {
println("bar")
}
// LINES: 4 2 3
// LINES: 4 2 2 3 3
+1 -1
View File
@@ -4,4 +4,4 @@ fun box(x: Int): String {
"suffix"
}
// LINES: 5 2 3 4
// LINES: 5 2 2 3 4
@@ -25,4 +25,4 @@ class C : A {
)
}
// LINES: 1 1 3 * 1 1 1 1 7 * 9 10 11 * 15 15 16 17 14 19 15 22 22 23 24 22
// LINES: 1 1 3 * 1 1 1 1 7 * 9 10 11 * 15 15 16 17 14 19 15 15 22 22 23 24 22 22
@@ -8,4 +8,4 @@ enum class E {
}
}
// LINES: 1 1 1 1 1 1 2 3 4 * 2 2 2 * 3 3 3 4 4 4 6 * 4 4 4 * 1 1 * 1 1 1 1 1 1
// LINES: 1 1 1 1 1 1 2 3 4 * 2 2 2 * 3 3 3 4 4 4 6 6 * 4 4 4 * 1 1 * 1 1 1 1 1 1
+1 -1
View File
@@ -7,4 +7,4 @@ fun foo() {
A(23, "foo")
}
// LINES: 1 2 3 * 8 7
// LINES: 1 2 3 * 8 7 7
+1 -1
View File
@@ -13,4 +13,4 @@ fun foo(): Int = 23
fun bar(): IntRange = 1000..2000
// LINES: 10 2 2 3 4 5 6 7 8 12 12 14 14
// LINES: 10 2 2 2 3 4 4 5 6 6 7 8 8 12 12 12 14 14 14
+1 -1
View File
@@ -13,4 +13,4 @@ open class A
open class B : A()
// LINES: 10 2 2 3 4 5 6 8 12 * 14 14
// LINES: 10 2 2 2 3 4 4 5 6 6 8 8 12 * 14 14
@@ -12,4 +12,4 @@ fun box() {
}
}
// LINES: 13 5 2 3 5 8 * 3 4 9 3 11
// LINES: 13 5 2 2 3 5 8 8 * 3 4 9 3 11 11