[JS IR] IC: emit source maps

This commit is contained in:
Anton Bannykh
2021-12-08 17:03:32 +03:00
parent 4d8926cf26
commit 95b5c44fba
3 changed files with 7 additions and 3 deletions
@@ -43,6 +43,7 @@ import org.jetbrains.kotlin.ir.backend.js.codegen.JsGenerationGranularity
import org.jetbrains.kotlin.ir.backend.js.ic.*
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.IrModuleToJsTransformer
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.IrModuleToJsTransformerTmp
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.SourceMapsInfo
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImplForJsIC
import org.jetbrains.kotlin.ir.declarations.persistent.PersistentIrFactory
@@ -282,7 +283,7 @@ class K2JsIrCompiler : CLICompiler<K2JSCompilerArguments>() {
val caches = loadModuleCaches(icCaches)
val moduleKind = configurationJs[JSConfigurationKeys.MODULE_KIND]!!
val compiledModule = generateJsFromAst(moduleName, moduleKind, caches)
val compiledModule = generateJsFromAst(moduleName, moduleKind, SourceMapsInfo.from(configurationJs), caches)
val outputs = compiledModule.outputs!!
@@ -128,6 +128,7 @@ fun lowerPreservingTags(modules: Iterable<IrModuleFragment>, context: JsIrBacken
fun generateJsFromAst(
mainModuleName: String,
moduleKind: ModuleKind,
sourceMapsInfo: SourceMapsInfo?,
caches: Map<String, ModuleCache>,
): CompilerResult {
val deserializer = JsIrAstDeserializer()
@@ -143,7 +144,7 @@ fun generateJsFromAst(
mainModuleName = mainModuleName,
moduleKind = moduleKind,
jsIrProgram,
sourceMapsInfo = null,
sourceMapsInfo = sourceMapsInfo,
relativeRequirePath = false,
generateScriptModule = false,
), null
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.ir.backend.js.codegen.generateEsModules
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerDesc
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.IrModuleToJsTransformer
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.IrModuleToJsTransformerTmp
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.SourceMapsInfo
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImplForJsIC
import org.jetbrains.kotlin.ir.util.IrMessageLogger
@@ -96,7 +97,8 @@ class JsIrBackendFacade(
}
val moduleName = configuration.getNotNull(CommonConfigurationKeys.MODULE_NAME)
val moduleKind = configuration.get(JSConfigurationKeys.MODULE_KIND, ModuleKind.PLAIN)
val compiledModule = generateJsFromAst(moduleName, moduleKind, testServices.jsIrIncrementalDataProvider.getCaches())
val sourceMapsInfo = SourceMapsInfo.from(configuration)
val compiledModule = generateJsFromAst(moduleName, moduleKind, sourceMapsInfo, testServices.jsIrIncrementalDataProvider.getCaches())
return BinaryArtifacts.Js.JsIrArtifact(
outputFile, compiledModule, testServices.jsIrIncrementalDataProvider.getCacheForModule(module)
).dump(module)