File tree Expand file tree Collapse file tree 4 files changed +36
-0
lines changed
compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test Expand file tree Collapse file tree 4 files changed +36
-0
lines changed Original file line number Diff line number Diff line change @@ -32,6 +32,7 @@ import org.jetbrains.kotlin.test.frontend.fir.FirOutputArtifact
3232import org.jetbrains.kotlin.test.model.*
3333import org.jetbrains.kotlin.test.services.AdditionalSourceProvider
3434import org.jetbrains.kotlin.test.services.configuration.*
35+ import org.jetbrains.kotlin.test.services.fir.FirSpecificParserSuppressor
3536import org.jetbrains.kotlin.test.services.sourceProviders.AdditionalDiagnosticsSourceFilesProvider
3637import org.jetbrains.kotlin.test.services.sourceProviders.CoroutineHelpersSourceFilesProvider
3738import org.jetbrains.kotlin.utils.bind
@@ -92,6 +93,8 @@ fun TestConfigurationBuilder.commonServicesConfigurationForCodegenAndDebugTest(t
9293 ::AdditionalDiagnosticsSourceFilesProvider ,
9394 ::CoroutineHelpersSourceFilesProvider ,
9495 )
96+
97+ useMetaTestConfigurators(::FirSpecificParserSuppressor )
9598}
9699
97100/* *
Original file line number Diff line number Diff line change @@ -21,6 +21,7 @@ import org.jetbrains.kotlin.test.builders.irHandlersStep
2121import org.jetbrains.kotlin.test.cli.CliDirectives.CHECK_COMPILER_OUTPUT
2222import org.jetbrains.kotlin.test.directives.ConfigurationDirectives.WITH_STDLIB
2323import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives.DIAGNOSTICS
24+ import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.DISABLE_WITH_PARSER
2425import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.DUMP_VFIR
2526import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.TEST_ALONGSIDE_K1_TESTDATA
2627import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.USE_LATEST_LANGUAGE_VERSION
@@ -298,6 +299,7 @@ fun TestConfigurationBuilder.configureCommonDiagnosticTestPaths(
298299 forTestsMatching(" compiler/fir/analysis-tests/testData/resolve/headerMode/*" ) {
299300 defaultDirectives {
300301 + HEADER_MODE
302+ DISABLE_WITH_PARSER with FirParser .Psi
301303 }
302304 }
303305}
Original file line number Diff line number Diff line change @@ -157,6 +157,10 @@ object FirDiagnosticsDirectives : SimpleDirectivesContainer() {
157157 val DISABLE_GENERATED_FIR_TAGS by directive(
158158 description = " Disables generating and checking for GENERATED_FIR_TAGS"
159159 )
160+
161+ val DISABLE_WITH_PARSER by enumDirective<FirParser >(
162+ description = " Disables the test if it's analyzed with specified parser"
163+ )
160164}
161165
162166object DumpCfgOption {
Original file line number Diff line number Diff line change 1+ /*
2+ * Copyright 2010-2025 JetBrains s.r.o. and Kotlin Programming Language contributors.
3+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
4+ */
5+
6+ package org.jetbrains.kotlin.test.services.fir
7+
8+ import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives
9+ import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.DISABLE_WITH_PARSER
10+ import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.FIR_PARSER
11+ import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
12+ import org.jetbrains.kotlin.test.directives.model.singleOrZeroValue
13+ import org.jetbrains.kotlin.test.services.MetaTestConfigurator
14+ import org.jetbrains.kotlin.test.services.TestServices
15+ import org.jetbrains.kotlin.test.services.moduleStructure
16+
17+ class FirSpecificParserSuppressor (testServices : TestServices ) : MetaTestConfigurator(testServices) {
18+ override val directiveContainers: List <DirectivesContainer >
19+ get() = listOf (FirDiagnosticsDirectives )
20+
21+ override fun shouldSkipTest (): Boolean {
22+ val directives = testServices.moduleStructure.allDirectives
23+ val suppressedParser = directives.singleOrZeroValue(DISABLE_WITH_PARSER ) ? : return false
24+ val currentParser = directives.singleOrZeroValue(FIR_PARSER ) ? : return false
25+ return currentParser == suppressedParser
26+ }
27+ }
You can’t perform that action at this time.
0 commit comments