diff --git a/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/TestRunner.kt b/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/TestRunner.kt index b2b661094eb..7a1332471ff 100644 --- a/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/TestRunner.kt +++ b/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/TestRunner.kt @@ -98,7 +98,7 @@ class TestRunner(private val testConfiguration: TestConfiguration) { if (!frontendKind.shouldRunAnalysis) return val frontendArtifacts: ResultingArtifact.FrontendOutput<*> = testConfiguration.getFacade(SourcesKind, frontendKind) - .transform(module, sourcesArtifact).also { dependencyProvider.registerArtifact(module, it) } + .transform(module, sourcesArtifact)?.also { dependencyProvider.registerArtifact(module, it) } ?: return val frontendHandlers: List> = testConfiguration.getHandlers(frontendKind) for (frontendHandler in frontendHandlers) { withAssertionCatching { @@ -110,7 +110,7 @@ class TestRunner(private val testConfiguration: TestConfiguration) { if (!backendKind.shouldRunAnalysis) return val backendInputInfo = testConfiguration.getFacade(frontendKind, backendKind) - .hackyTransform(module, frontendArtifacts).also { dependencyProvider.registerArtifact(module, it) } + .hackyTransform(module, frontendArtifacts)?.also { dependencyProvider.registerArtifact(module, it) } ?: return val backendHandlers: List> = testConfiguration.getHandlers(backendKind) for (backendHandler in backendHandlers) { @@ -120,9 +120,9 @@ class TestRunner(private val testConfiguration: TestConfiguration) { for (artifactKind in moduleStructure.getTargetArtifactKinds(module)) { if (!artifactKind.shouldRunAnalysis) continue val binaryArtifact = testConfiguration.getFacade(backendKind, artifactKind) - .hackyTransform(module, backendInputInfo).also { + .hackyTransform(module, backendInputInfo)?.also { dependencyProvider.registerArtifact(module, it) - } + } ?: return val binaryHandlers: List> = testConfiguration.getHandlers(artifactKind) for (binaryHandler in binaryHandlers) { @@ -167,7 +167,7 @@ private fun > AnalysisHandler.processModule(module: private fun AbstractTestFacade<*, *>.hackyTransform( module: TestModule, artifact: ResultingArtifact<*> -): ResultingArtifact<*> { +): ResultingArtifact<*>? { @Suppress("UNCHECKED_CAST") return (this as AbstractTestFacade) .transform(module, artifact as ResultingArtifact) @@ -176,7 +176,7 @@ private fun AbstractTestFacade<*, *>.hackyTransform( private fun , O : ResultingArtifact> AbstractTestFacade.transform( module: TestModule, inputArtifact: ResultingArtifact -): O { +): O? { @Suppress("UNCHECKED_CAST") return transform(module, inputArtifact as I) } diff --git a/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/model/Facades.kt b/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/model/Facades.kt index d6f075f226b..dc6fbba6eb2 100644 --- a/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/model/Facades.kt +++ b/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/model/Facades.kt @@ -13,7 +13,7 @@ abstract class AbstractTestFacade, O : ResultingArtifac abstract val inputKind: TestArtifactKind abstract val outputKind: TestArtifactKind - abstract fun transform(module: TestModule, inputArtifact: I): O + abstract fun transform(module: TestModule, inputArtifact: I): O? open val additionalServices: List get() = emptyList()