[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:
committed by
Space Team
parent
ddd97e84b9
commit
1303a33bea
-63
@@ -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
|
||||
}
|
||||
-2
@@ -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
|
||||
|
||||
-9
@@ -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)
|
||||
|
||||
-3
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user