[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.LLFirOnlyNonReversedTestSuppressor
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.compiler.based.facades.LLFirAnalyzerFacadeFactoryWithoutPreresolve
|
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
|
import org.jetbrains.kotlin.utils.bind
|
||||||
|
|
||||||
abstract class AbstractLLFirBlackBoxCodegenBasedTest : AbstractLLFirBlackBoxCodegenBasedTestBase() {
|
abstract class AbstractLLFirBlackBoxCodegenBasedTest : AbstractLLFirBlackBoxCodegenBasedTestBase() {
|
||||||
override fun configureTest(builder: TestConfigurationBuilder) {
|
override fun facade(): Constructor<LowLevelFirFrontendFacade> {
|
||||||
with(builder) {
|
return ::LowLevelFirFrontendFacade.bind(LLFirAnalyzerFacadeFactoryWithoutPreresolve)
|
||||||
facadeStep(::LowLevelFirFrontendFacade.bind(LLFirAnalyzerFacadeFactoryWithoutPreresolve))
|
|
||||||
baseConfiguration()
|
|
||||||
useAfterAnalysisCheckers(::LLFirOnlyNonReversedTestSuppressor)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun facadeSpecificSuppressor(): (TestServices) -> AfterAnalysisChecker = ::LLFirOnlyNonReversedTestSuppressor
|
||||||
}
|
}
|
||||||
|
|||||||
+30
-22
@@ -6,6 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.compiler.based
|
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.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.InTextDirectivesUtils
|
||||||
import org.jetbrains.kotlin.test.TargetBackend
|
import org.jetbrains.kotlin.test.TargetBackend
|
||||||
import org.jetbrains.kotlin.test.TestConfiguration
|
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.FirDumpHandler
|
||||||
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirResolvedTypesVerifier
|
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirResolvedTypesVerifier
|
||||||
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirScopeDumpHandler
|
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.baseFirBlackBoxCodegenTestDirectivesConfiguration
|
||||||
import org.jetbrains.kotlin.test.runners.codegen.configureModernJavaWhenNeeded
|
import org.jetbrains.kotlin.test.runners.codegen.configureModernJavaWhenNeeded
|
||||||
import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator
|
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.
|
* This test case does not interact with the backend at all.
|
||||||
*/
|
*/
|
||||||
abstract class AbstractLLFirBlackBoxCodegenBasedTestBase : AbstractLowLevelCompilerBasedTest() {
|
abstract class AbstractLLFirBlackBoxCodegenBasedTestBase : AbstractLowLevelCompilerBasedTest() {
|
||||||
protected fun TestConfigurationBuilder.baseConfiguration() {
|
abstract fun facade(): Constructor<LowLevelFirFrontendFacade>
|
||||||
baseFirBlackBoxCodegenTestDirectivesConfiguration()
|
abstract fun facadeSpecificSuppressor(): Constructor<AfterAnalysisChecker>
|
||||||
configureModernJavaWhenNeeded()
|
|
||||||
useConfigurators(
|
|
||||||
::CommonEnvironmentConfigurator,
|
|
||||||
::JvmEnvironmentConfigurator,
|
|
||||||
)
|
|
||||||
|
|
||||||
useAdditionalSourceProviders(
|
override fun configureTest(builder: TestConfigurationBuilder) {
|
||||||
::AdditionalDiagnosticsSourceFilesProvider,
|
with(builder) {
|
||||||
::CoroutineHelpersSourceFilesProvider,
|
facadeStep(facade())
|
||||||
::CodegenHelpersSourceFilesProvider,
|
baseFirBlackBoxCodegenTestDirectivesConfiguration()
|
||||||
)
|
configureModernJavaWhenNeeded()
|
||||||
|
useConfigurators(
|
||||||
firHandlersStep {
|
::CommonEnvironmentConfigurator,
|
||||||
useHandlers(
|
::JvmEnvironmentConfigurator,
|
||||||
::FirDiagnosticsHandler,
|
|
||||||
::FirDumpHandler,
|
|
||||||
::FirScopeDumpHandler,
|
|
||||||
::FirCfgDumpHandler,
|
|
||||||
::FirResolvedTypesVerifier,
|
|
||||||
)
|
)
|
||||||
}
|
|
||||||
|
|
||||||
useAfterAnalysisCheckers(::BlackBoxCodegenSuppressor)
|
useAdditionalSourceProviders(
|
||||||
|
::AdditionalDiagnosticsSourceFilesProvider,
|
||||||
|
::CoroutineHelpersSourceFilesProvider,
|
||||||
|
::CodegenHelpersSourceFilesProvider,
|
||||||
|
)
|
||||||
|
|
||||||
|
firHandlersStep {
|
||||||
|
useHandlers(
|
||||||
|
::FirDiagnosticsHandler,
|
||||||
|
::FirDumpHandler,
|
||||||
|
::FirScopeDumpHandler,
|
||||||
|
::FirCfgDumpHandler,
|
||||||
|
::FirResolvedTypesVerifier,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
useAfterAnalysisCheckers(::BlackBoxCodegenSuppressor, facadeSpecificSuppressor())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun shouldSkipTest(filePath: String, configuration: TestConfiguration): Boolean {
|
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.LLFirOnlyReversedTestSuppressor
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.compiler.based.facades.LLFirAnalyzerFacadeFactoryWithPreresolveInReversedOrder
|
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
|
import org.jetbrains.kotlin.utils.bind
|
||||||
|
|
||||||
abstract class AbstractLLFirReversedBlackBoxCodegenBasedTest : AbstractLLFirBlackBoxCodegenBasedTestBase() {
|
abstract class AbstractLLFirReversedBlackBoxCodegenBasedTest : AbstractLLFirBlackBoxCodegenBasedTestBase() {
|
||||||
override fun configureTest(builder: TestConfigurationBuilder) {
|
override fun facade(): Constructor<LowLevelFirFrontendFacade> {
|
||||||
with(builder) {
|
return ::LowLevelFirFrontendFacade.bind(LLFirAnalyzerFacadeFactoryWithPreresolveInReversedOrder)
|
||||||
facadeStep(::LowLevelFirFrontendFacade.bind(LLFirAnalyzerFacadeFactoryWithPreresolveInReversedOrder))
|
|
||||||
baseConfiguration()
|
|
||||||
useAfterAnalysisCheckers(::LLFirOnlyReversedTestSuppressor)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun facadeSpecificSuppressor(): Constructor<AfterAnalysisChecker> = ::LLFirOnlyReversedTestSuppressor
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user