[LL FIR] AbstractLLFirBlackBoxCodegenBasedTestBase: unify logic
^KT-66232
This commit is contained in:
committed by
Space Team
parent
dd0d2168fc
commit
204465132f
+7
-7
@@ -7,15 +7,15 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.compiler.base
|
||||
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirOnlyNonReversedTestSuppressor
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.compiler.based.facades.LLFirAnalyzerFacadeFactoryWithoutPreresolve
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.Constructor
|
||||
import org.jetbrains.kotlin.test.model.AfterAnalysisChecker
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
import org.jetbrains.kotlin.utils.bind
|
||||
|
||||
abstract class AbstractLLFirBlackBoxCodegenBasedTest : AbstractLLFirBlackBoxCodegenBasedTestBase() {
|
||||
override fun configureTest(builder: TestConfigurationBuilder) {
|
||||
with(builder) {
|
||||
facadeStep(::LowLevelFirFrontendFacade.bind(LLFirAnalyzerFacadeFactoryWithoutPreresolve))
|
||||
baseConfiguration()
|
||||
useAfterAnalysisCheckers(::LLFirOnlyNonReversedTestSuppressor)
|
||||
}
|
||||
override fun facade(): Constructor<LowLevelFirFrontendFacade> {
|
||||
return ::LowLevelFirFrontendFacade.bind(LLFirAnalyzerFacadeFactoryWithoutPreresolve)
|
||||
}
|
||||
|
||||
override fun facadeSpecificSuppressor(): (TestServices) -> AfterAnalysisChecker = ::LLFirOnlyNonReversedTestSuppressor
|
||||
}
|
||||
|
||||
+30
-22
@@ -6,6 +6,7 @@
|
||||
package org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.compiler.based
|
||||
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.compiler.based.AbstractLowLevelCompilerBasedTest
|
||||
import org.jetbrains.kotlin.test.Constructor
|
||||
import org.jetbrains.kotlin.test.InTextDirectivesUtils
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import org.jetbrains.kotlin.test.TestConfiguration
|
||||
@@ -17,6 +18,7 @@ import org.jetbrains.kotlin.test.frontend.fir.handlers.FirDiagnosticsHandler
|
||||
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirDumpHandler
|
||||
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirResolvedTypesVerifier
|
||||
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirScopeDumpHandler
|
||||
import org.jetbrains.kotlin.test.model.AfterAnalysisChecker
|
||||
import org.jetbrains.kotlin.test.runners.codegen.baseFirBlackBoxCodegenTestDirectivesConfiguration
|
||||
import org.jetbrains.kotlin.test.runners.codegen.configureModernJavaWhenNeeded
|
||||
import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator
|
||||
@@ -32,31 +34,37 @@ import java.io.File
|
||||
* This test case does not interact with the backend at all.
|
||||
*/
|
||||
abstract class AbstractLLFirBlackBoxCodegenBasedTestBase : AbstractLowLevelCompilerBasedTest() {
|
||||
protected fun TestConfigurationBuilder.baseConfiguration() {
|
||||
baseFirBlackBoxCodegenTestDirectivesConfiguration()
|
||||
configureModernJavaWhenNeeded()
|
||||
useConfigurators(
|
||||
::CommonEnvironmentConfigurator,
|
||||
::JvmEnvironmentConfigurator,
|
||||
)
|
||||
abstract fun facade(): Constructor<LowLevelFirFrontendFacade>
|
||||
abstract fun facadeSpecificSuppressor(): Constructor<AfterAnalysisChecker>
|
||||
|
||||
useAdditionalSourceProviders(
|
||||
::AdditionalDiagnosticsSourceFilesProvider,
|
||||
::CoroutineHelpersSourceFilesProvider,
|
||||
::CodegenHelpersSourceFilesProvider,
|
||||
)
|
||||
|
||||
firHandlersStep {
|
||||
useHandlers(
|
||||
::FirDiagnosticsHandler,
|
||||
::FirDumpHandler,
|
||||
::FirScopeDumpHandler,
|
||||
::FirCfgDumpHandler,
|
||||
::FirResolvedTypesVerifier,
|
||||
override fun configureTest(builder: TestConfigurationBuilder) {
|
||||
with(builder) {
|
||||
facadeStep(facade())
|
||||
baseFirBlackBoxCodegenTestDirectivesConfiguration()
|
||||
configureModernJavaWhenNeeded()
|
||||
useConfigurators(
|
||||
::CommonEnvironmentConfigurator,
|
||||
::JvmEnvironmentConfigurator,
|
||||
)
|
||||
}
|
||||
|
||||
useAfterAnalysisCheckers(::BlackBoxCodegenSuppressor)
|
||||
useAdditionalSourceProviders(
|
||||
::AdditionalDiagnosticsSourceFilesProvider,
|
||||
::CoroutineHelpersSourceFilesProvider,
|
||||
::CodegenHelpersSourceFilesProvider,
|
||||
)
|
||||
|
||||
firHandlersStep {
|
||||
useHandlers(
|
||||
::FirDiagnosticsHandler,
|
||||
::FirDumpHandler,
|
||||
::FirScopeDumpHandler,
|
||||
::FirCfgDumpHandler,
|
||||
::FirResolvedTypesVerifier,
|
||||
)
|
||||
}
|
||||
|
||||
useAfterAnalysisCheckers(::BlackBoxCodegenSuppressor, facadeSpecificSuppressor())
|
||||
}
|
||||
}
|
||||
|
||||
override fun shouldSkipTest(filePath: String, configuration: TestConfiguration): Boolean {
|
||||
|
||||
+6
-7
@@ -7,15 +7,14 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.compiler.base
|
||||
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirOnlyReversedTestSuppressor
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.compiler.based.facades.LLFirAnalyzerFacadeFactoryWithPreresolveInReversedOrder
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.Constructor
|
||||
import org.jetbrains.kotlin.test.model.AfterAnalysisChecker
|
||||
import org.jetbrains.kotlin.utils.bind
|
||||
|
||||
abstract class AbstractLLFirReversedBlackBoxCodegenBasedTest : AbstractLLFirBlackBoxCodegenBasedTestBase() {
|
||||
override fun configureTest(builder: TestConfigurationBuilder) {
|
||||
with(builder) {
|
||||
facadeStep(::LowLevelFirFrontendFacade.bind(LLFirAnalyzerFacadeFactoryWithPreresolveInReversedOrder))
|
||||
baseConfiguration()
|
||||
useAfterAnalysisCheckers(::LLFirOnlyReversedTestSuppressor)
|
||||
}
|
||||
override fun facade(): Constructor<LowLevelFirFrontendFacade> {
|
||||
return ::LowLevelFirFrontendFacade.bind(LLFirAnalyzerFacadeFactoryWithPreresolveInReversedOrder)
|
||||
}
|
||||
|
||||
override fun facadeSpecificSuppressor(): Constructor<AfterAnalysisChecker> = ::LLFirOnlyReversedTestSuppressor
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user