[FIR] Respect exception suppression in Fir2IrResultsConverter

Only Fir2IrJvmResultsConverter respected
the IGNORE_FIR2IR_EXCEPTIONS_IF_FIR_CONTAINS_ERRORS test directive.
Fir2IrJsResultConverter didn't.

This is fixed here.
This commit is contained in:
Sergej Jaskiewicz
2023-05-01 17:59:41 +02:00
committed by Space Team
parent a74df3b4b4
commit 89ecd1e0e2
@@ -41,6 +41,7 @@ import org.jetbrains.kotlin.library.metadata.resolver.KotlinResolvedLibrary
import org.jetbrains.kotlin.library.unresolvedDependencies
import org.jetbrains.kotlin.storage.LockBasedStorageManager
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives
import org.jetbrains.kotlin.test.model.BackendKinds
import org.jetbrains.kotlin.test.model.Frontend2BackendConverter
import org.jetbrains.kotlin.test.model.FrontendKinds
@@ -55,7 +56,19 @@ class Fir2IrJsResultsConverter(
FrontendKinds.FIR,
BackendKinds.IrBackend
) {
override fun transform(
override fun transform(module: TestModule, inputArtifact: FirOutputArtifact): IrBackendInput? =
try {
transformInternal(module, inputArtifact)
} catch (e: Throwable) {
if (CodegenTestDirectives.IGNORE_FIR2IR_EXCEPTIONS_IF_FIR_CONTAINS_ERRORS in module.directives && inputArtifact.hasErrors) {
null
} else {
throw e
}
}
private fun transformInternal(
module: TestModule,
inputArtifact: FirOutputArtifact
): IrBackendInput {