[FIR] add lazy resolution contract checks in resolve

This commit is contained in:
Ilya Kirillov
2022-11-01 17:10:01 +01:00
committed by Space Team
parent df5aa59185
commit 7bac119f20
40 changed files with 390 additions and 86 deletions
@@ -8,8 +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.codegen.AbstractFirBlackBoxCodegenTest
@@ -28,6 +31,16 @@ abstract class AbstractFirPluginDiagnosticTest : AbstractFirDiagnosticTest() {
}
fun TestConfigurationBuilder.commonFirWithPluginFrontendConfiguration() {
useAfterAnalysisCheckers(
::DisableLazyResolveChecksAfterAnalysisChecker,
)
firHandlersStep {
useHandlers(
::FirResolveContractViolationErrorHandler,
)
}
defaultDirectives {
+ENABLE_PLUGIN_PHASES
+FIR_DUMP
@@ -7,9 +7,12 @@ 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.baseFirDiagnosticTestConfiguration
import org.jetbrains.kotlin.test.services.fir.FirOldFrontendMetaConfigurator
@@ -27,7 +30,16 @@ abstract class AbstractFirParcelizeDiagnosticTest : AbstractKotlinCompilerTest()
useAfterAnalysisCheckers(
::FirIdenticalChecker,
::FirFailingTestSuppressor,
::DisableLazyResolveChecksAfterAnalysisChecker,
)
firHandlersStep {
useHandlers(
::FirResolveContractViolationErrorHandler,
)
}
useMetaTestConfigurators(::FirOldFrontendMetaConfigurator)
}
}