[JS IR] Generate sourcemaps for JS IR tests

This commit is contained in:
Sergej Jaskiewicz
2022-05-23 21:54:03 +03:00
committed by Space
parent 29f3445721
commit 0320d49ddc
3 changed files with 14 additions and 5 deletions
@@ -458,11 +458,7 @@ class K2JsIrCompiler : CLICompiler<K2JSCompilerArguments>() {
private fun File.write(outputs: CompilationOutputs) {
writeText(outputs.jsCode)
outputs.sourceMap?.let {
val mapFile = resolveSibling("$name.map")
appendText("\n//# sourceMappingURL=${mapFile.name}")
mapFile.writeText(it)
}
outputs.writeSourceMapIfPresent(this)
}
override fun setupPlatformSpecificArgumentsAndServices(
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.js.backend.ast.JsProgram
import org.jetbrains.kotlin.js.config.JSConfigurationKeys
import org.jetbrains.kotlin.js.config.RuntimeDiagnostic
import org.jetbrains.kotlin.name.FqName
import java.io.File
class CompilerResult(
val outputs: Map<TranslationMode, CompilationOutputs>,
@@ -167,3 +168,11 @@ fun generateJsCode(
val transformer = IrModuleToJsTransformer(context, null, true, nameTables)
return transformer.generateModule(listOf(moduleFragment)).outputs[TranslationMode.FULL]!!.jsCode
}
fun CompilationOutputs.writeSourceMapIfPresent(outputJsFile: File) {
sourceMap?.let {
val mapFile = outputJsFile.resolveSibling("${outputJsFile.name}.map")
outputJsFile.appendText("\n//# sourceMappingURL=${mapFile.name}\n")
mapFile.writeText(it)
}
}