[Test] Get rid of IrActualizerAndPluginsFacade

IR actualization and IR plugins will be moved into base Fir2Ir facades
  in the following commits, so this facade is not needed anymore

It was easier and cleanlier to remove this facade first and only after
  that modify base facades
This commit is contained in:
Dmitriy Novozhilov
2023-11-21 12:53:01 +02:00
committed by Space Team
parent ddd97e84b9
commit 1303a33bea
5 changed files with 0 additions and 79 deletions
@@ -1,63 +0,0 @@
/*
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.test.backend.ir
import org.jetbrains.kotlin.KtDiagnosticReporterWithImplicitIrBasedContext
import org.jetbrains.kotlin.backend.common.actualizer.IrActualizer
import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
import org.jetbrains.kotlin.backend.jvm.JvmIrTypeSystemContext
import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.config.languageVersionSettings
import org.jetbrains.kotlin.fir.pipeline.applyIrGenerationExtensions
import org.jetbrains.kotlin.ir.types.IrTypeSystemContextImpl
import org.jetbrains.kotlin.platform.jvm.isJvm
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives
import org.jetbrains.kotlin.test.model.*
import org.jetbrains.kotlin.test.services.TestServices
import org.jetbrains.kotlin.test.services.compilerConfigurationProvider
class IrActualizerAndPluginsFacade(
val testServices: TestServices,
) : AbstractTestFacade<IrBackendInput, IrBackendInput>() {
override fun transform(module: TestModule, inputArtifact: IrBackendInput): IrBackendInput {
if (module.frontendKind != FrontendKinds.FIR) return inputArtifact
if (module.languageVersionSettings.supportsFeature(LanguageFeature.MultiPlatformProjects)) {
val builtins = inputArtifact.irModuleFragment.irBuiltins
val typeSystemContext = when (module.targetPlatform.isJvm()) {
true -> JvmIrTypeSystemContext(builtins)
false -> IrTypeSystemContextImpl(builtins)
}
val result = IrActualizer.actualize(
inputArtifact.irModuleFragment,
inputArtifact.dependentIrModuleFragments,
KtDiagnosticReporterWithImplicitIrBasedContext(
inputArtifact.diagnosticReporter,
testServices.compilerConfigurationProvider.getCompilerConfiguration(module).languageVersionSettings,
),
typeSystemContext,
inputArtifact.fir2IrComponents!!.symbolTable,
inputArtifact.fir2IrComponents!!.fakeOverrideBuilder,
useIrFakeOverrideBuilder = CodegenTestDirectives.ENABLE_IR_FAKE_OVERRIDE_GENERATION in module.directives,
expectActualTracker = null,
)
inputArtifact.irActualizerResult = result
}
inputArtifact.irPluginContext.applyIrGenerationExtensions(
inputArtifact.irModuleFragment,
irGenerationExtensions = module.irGenerationExtensions(testServices)
)
return inputArtifact
}
private fun TestModule.irGenerationExtensions(testServices: TestServices): Collection<IrGenerationExtension> {
return IrGenerationExtension.getInstances(testServices.compilerConfigurationProvider.getProject(this))
}
override val inputKind: TestArtifactKind<IrBackendInput> = BackendKinds.IrBackend
override val outputKind: TestArtifactKind<IrBackendInput> = BackendKinds.IrBackend
override fun shouldRunAnalysis(module: TestModule): Boolean = true
}
@@ -12,7 +12,6 @@ import org.jetbrains.kotlin.fir.SessionConfiguration
import org.jetbrains.kotlin.fir.symbols.FirLazyDeclarationResolver
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
import org.jetbrains.kotlin.test.*
import org.jetbrains.kotlin.test.backend.ir.IrActualizerAndPluginsFacade
import org.jetbrains.kotlin.test.backend.ir.IrDiagnosticsHandler
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
import org.jetbrains.kotlin.test.builders.configureFirHandlersStep
@@ -103,7 +102,6 @@ abstract class AbstractFirWithActualizerDiagnosticsTest(val parser: FirParser) :
baseFirDiagnosticTestConfiguration()
facadeStep(::Fir2IrResultsConverter)
facadeStep(::IrActualizerAndPluginsFacade)
irHandlersStep {
useHandlers(
::IrDiagnosticsHandler
@@ -11,9 +11,7 @@ import org.jetbrains.kotlin.test.Constructor
import org.jetbrains.kotlin.test.HandlersStepBuilder
import org.jetbrains.kotlin.test.TestJdkKind
import org.jetbrains.kotlin.test.backend.handlers.*
import org.jetbrains.kotlin.test.backend.ir.IrActualizerAndPluginsFacade
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
import org.jetbrains.kotlin.test.bind
import org.jetbrains.kotlin.test.builders.*
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.DUMP_SMAP
@@ -41,7 +39,6 @@ fun <F : ResultingArtifact.FrontendOutput<F>, B : ResultingArtifact.BackendInput
classicFrontendHandlersStep()
firHandlersStep()
facadeStep(frontendToBackendConverter)
actualizersAndPluginsFacadeStepIfNeeded(targetFrontend)
irHandlersStep(init = {})
facadeStep(backendFacade)
jvmArtifactsHandlersStep(init = {})
@@ -205,12 +202,6 @@ fun HandlersStepBuilder<BinaryArtifacts.Jvm, ArtifactKinds.Jvm>.inlineHandlers()
)
}
fun TestConfigurationBuilder.actualizersAndPluginsFacadeStepIfNeeded(targetFrontend: FrontendKind<*>) {
if (targetFrontend == FrontendKinds.FIR) {
facadeStep(::IrActualizerAndPluginsFacade)
}
}
fun TestConfigurationBuilder.configureModernJavaTest(jdkKind: TestJdkKind, jvmTarget: JvmTarget) {
defaultDirectives {
JvmEnvironmentConfigurationDirectives.JDK_KIND with jdkKind
@@ -23,7 +23,6 @@ import org.jetbrains.kotlin.test.frontend.classic.handlers.ClassicDiagnosticsHan
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirDiagnosticsHandler
import org.jetbrains.kotlin.test.model.*
import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerWithTargetBackendTest
import org.jetbrains.kotlin.test.runners.codegen.actualizersAndPluginsFacadeStepIfNeeded
import org.jetbrains.kotlin.test.runners.codegen.commonClassicFrontendHandlersForCodegenTest
import org.jetbrains.kotlin.test.services.LibraryProvider
import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator
@@ -155,7 +154,6 @@ fun <
}
facadeStep(frontendToBackendConverter)
actualizersAndPluginsFacadeStepIfNeeded(targetFrontend)
irHandlersStep()
facadeStep(backendFacade)
@@ -19,12 +19,10 @@ import org.jetbrains.kotlin.test.frontend.classic.handlers.ClassicDiagnosticsHan
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirDiagnosticsHandler
import org.jetbrains.kotlin.test.model.*
import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerWithTargetBackendTest
import org.jetbrains.kotlin.test.runners.codegen.actualizersAndPluginsFacadeStepIfNeeded
import org.jetbrains.kotlin.test.runners.codegen.commonClassicFrontendHandlersForCodegenTest
import org.jetbrains.kotlin.test.services.AdditionalSourceProvider
import org.jetbrains.kotlin.test.services.EnvironmentConfigurator
import org.jetbrains.kotlin.test.services.LibraryProvider
import org.jetbrains.kotlin.test.services.configuration.WasmEnvironmentConfigurator
import org.jetbrains.kotlin.test.services.sourceProviders.CoroutineHelpersSourceFilesProvider
abstract class AbstractWasmBlackBoxCodegenTestBase<R : ResultingArtifact.FrontendOutput<R>, I : ResultingArtifact.BackendInput<I>, A : ResultingArtifact.Binary<A>>(
@@ -89,7 +87,6 @@ abstract class AbstractWasmBlackBoxCodegenTestBase<R : ResultingArtifact.Fronten
facadeStep(frontendToBackendConverter)
irHandlersStep()
actualizersAndPluginsFacadeStepIfNeeded(targetFrontend)
facadeStep(backendFacade)
klibArtifactsHandlersStep()
facadeStep(afterBackendFacade)