[JS IR] Use topological order for loading klibs in JS IR IC
Generally, the library order doesn't matter. However, after lowering we need to post process lowered klibs in topological order: - commit incremental cache artifacts, - produce JS AST. The patch uses an ability of the Kotlin library resolver to load klibs in topological order and drops its reimplementation from IC infrastructure. There is one side effect: klibs which are not reachable from the main module, will produce their JS. This should be more correct than just ignoring them.
This commit is contained in:
committed by
Space Team
parent
ec6a7094e6
commit
8cde0a81bc
@@ -44,7 +44,6 @@ abstract class AbstractInvalidationTest : KotlinTestWithEnvironment() {
|
||||
companion object {
|
||||
private val TEST_DATA_DIR_PATH = System.getProperty("kotlin.js.test.root.out.dir") ?: error("'kotlin.js.test.root.out.dir' is not set")
|
||||
private const val BOX_FUNCTION_NAME = "box"
|
||||
private const val STDLIB_ALIAS = "stdlib"
|
||||
|
||||
private const val STDLIB_MODULE_NAME = "kotlin-kotlin-stdlib-js-ir"
|
||||
private val STDLIB_KLIB = File(System.getProperty("kotlin.js.stdlib.klib.path") ?: error("Please set stdlib path")).canonicalPath
|
||||
@@ -240,7 +239,7 @@ abstract class AbstractInvalidationTest : KotlinTestWithEnvironment() {
|
||||
)
|
||||
|
||||
val icCaches = cacheUpdater.actualizeCaches()
|
||||
verifyCacheUpdateStats(projStep.id, cacheUpdater.getDirtyFileStats(), testInfo)
|
||||
verifyCacheUpdateStats(projStep.id, cacheUpdater.getDirtyFileLastStats(), testInfo)
|
||||
|
||||
val mainModuleName = icCaches.last().moduleExternalName
|
||||
val jsExecutableProducer = JsExecutableProducer(
|
||||
|
||||
Reference in New Issue
Block a user