[K2, MPP] implement IR errors reporting and test infrastructure

Fix test data

^KT-56344 Fixed
This commit is contained in:
Ilya Chernikov
2023-02-09 12:34:30 +01:00
committed by Space Team
parent 3b1071b42b
commit 59b88f33b2
48 changed files with 2583 additions and 2146 deletions
@@ -10,6 +10,8 @@ import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
import org.jetbrains.kotlin.backend.jvm.serialization.JvmIdSignatureDescriptor
import org.jetbrains.kotlin.builtins.DefaultBuiltIns
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.config.LanguageVersionSettings
import org.jetbrains.kotlin.diagnostics.DiagnosticReporter
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.backend.*
import org.jetbrains.kotlin.fir.backend.jvm.Fir2IrJvmSpecialAnnotationSymbolProvider
@@ -36,6 +38,8 @@ fun FirResult.convertToIrAndActualizeForJvm(
fir2IrExtensions: Fir2IrExtensions,
irGeneratorExtensions: Collection<IrGenerationExtension>,
linkViaSignatures: Boolean,
diagnosticReporter: DiagnosticReporter,
languageVersionSettings: LanguageVersionSettings,
): Fir2IrResult = this.convertToIrAndActualize(
fir2IrExtensions,
irGeneratorExtensions,
@@ -43,6 +47,8 @@ fun FirResult.convertToIrAndActualizeForJvm(
signatureComposerCreator = { JvmIdSignatureDescriptor(JvmDescriptorMangler(null)) },
irMangler = JvmIrMangler,
visibilityConverter = FirJvmVisibilityConverter,
diagnosticReporter = diagnosticReporter,
languageVersionSettings = languageVersionSettings,
kotlinBuiltIns = DefaultBuiltIns.Instance,
)
@@ -54,6 +60,8 @@ fun FirResult.convertToIrAndActualize(
irMangler: KotlinMangler.IrMangler,
visibilityConverter: Fir2IrVisibilityConverter,
kotlinBuiltIns: KotlinBuiltIns,
diagnosticReporter: DiagnosticReporter,
languageVersionSettings: LanguageVersionSettings,
fir2IrResultPostCompute: Fir2IrResult.() -> Unit = {},
): Fir2IrResult {
val result: Fir2IrResult
@@ -111,9 +119,12 @@ fun FirResult.convertToIrAndActualize(
).also {
fir2IrResultPostCompute(it)
}
IrActualizer.actualize(
result.irModuleFragment,
commonIrOutputs.map { it.irModuleFragment }
commonIrOutputs.map { it.irModuleFragment },
diagnosticReporter,
languageVersionSettings
)
}
}