[FIR] refactoring: extract registration of lazy declaration resolve contract checking to a separate function in tests
This commit is contained in:
committed by
Space Team
parent
747ab5fdb3
commit
a55b4a977b
@@ -51,3 +51,7 @@ fun <T, R> ((TestServices, T) -> R).bind(value: T): Constructor<R> {
|
|||||||
fun <T1, T2, R> ((TestServices, T1, T2) -> R).bind(value1: T1, value2: T2): Constructor<R> {
|
fun <T1, T2, R> ((TestServices, T1, T2) -> R).bind(value1: T1, value2: T2): Constructor<R> {
|
||||||
return { this.invoke(it, value1, value2) }
|
return { this.invoke(it, value1, value2) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun <R> (() -> R).coerce(): Constructor<R> {
|
||||||
|
return { this.invoke() }
|
||||||
|
}
|
||||||
|
|||||||
+1
-13
@@ -19,7 +19,6 @@ import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendOutputArtifact
|
|||||||
import org.jetbrains.kotlin.test.frontend.classic.handlers.ClassicDiagnosticsHandler
|
import org.jetbrains.kotlin.test.frontend.classic.handlers.ClassicDiagnosticsHandler
|
||||||
import org.jetbrains.kotlin.test.frontend.classic.handlers.DeclarationsDumpHandler
|
import org.jetbrains.kotlin.test.frontend.classic.handlers.DeclarationsDumpHandler
|
||||||
import org.jetbrains.kotlin.test.frontend.classic.handlers.OldNewInferenceMetaInfoProcessor
|
import org.jetbrains.kotlin.test.frontend.classic.handlers.OldNewInferenceMetaInfoProcessor
|
||||||
import org.jetbrains.kotlin.test.frontend.fir.DisableLazyResolveChecksAfterAnalysisChecker
|
|
||||||
import org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade
|
import org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade
|
||||||
import org.jetbrains.kotlin.test.frontend.fir.FirOutputArtifact
|
import org.jetbrains.kotlin.test.frontend.fir.FirOutputArtifact
|
||||||
import org.jetbrains.kotlin.test.frontend.fir.handlers.*
|
import org.jetbrains.kotlin.test.frontend.fir.handlers.*
|
||||||
@@ -111,18 +110,7 @@ abstract class AbstractFirNativeDiagnosticsTest : AbstractDiagnosticsNativeTestB
|
|||||||
|
|
||||||
override fun configure(builder: TestConfigurationBuilder) {
|
override fun configure(builder: TestConfigurationBuilder) {
|
||||||
super.configure(builder)
|
super.configure(builder)
|
||||||
builder.useAdditionalService { FirLazyDeclarationResolverWithPhaseCheckingSessionComponentRegistrar() }
|
builder.enableLazyResolvePhaseChecking()
|
||||||
|
|
||||||
builder.useAfterAnalysisCheckers(
|
|
||||||
::DisableLazyResolveChecksAfterAnalysisChecker,
|
|
||||||
)
|
|
||||||
|
|
||||||
builder.firHandlersStep {
|
|
||||||
useHandlers(
|
|
||||||
::FirResolveContractViolationErrorHandler,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
builder.forTestsMatching("compiler/testData/diagnostics/*") {
|
builder.forTestsMatching("compiler/testData/diagnostics/*") {
|
||||||
configurationForClassicAndFirTestsAlongside()
|
configurationForClassicAndFirTestsAlongside()
|
||||||
|
|||||||
+20
-11
@@ -13,7 +13,9 @@ import org.jetbrains.kotlin.test.Constructor
|
|||||||
import org.jetbrains.kotlin.test.TestJdkKind
|
import org.jetbrains.kotlin.test.TestJdkKind
|
||||||
import org.jetbrains.kotlin.test.bind
|
import org.jetbrains.kotlin.test.bind
|
||||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||||
|
import org.jetbrains.kotlin.test.builders.configureFirHandlersStep
|
||||||
import org.jetbrains.kotlin.test.builders.firHandlersStep
|
import org.jetbrains.kotlin.test.builders.firHandlersStep
|
||||||
|
import org.jetbrains.kotlin.test.coerce
|
||||||
import org.jetbrains.kotlin.test.directives.ConfigurationDirectives.WITH_STDLIB
|
import org.jetbrains.kotlin.test.directives.ConfigurationDirectives.WITH_STDLIB
|
||||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.FIR_DUMP
|
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.FIR_DUMP
|
||||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.USE_LIGHT_TREE
|
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.USE_LIGHT_TREE
|
||||||
@@ -31,23 +33,14 @@ import org.jetbrains.kotlin.test.model.FrontendKinds
|
|||||||
import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator
|
import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator
|
||||||
import org.jetbrains.kotlin.test.services.configuration.JvmEnvironmentConfigurator
|
import org.jetbrains.kotlin.test.services.configuration.JvmEnvironmentConfigurator
|
||||||
import org.jetbrains.kotlin.test.services.fir.FirOldFrontendMetaConfigurator
|
import org.jetbrains.kotlin.test.services.fir.FirOldFrontendMetaConfigurator
|
||||||
|
import org.jetbrains.kotlin.test.services.service
|
||||||
import org.jetbrains.kotlin.test.services.sourceProviders.AdditionalDiagnosticsSourceFilesProvider
|
import org.jetbrains.kotlin.test.services.sourceProviders.AdditionalDiagnosticsSourceFilesProvider
|
||||||
import org.jetbrains.kotlin.test.services.sourceProviders.CoroutineHelpersSourceFilesProvider
|
import org.jetbrains.kotlin.test.services.sourceProviders.CoroutineHelpersSourceFilesProvider
|
||||||
|
|
||||||
abstract class AbstractFirDiagnosticTest : AbstractKotlinCompilerTest() {
|
abstract class AbstractFirDiagnosticTest : AbstractKotlinCompilerTest() {
|
||||||
override fun TestConfigurationBuilder.configuration() {
|
override fun TestConfigurationBuilder.configuration() {
|
||||||
baseFirDiagnosticTestConfiguration()
|
baseFirDiagnosticTestConfiguration()
|
||||||
useAdditionalService { FirLazyDeclarationResolverWithPhaseCheckingSessionComponentRegistrar() }
|
enableLazyResolvePhaseChecking()
|
||||||
|
|
||||||
useAfterAnalysisCheckers(
|
|
||||||
::DisableLazyResolveChecksAfterAnalysisChecker,
|
|
||||||
)
|
|
||||||
|
|
||||||
firHandlersStep {
|
|
||||||
useHandlers(
|
|
||||||
::FirResolveContractViolationErrorHandler,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,3 +175,19 @@ class FirLazyDeclarationResolverWithPhaseCheckingSessionComponentRegistrar : Fir
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun TestConfigurationBuilder.enableLazyResolvePhaseChecking() {
|
||||||
|
useAdditionalServices(
|
||||||
|
service<FirSessionComponentRegistrar>(::FirLazyDeclarationResolverWithPhaseCheckingSessionComponentRegistrar.coerce())
|
||||||
|
)
|
||||||
|
|
||||||
|
useAfterAnalysisCheckers(
|
||||||
|
::DisableLazyResolveChecksAfterAnalysisChecker,
|
||||||
|
)
|
||||||
|
|
||||||
|
configureFirHandlersStep {
|
||||||
|
useHandlers(
|
||||||
|
::FirResolveContractViolationErrorHandler,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-15
@@ -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.ExtensionRegistrarConfigurator
|
||||||
import org.jetbrains.kotlin.fir.plugin.services.PluginAnnotationsProvider
|
import org.jetbrains.kotlin.fir.plugin.services.PluginAnnotationsProvider
|
||||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
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.ENABLE_PLUGIN_PHASES
|
||||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.FIR_DUMP
|
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.AbstractFirDiagnosticTest
|
||||||
import org.jetbrains.kotlin.test.runners.FirLazyDeclarationResolverWithPhaseCheckingSessionComponentRegistrar
|
|
||||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractFirBlackBoxCodegenTest
|
import org.jetbrains.kotlin.test.runners.codegen.AbstractFirBlackBoxCodegenTest
|
||||||
|
import org.jetbrains.kotlin.test.runners.enableLazyResolvePhaseChecking
|
||||||
|
|
||||||
open class AbstractFirPluginBlackBoxCodegenTest : AbstractFirBlackBoxCodegenTest() {
|
open class AbstractFirPluginBlackBoxCodegenTest : AbstractFirBlackBoxCodegenTest() {
|
||||||
override fun configure(builder: TestConfigurationBuilder) {
|
override fun configure(builder: TestConfigurationBuilder) {
|
||||||
@@ -32,17 +29,7 @@ abstract class AbstractFirPluginDiagnosticTest : AbstractFirDiagnosticTest() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun TestConfigurationBuilder.commonFirWithPluginFrontendConfiguration() {
|
fun TestConfigurationBuilder.commonFirWithPluginFrontendConfiguration() {
|
||||||
useAfterAnalysisCheckers(
|
enableLazyResolvePhaseChecking()
|
||||||
::DisableLazyResolveChecksAfterAnalysisChecker,
|
|
||||||
)
|
|
||||||
|
|
||||||
useAdditionalService { FirLazyDeclarationResolverWithPhaseCheckingSessionComponentRegistrar() }
|
|
||||||
|
|
||||||
firHandlersStep {
|
|
||||||
useHandlers(
|
|
||||||
::FirResolveContractViolationErrorHandler,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultDirectives {
|
defaultDirectives {
|
||||||
+ENABLE_PLUGIN_PHASES
|
+ENABLE_PLUGIN_PHASES
|
||||||
|
|||||||
+2
-13
@@ -7,21 +7,18 @@ package org.jetbrains.kotlin.parcelize.test.runners
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.parcelize.test.services.ParcelizeEnvironmentConfigurator
|
import org.jetbrains.kotlin.parcelize.test.services.ParcelizeEnvironmentConfigurator
|
||||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
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.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.FirFailingTestSuppressor
|
||||||
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirIdenticalChecker
|
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.AbstractKotlinCompilerTest
|
||||||
import org.jetbrains.kotlin.test.runners.FirLazyDeclarationResolverWithPhaseCheckingSessionComponentRegistrar
|
|
||||||
import org.jetbrains.kotlin.test.runners.baseFirDiagnosticTestConfiguration
|
import org.jetbrains.kotlin.test.runners.baseFirDiagnosticTestConfiguration
|
||||||
|
import org.jetbrains.kotlin.test.runners.enableLazyResolvePhaseChecking
|
||||||
import org.jetbrains.kotlin.test.services.fir.FirOldFrontendMetaConfigurator
|
import org.jetbrains.kotlin.test.services.fir.FirOldFrontendMetaConfigurator
|
||||||
|
|
||||||
abstract class AbstractFirParcelizeDiagnosticTest : AbstractKotlinCompilerTest() {
|
abstract class AbstractFirParcelizeDiagnosticTest : AbstractKotlinCompilerTest() {
|
||||||
override fun TestConfigurationBuilder.configuration() {
|
override fun TestConfigurationBuilder.configuration() {
|
||||||
baseFirDiagnosticTestConfiguration()
|
baseFirDiagnosticTestConfiguration()
|
||||||
useAdditionalService { FirLazyDeclarationResolverWithPhaseCheckingSessionComponentRegistrar() }
|
enableLazyResolvePhaseChecking()
|
||||||
|
|
||||||
defaultDirectives {
|
defaultDirectives {
|
||||||
+FirDiagnosticsDirectives.ENABLE_PLUGIN_PHASES
|
+FirDiagnosticsDirectives.ENABLE_PLUGIN_PHASES
|
||||||
@@ -32,16 +29,8 @@ abstract class AbstractFirParcelizeDiagnosticTest : AbstractKotlinCompilerTest()
|
|||||||
useAfterAnalysisCheckers(
|
useAfterAnalysisCheckers(
|
||||||
::FirIdenticalChecker,
|
::FirIdenticalChecker,
|
||||||
::FirFailingTestSuppressor,
|
::FirFailingTestSuppressor,
|
||||||
::DisableLazyResolveChecksAfterAnalysisChecker,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
firHandlersStep {
|
|
||||||
useHandlers(
|
|
||||||
::FirResolveContractViolationErrorHandler,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
useMetaTestConfigurators(::FirOldFrontendMetaConfigurator)
|
useMetaTestConfigurators(::FirOldFrontendMetaConfigurator)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user