diff --git a/analysis/analysis-api/testData/components/expressionInfoProvider/isUsedAsExpression/classLiteralExpressionLHSParenthesizedUsed.kt b/analysis/analysis-api/testData/components/expressionInfoProvider/isUsedAsExpression/classLiteralExpressionLHSParenthesizedUsed.kt
index 06dcaf85770..e98d573626a 100644
--- a/analysis/analysis-api/testData/components/expressionInfoProvider/isUsedAsExpression/classLiteralExpressionLHSParenthesizedUsed.kt
+++ b/analysis/analysis-api/testData/components/expressionInfoProvider/isUsedAsExpression/classLiteralExpressionLHSParenthesizedUsed.kt
@@ -3,4 +3,7 @@ fun test() {
}
// IGNORE_FE10
-// In K2, references to types are not regarded as used, regardless of parentheses.
\ No newline at end of file
+// In K2, references to types are not regarded as used, regardless of parentheses.
+
+// IGNORE_FIR
+// Does not pass because of KTIJ-23143
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/expressionInfoProvider/isUsedAsExpression/classLiteralExpressionLHSUsed.kt b/analysis/analysis-api/testData/components/expressionInfoProvider/isUsedAsExpression/classLiteralExpressionLHSUsed.kt
index b62021d76c3..e88a90c858f 100644
--- a/analysis/analysis-api/testData/components/expressionInfoProvider/isUsedAsExpression/classLiteralExpressionLHSUsed.kt
+++ b/analysis/analysis-api/testData/components/expressionInfoProvider/isUsedAsExpression/classLiteralExpressionLHSUsed.kt
@@ -1,3 +1,6 @@
fun test() {
val string = String::class
-}
\ No newline at end of file
+}
+
+// IGNORE_FIR
+// Does not pass because of KTIJ-23143
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/expressionInfoProvider/isUsedAsExpression/classLiteralExpressionUnusedLHS.kt b/analysis/analysis-api/testData/components/expressionInfoProvider/isUsedAsExpression/classLiteralExpressionUnusedLHS.kt
index b62021d76c3..e88a90c858f 100644
--- a/analysis/analysis-api/testData/components/expressionInfoProvider/isUsedAsExpression/classLiteralExpressionUnusedLHS.kt
+++ b/analysis/analysis-api/testData/components/expressionInfoProvider/isUsedAsExpression/classLiteralExpressionUnusedLHS.kt
@@ -1,3 +1,6 @@
fun test() {
val string = String::class
-}
\ No newline at end of file
+}
+
+// IGNORE_FIR
+// Does not pass because of KTIJ-23143
\ No newline at end of file
diff --git a/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/AnalysisApiTestDirectives.kt b/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/AnalysisApiTestDirectives.kt
index bafb2dfb4a7..6ba4c523891 100644
--- a/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/AnalysisApiTestDirectives.kt
+++ b/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/AnalysisApiTestDirectives.kt
@@ -10,4 +10,5 @@ import org.jetbrains.kotlin.test.directives.model.SimpleDirectivesContainer
object AnalysisApiTestDirectives : SimpleDirectivesContainer() {
val DISABLE_DEPENDED_MODE by directive("Analysis in dependent mode should not be run in this test")
val IGNORE_FE10 by directive("FE10 Analysis API implementation test should mot be run")
+ val IGNORE_FIR by directive("FIR Analysis API implementation test should mot be run")
}
\ No newline at end of file
diff --git a/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/base/AbstractAnalysisApiBasedTest.kt b/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/base/AbstractAnalysisApiBasedTest.kt
index d09c589947f..e56f739289b 100644
--- a/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/base/AbstractAnalysisApiBasedTest.kt
+++ b/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/base/AbstractAnalysisApiBasedTest.kt
@@ -135,7 +135,9 @@ abstract class AbstractAnalysisApiBasedTest : TestWithDisposable() {
return
}
- if (configurator.frontendKind == FrontendKind.Fe10 && isFe10DisabledForTheTest()) {
+ if (configurator.frontendKind == FrontendKind.Fe10 && isFe10DisabledForTheTest() ||
+ configurator.frontendKind == FrontendKind.Fir && isFirDisabledForTheTest()
+ ) {
return
}
@@ -171,6 +173,9 @@ abstract class AbstractAnalysisApiBasedTest : TestWithDisposable() {
private fun isFe10DisabledForTheTest(): Boolean =
AnalysisApiTestDirectives.IGNORE_FE10 in testServices.moduleStructure.allDirectives
+ private fun isFirDisabledForTheTest(): Boolean =
+ AnalysisApiTestDirectives.IGNORE_FIR in testServices.moduleStructure.allDirectives
+
protected fun analyseForTest(contextElement: KtElement, action: KtAnalysisSession.() -> R): R {
return if (configurator.analyseInDependentSession) {
val originalContainingFile = contextElement.containingKtFile