diff --git a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt index bcd18138905..a359dc22cf1 100644 --- a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt +++ b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt @@ -192,21 +192,17 @@ class K2JsIrCompiler : CLICompiler() { require(outputFile.extension == KLIB_FILE_EXTENSION) { "Please set up .klib file as output" } } - try { - generateKLib( - project = config.project, - files = sourcesFiles, - analyzer = AnalyzerWithCompilerReport(config.configuration), - configuration = config.configuration, - allDependencies = resolvedLibraries, - friendDependencies = friendDependencies, - irFactory = PersistentIrFactory, - outputKlibPath = outputFile.path, - nopack = arguments.irProduceKlibDir - ) - } catch (e: JsIrCompilationError) { - return COMPILATION_ERROR - } + generateKLib( + project = config.project, + files = sourcesFiles, + analyzer = AnalyzerWithCompilerReport(config.configuration), + configuration = config.configuration, + allDependencies = resolvedLibraries, + friendDependencies = friendDependencies, + irFactory = PersistentIrFactory, + outputKlibPath = outputFile.path, + nopack = arguments.irProduceKlibDir + ) } if (arguments.irProduceJs) { @@ -252,26 +248,22 @@ class K2JsIrCompiler : CLICompiler() { return OK } - val compiledModule = try { - compile( - projectJs, - mainModule, - AnalyzerWithCompilerReport(config.configuration), - config.configuration, - phaseConfig, - allDependencies = resolvedLibraries, - friendDependencies = friendDependencies, - mainArguments = mainCallArguments, - generateFullJs = !arguments.irDce, - generateDceJs = arguments.irDce, - dceDriven = arguments.irDceDriven, - multiModule = arguments.irPerModule, - relativeRequirePath = true, - propertyLazyInitialization = arguments.irPropertyLazyInitialization, - ) - } catch (e: JsIrCompilationError) { - return COMPILATION_ERROR - } + val compiledModule = compile( + projectJs, + mainModule, + AnalyzerWithCompilerReport(config.configuration), + config.configuration, + phaseConfig, + allDependencies = resolvedLibraries, + friendDependencies = friendDependencies, + mainArguments = mainCallArguments, + generateFullJs = !arguments.irDce, + generateDceJs = arguments.irDce, + dceDriven = arguments.irDceDriven, + multiModule = arguments.irPerModule, + relativeRequirePath = true, + propertyLazyInitialization = arguments.irPropertyLazyInitialization, + ) val jsCode = if (arguments.irDce && !arguments.irDceDriven) compiledModule.dceJsCode!! else compiledModule.jsCode!! outputFile.writeText(jsCode.mainModule) diff --git a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt index 1b69f9be89a..27f26a0ac7c 100644 --- a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt +++ b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt @@ -363,8 +363,6 @@ fun getModuleDescriptorByLibrary(current: KotlinLibrary, mapping: Map) : MainModule() class Klib(val lib: KotlinLibrary) : MainModule() @@ -416,7 +414,7 @@ private class ModulesStructure( var hasErrors = false if (analyzer.hasErrors() || analysisResult !is JsAnalysisResult) { if (!errorPolicy.allowErrors) - throw JsIrCompilationError + throw AnalysisResult.CompilationErrorException() else hasErrors = true }