From 1303a33bead4db4f5dc5c17c14de0dc945e5cd66 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Tue, 21 Nov 2023 12:53:01 +0200 Subject: [PATCH] [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 --- .../ir/IrActualizerAndPluginsFacade.kt | 63 ------------------- .../test/runners/AbstractFirDiagnosticTest.kt | 2 - .../codegen/BaseCodegenConfiguration.kt | 9 --- .../ir/AbstractJsBlackBoxCodegenTestBase.kt | 2 - .../AbstractWasmBlackBoxCodegenTestBase.kt | 3 - 5 files changed, 79 deletions(-) delete mode 100644 compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/ir/IrActualizerAndPluginsFacade.kt diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/ir/IrActualizerAndPluginsFacade.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/ir/IrActualizerAndPluginsFacade.kt deleted file mode 100644 index 830e7fcbf37..00000000000 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/ir/IrActualizerAndPluginsFacade.kt +++ /dev/null @@ -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() { - 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 { - return IrGenerationExtension.getInstances(testServices.compilerConfigurationProvider.getProject(this)) - } - - override val inputKind: TestArtifactKind = BackendKinds.IrBackend - override val outputKind: TestArtifactKind = BackendKinds.IrBackend - - override fun shouldRunAnalysis(module: TestModule): Boolean = true -} diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractFirDiagnosticTest.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractFirDiagnosticTest.kt index c3188cd89b1..764bb531571 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractFirDiagnosticTest.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractFirDiagnosticTest.kt @@ -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 diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/BaseCodegenConfiguration.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/BaseCodegenConfiguration.kt index 364fed43775..183c4ceb395 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/BaseCodegenConfiguration.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/BaseCodegenConfiguration.kt @@ -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 , B : ResultingArtifact.BackendInput classicFrontendHandlersStep() firHandlersStep() facadeStep(frontendToBackendConverter) - actualizersAndPluginsFacadeStepIfNeeded(targetFrontend) irHandlersStep(init = {}) facadeStep(backendFacade) jvmArtifactsHandlersStep(init = {}) @@ -205,12 +202,6 @@ fun HandlersStepBuilder.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 diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/AbstractJsBlackBoxCodegenTestBase.kt b/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/AbstractJsBlackBoxCodegenTestBase.kt index 882ee1180b9..adb10a9429c 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/AbstractJsBlackBoxCodegenTestBase.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/AbstractJsBlackBoxCodegenTestBase.kt @@ -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) diff --git a/wasm/wasm.tests/test/org/jetbrains/kotlin/wasm/test/AbstractWasmBlackBoxCodegenTestBase.kt b/wasm/wasm.tests/test/org/jetbrains/kotlin/wasm/test/AbstractWasmBlackBoxCodegenTestBase.kt index 5ca78c1c2ce..613bec4ced5 100644 --- a/wasm/wasm.tests/test/org/jetbrains/kotlin/wasm/test/AbstractWasmBlackBoxCodegenTestBase.kt +++ b/wasm/wasm.tests/test/org/jetbrains/kotlin/wasm/test/AbstractWasmBlackBoxCodegenTestBase.kt @@ -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, I : ResultingArtifact.BackendInput, A : ResultingArtifact.Binary>( @@ -89,7 +87,6 @@ abstract class AbstractWasmBlackBoxCodegenTestBase