[FIR] refactoring: extract registration of lazy declaration resolve contract checking to a separate function in tests

This commit is contained in:
Ilya Kirillov
2022-12-28 13:06:09 +01:00
committed by Space Team
parent 747ab5fdb3
commit a55b4a977b
5 changed files with 29 additions and 52 deletions
@@ -8,14 +8,11 @@ package org.jetbrains.kotlin.fir.plugin.runners
import org.jetbrains.kotlin.fir.plugin.services.ExtensionRegistrarConfigurator
import org.jetbrains.kotlin.fir.plugin.services.PluginAnnotationsProvider
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
import org.jetbrains.kotlin.test.builders.firHandlersStep
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.ENABLE_PLUGIN_PHASES
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.FIR_DUMP
import org.jetbrains.kotlin.test.frontend.fir.DisableLazyResolveChecksAfterAnalysisChecker
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirResolveContractViolationErrorHandler
import org.jetbrains.kotlin.test.runners.AbstractFirDiagnosticTest
import org.jetbrains.kotlin.test.runners.FirLazyDeclarationResolverWithPhaseCheckingSessionComponentRegistrar
import org.jetbrains.kotlin.test.runners.codegen.AbstractFirBlackBoxCodegenTest
import org.jetbrains.kotlin.test.runners.enableLazyResolvePhaseChecking
open class AbstractFirPluginBlackBoxCodegenTest : AbstractFirBlackBoxCodegenTest() {
override fun configure(builder: TestConfigurationBuilder) {
@@ -32,17 +29,7 @@ abstract class AbstractFirPluginDiagnosticTest : AbstractFirDiagnosticTest() {
}
fun TestConfigurationBuilder.commonFirWithPluginFrontendConfiguration() {
useAfterAnalysisCheckers(
::DisableLazyResolveChecksAfterAnalysisChecker,
)
useAdditionalService { FirLazyDeclarationResolverWithPhaseCheckingSessionComponentRegistrar() }
firHandlersStep {
useHandlers(
::FirResolveContractViolationErrorHandler,
)
}
enableLazyResolvePhaseChecking()
defaultDirectives {
+ENABLE_PLUGIN_PHASES
@@ -7,21 +7,18 @@ package org.jetbrains.kotlin.parcelize.test.runners
import org.jetbrains.kotlin.parcelize.test.services.ParcelizeEnvironmentConfigurator
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
import org.jetbrains.kotlin.test.builders.firHandlersStep
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives
import org.jetbrains.kotlin.test.frontend.fir.DisableLazyResolveChecksAfterAnalysisChecker
import org.jetbrains.kotlin.test.frontend.fir.FirFailingTestSuppressor
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirIdenticalChecker
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirResolveContractViolationErrorHandler
import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest
import org.jetbrains.kotlin.test.runners.FirLazyDeclarationResolverWithPhaseCheckingSessionComponentRegistrar
import org.jetbrains.kotlin.test.runners.baseFirDiagnosticTestConfiguration
import org.jetbrains.kotlin.test.runners.enableLazyResolvePhaseChecking
import org.jetbrains.kotlin.test.services.fir.FirOldFrontendMetaConfigurator
abstract class AbstractFirParcelizeDiagnosticTest : AbstractKotlinCompilerTest() {
override fun TestConfigurationBuilder.configuration() {
baseFirDiagnosticTestConfiguration()
useAdditionalService { FirLazyDeclarationResolverWithPhaseCheckingSessionComponentRegistrar() }
enableLazyResolvePhaseChecking()
defaultDirectives {
+FirDiagnosticsDirectives.ENABLE_PLUGIN_PHASES
@@ -32,16 +29,8 @@ abstract class AbstractFirParcelizeDiagnosticTest : AbstractKotlinCompilerTest()
useAfterAnalysisCheckers(
::FirIdenticalChecker,
::FirFailingTestSuppressor,
::DisableLazyResolveChecksAfterAnalysisChecker,
)
firHandlersStep {
useHandlers(
::FirResolveContractViolationErrorHandler,
)
}
useMetaTestConfigurators(::FirOldFrontendMetaConfigurator)
}
}