JS: visit tests and main in import remover; update line numbers
This commit is contained in:
@@ -30,6 +30,8 @@ fun removeUnusedImports(fragment: JsProgramFragment) {
|
||||
}
|
||||
collectUsedImports(declarationBlock, usedImports)
|
||||
collectUsedImports(initializerBlock, usedImports)
|
||||
tests?.let { collectUsedImports(it, usedImports) }
|
||||
mainFunction?.let { collectUsedImports(it, usedImports) }
|
||||
collectUsedImports(exportBlock, usedImports)
|
||||
}
|
||||
|
||||
@@ -45,6 +47,7 @@ private fun collectUsedImports(root: JsNode, to: MutableSet<JsName>): Set<JsName
|
||||
root.accept(collector)
|
||||
|
||||
// See StaticContext.getVariableForPropertyMetadata
|
||||
// TODO Find a better way
|
||||
val removedPseudoImports = mutableSetOf<JsName>()
|
||||
NodeRemover(JsVars::class.java) { statement ->
|
||||
if (statement.vars.size == 1) {
|
||||
@@ -56,7 +59,6 @@ private fun collectUsedImports(root: JsNode, to: MutableSet<JsName>): Set<JsName
|
||||
false
|
||||
}
|
||||
}.accept(root)
|
||||
|
||||
collector.pseudoImports.forEach {
|
||||
if (it.name !in removedPseudoImports) {
|
||||
it.initExpression.accept(collector)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// KJS_WITH_FULL_RUNTIME
|
||||
// EXPECTED_REACHABLE_NODES: 1625
|
||||
// MODULE: lib
|
||||
// FILE: lib.kt
|
||||
|
||||
|
||||
@@ -7,8 +8,8 @@ inline fun tenUInt() = 10U
|
||||
|
||||
inline fun tenULong() = 10UL
|
||||
|
||||
// MODULE: main(lib)
|
||||
// FILE: main.kt
|
||||
// RECOMPILE
|
||||
|
||||
fun box(): String {
|
||||
|
||||
|
||||
+1
-1
@@ -14,4 +14,4 @@ suspend fun bar(): Unit {
|
||||
println(a + b)
|
||||
}
|
||||
|
||||
// LINES: 38 38 4 4 4 5 5 44 44 5 89 44 5 5 6 4 4 4 15 9 9 9 * 15 10 10 11 11 11 2 11 11 * 11 12 12 13 13 13 2 13 13 13 13 14 14 * 15 9 9 9 9
|
||||
// LINES: 39 4 4 4 5 5 44 44 5 88 44 5 5 6 4 4 4 15 9 9 9 * 15 10 10 11 11 11 2 11 11 * 11 12 12 13 13 13 2 13 13 13 13 14 14 * 15 9 9 9 9
|
||||
@@ -9,4 +9,4 @@ fun bar() {
|
||||
foo(42)
|
||||
}
|
||||
|
||||
// LINES: 1 1 1 1 1 6 2 2 3 3 4 4 1 1 10 2 2 9 2 3 3 4 4
|
||||
// LINES: 1 1 1 1 1 6 2 2 3 3 4 4 10 2 2 9 2 3 3 4 4
|
||||
@@ -21,4 +21,4 @@ fun box() {
|
||||
foo("42")
|
||||
}
|
||||
|
||||
// LINES: 6 6 22 7 7 20 7 8 8 20 8 7 7 21 7 8 8 21 8
|
||||
// LINES: 6 22 7 7 20 7 8 8 20 8 7 7 21 7 8 8 21 8
|
||||
+1
-1
@@ -21,4 +21,4 @@ fun bar(x: Int) {
|
||||
println("%")
|
||||
}
|
||||
|
||||
// LINES: 1 1 1 1 1 1 1 1 1 17 2 2 3 3 4 7 7 9 9 10 10 11 14 14 16 16 1 1 1 1 22 20 20 20 20 2 2 3 3 4 3 7 7 9 9 10 10 11 10 14 14 16 16 * 20 21 21
|
||||
// LINES: 1 1 1 1 1 1 1 1 1 17 2 2 3 3 4 7 7 9 9 10 10 11 14 14 16 16 22 20 20 20 20 2 2 3 3 4 3 7 7 9 9 10 10 11 10 14 14 16 16 * 20 21 21
|
||||
Reference in New Issue
Block a user