[JS IR] Use jsOutputName for module naming when IC is enabled
^KT-53986 Fixed
This commit is contained in:
committed by
Space
parent
ef05a0d9ed
commit
dd7d669464
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
import org.jetbrains.kotlin.ir.backend.js.*
|
||||
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsIrLinker
|
||||
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.JsIrFragmentAndBinaryAst
|
||||
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.safeModuleName
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.symbols.IrSymbol
|
||||
import org.jetbrains.kotlin.ir.util.*
|
||||
@@ -514,6 +515,7 @@ class CacheUpdater(
|
||||
}
|
||||
artifacts += incrementalCache.buildModuleArtifactAndCommitCache(
|
||||
moduleName = libFragment.name.asString(),
|
||||
externalModuleName = lib.jsOutputName,
|
||||
rebuiltFileFragments = libRebuiltFiles,
|
||||
signatureToIndexMapping = signatureToIndexMapping
|
||||
)
|
||||
|
||||
+2
-1
@@ -84,6 +84,7 @@ class IncrementalCache(private val library: KotlinLibrary, cachePath: String) {
|
||||
|
||||
fun buildModuleArtifactAndCommitCache(
|
||||
moduleName: String,
|
||||
externalModuleName: String?,
|
||||
rebuiltFileFragments: Map<KotlinSourceFile, JsIrFragmentAndBinaryAst>,
|
||||
signatureToIndexMapping: Map<KotlinSourceFile, Map<IdSignature, Int>>
|
||||
): ModuleArtifact {
|
||||
@@ -98,7 +99,7 @@ class IncrementalCache(private val library: KotlinLibrary, cachePath: String) {
|
||||
SrcFileArtifact(srcFile.path, rebuiltFileFragment?.fragment, binaryAstFile)
|
||||
}
|
||||
|
||||
return ModuleArtifact(moduleName, fileArtifacts, cacheDir, forceRebuildJs)
|
||||
return ModuleArtifact(moduleName, fileArtifacts, cacheDir, forceRebuildJs, externalModuleName)
|
||||
}
|
||||
|
||||
data class ModifiedFiles(
|
||||
|
||||
+1
-1
@@ -43,7 +43,7 @@ class JsMultiModuleCache(private val moduleArtifacts: List<ModuleArtifact>) {
|
||||
}
|
||||
CachedModuleInfo(
|
||||
artifact = this@fetchModuleInfo,
|
||||
jsIrHeader = JsIrModuleHeader(moduleSafeName, moduleSafeName, definitions, nameBindings, hasJsExports, null),
|
||||
jsIrHeader = JsIrModuleHeader(moduleSafeName, moduleExternalName, definitions, nameBindings, hasJsExports, null),
|
||||
crossModuleReferencesHash = crossModuleReferencesHash
|
||||
)
|
||||
}
|
||||
|
||||
@@ -31,13 +31,15 @@ class ModuleArtifact(
|
||||
moduleName: String,
|
||||
val fileArtifacts: List<SrcFileArtifact>,
|
||||
val artifactsDir: File? = null,
|
||||
val forceRebuildJs: Boolean = false
|
||||
val forceRebuildJs: Boolean = false,
|
||||
externalModuleName: String? = null
|
||||
) {
|
||||
val moduleSafeName = moduleName.safeModuleName
|
||||
val moduleExternalName = externalModuleName ?: moduleSafeName
|
||||
|
||||
fun loadJsIrModule(): JsIrModule {
|
||||
val deserializer = JsIrAstDeserializer()
|
||||
val fragments = fileArtifacts.sortedBy { it.srcFilePath }.mapNotNull { it.loadJsIrFragment(deserializer) }
|
||||
return JsIrModule(moduleSafeName, moduleSafeName, fragments)
|
||||
return JsIrModule(moduleSafeName, moduleExternalName, fragments)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user