[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
+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.DeclarationsDumpHandler
|
||||
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.FirOutputArtifact
|
||||
import org.jetbrains.kotlin.test.frontend.fir.handlers.*
|
||||
@@ -111,18 +110,7 @@ abstract class AbstractFirNativeDiagnosticsTest : AbstractDiagnosticsNativeTestB
|
||||
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.useAdditionalService { FirLazyDeclarationResolverWithPhaseCheckingSessionComponentRegistrar() }
|
||||
|
||||
builder.useAfterAnalysisCheckers(
|
||||
::DisableLazyResolveChecksAfterAnalysisChecker,
|
||||
)
|
||||
|
||||
builder.firHandlersStep {
|
||||
useHandlers(
|
||||
::FirResolveContractViolationErrorHandler,
|
||||
)
|
||||
}
|
||||
|
||||
builder.enableLazyResolvePhaseChecking()
|
||||
|
||||
builder.forTestsMatching("compiler/testData/diagnostics/*") {
|
||||
configurationForClassicAndFirTestsAlongside()
|
||||
|
||||
+20
-11
@@ -13,7 +13,9 @@ import org.jetbrains.kotlin.test.Constructor
|
||||
import org.jetbrains.kotlin.test.TestJdkKind
|
||||
import org.jetbrains.kotlin.test.bind
|
||||
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.coerce
|
||||
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.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.JvmEnvironmentConfigurator
|
||||
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.CoroutineHelpersSourceFilesProvider
|
||||
|
||||
abstract class AbstractFirDiagnosticTest : AbstractKotlinCompilerTest() {
|
||||
override fun TestConfigurationBuilder.configuration() {
|
||||
baseFirDiagnosticTestConfiguration()
|
||||
useAdditionalService { FirLazyDeclarationResolverWithPhaseCheckingSessionComponentRegistrar() }
|
||||
|
||||
useAfterAnalysisCheckers(
|
||||
::DisableLazyResolveChecksAfterAnalysisChecker,
|
||||
)
|
||||
|
||||
firHandlersStep {
|
||||
useHandlers(
|
||||
::FirResolveContractViolationErrorHandler,
|
||||
)
|
||||
}
|
||||
enableLazyResolvePhaseChecking()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -182,3 +175,19 @@ class FirLazyDeclarationResolverWithPhaseCheckingSessionComponentRegistrar : Fir
|
||||
}
|
||||
}
|
||||
|
||||
fun TestConfigurationBuilder.enableLazyResolvePhaseChecking() {
|
||||
useAdditionalServices(
|
||||
service<FirSessionComponentRegistrar>(::FirLazyDeclarationResolverWithPhaseCheckingSessionComponentRegistrar.coerce())
|
||||
)
|
||||
|
||||
useAfterAnalysisCheckers(
|
||||
::DisableLazyResolveChecksAfterAnalysisChecker,
|
||||
)
|
||||
|
||||
configureFirHandlersStep {
|
||||
useHandlers(
|
||||
::FirResolveContractViolationErrorHandler,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user