[K2, MPP] implement IR errors reporting and test infrastructure
Fix test data ^KT-56344 Fixed
This commit is contained in:
committed by
Space Team
parent
3b1071b42b
commit
59b88f33b2
@@ -493,7 +493,7 @@ class K2JsIrCompiler : CLICompiler<K2JSCompilerArguments>() {
|
||||
) ?: return null
|
||||
|
||||
// FIR2IR
|
||||
val irResult = transformFirToIr(moduleStructure, outputs)
|
||||
val irResult = transformFirToIr(moduleStructure, outputs, diagnosticsReporter)
|
||||
|
||||
// Serialize klib
|
||||
if (arguments.irProduceKlibDir || arguments.irProduceKlibFile) {
|
||||
|
||||
@@ -17,9 +17,11 @@ import org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport
|
||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||
import org.jetbrains.kotlin.cli.common.prepareJsSessions
|
||||
import org.jetbrains.kotlin.config.CommonConfigurationKeys
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||
import org.jetbrains.kotlin.config.languageVersionSettings
|
||||
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
|
||||
import org.jetbrains.kotlin.diagnostics.impl.BaseDiagnosticsCollector
|
||||
import org.jetbrains.kotlin.diagnostics.impl.PendingDiagnosticsCollectorWithSuppress
|
||||
import org.jetbrains.kotlin.fir.BinaryModuleData
|
||||
import org.jetbrains.kotlin.fir.DependencyListForCliModule
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
@@ -99,7 +101,8 @@ fun compileModuleToAnalyzedFir(
|
||||
|
||||
fun transformFirToIr(
|
||||
moduleStructure: ModulesStructure,
|
||||
firOutputs: List<ModuleCompilerAnalyzedOutput>
|
||||
firOutputs: List<ModuleCompilerAnalyzedOutput>,
|
||||
diagnosticsReporter: PendingDiagnosticsCollectorWithSuppress,
|
||||
): Fir2IrResult {
|
||||
val fir2IrExtensions = Fir2IrExtensions.Default
|
||||
|
||||
@@ -135,6 +138,8 @@ fun transformFirToIr(
|
||||
irMangler = JsManglerIr,
|
||||
visibilityConverter = Fir2IrVisibilityConverter.Default,
|
||||
kotlinBuiltIns = builtInsModule ?: DefaultBuiltIns.Instance,
|
||||
diagnosticReporter = diagnosticsReporter,
|
||||
languageVersionSettings = moduleStructure.compilerConfiguration.languageVersionSettings,
|
||||
fir2IrResultPostCompute = {
|
||||
(this.irModuleFragment.descriptor as? FirModuleDescriptor)?.let { it.allDependencyModules = librariesDescriptors }
|
||||
}
|
||||
|
||||
+3
-1
@@ -156,7 +156,9 @@ object FirKotlinToJvmBytecodeCompiler {
|
||||
val fir2IrResult = firResult.convertToIrAndActualizeForJvm(
|
||||
fir2IrExtensions,
|
||||
irGenerationExtensions,
|
||||
linkViaSignatures = moduleConfiguration.getBoolean(JVMConfigurationKeys.LINK_VIA_SIGNATURES)
|
||||
linkViaSignatures = moduleConfiguration.getBoolean(JVMConfigurationKeys.LINK_VIA_SIGNATURES),
|
||||
diagnosticsReporter,
|
||||
moduleConfiguration.languageVersionSettings
|
||||
)
|
||||
|
||||
performanceManager?.notifyIRTranslationFinished()
|
||||
|
||||
@@ -232,7 +232,10 @@ fun convertAnalyzedFirToIr(
|
||||
} ?: emptyList()
|
||||
val linkViaSignatures = input.configuration.getBoolean(JVMConfigurationKeys.LINK_VIA_SIGNATURES)
|
||||
val (irModuleFragment, components, pluginContext) =
|
||||
analysisResults.convertToIrAndActualizeForJvm(extensions, irGenerationExtensions, linkViaSignatures)
|
||||
analysisResults.convertToIrAndActualizeForJvm(
|
||||
extensions, irGenerationExtensions, linkViaSignatures,
|
||||
environment.diagnosticsReporter, input.configuration.languageVersionSettings
|
||||
)
|
||||
|
||||
return ModuleCompilerIrBackendInput(
|
||||
input.targetId,
|
||||
|
||||
Reference in New Issue
Block a user