diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/AbstractDiagnosticCompilerTestDataTest.kt b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/AbstractDiagnosticCompilerTestDataTest.kt index 33404d13873..a6e3cbb01b0 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/AbstractDiagnosticCompilerTestDataTest.kt +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/AbstractDiagnosticCompilerTestDataTest.kt @@ -20,7 +20,10 @@ import org.jetbrains.kotlin.test.services.moduleStructure abstract class AbstractDiagnosticCompilerTestDataTest : AbstractCompilerBasedTestForFir() { override fun TestConfigurationBuilder.configureTest() { - baseFirDiagnosticTestConfiguration(frontendFacade = ::LowLevelFirFrontendFacade.bind(LLFirAnalyzerFacadeFactoryWithoutPreresolve)) + baseFirDiagnosticTestConfiguration( + frontendFacade = ::LowLevelFirFrontendFacade.bind(LLFirAnalyzerFacadeFactoryWithoutPreresolve), + testDataConsistencyHandler = ::ReversedFirIdenticalChecker, + ) useAfterAnalysisCheckers(::ContractViolationSuppressor) useAfterAnalysisCheckers(::DiagnosticSuppressor) } diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/AbstractLLFirPreresolvedReversedDiagnosticCompilerTestDataTest.kt b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/AbstractLLFirPreresolvedReversedDiagnosticCompilerTestDataTest.kt index c55da5e7979..ae92ea4c4f6 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/AbstractLLFirPreresolvedReversedDiagnosticCompilerTestDataTest.kt +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/AbstractLLFirPreresolvedReversedDiagnosticCompilerTestDataTest.kt @@ -26,12 +26,12 @@ import org.jetbrains.kotlin.test.utils.llFirTestDataFile abstract class AbstractLLFirPreresolvedReversedDiagnosticCompilerTestDataTest : AbstractCompilerBasedTestForFir() { override fun TestConfigurationBuilder.configureTest() { baseFirDiagnosticTestConfiguration( - frontendFacade = ::LowLevelFirFrontendFacade.bind(LLFirAnalyzerFacadeFactoryWithPreresolveInReversedOrder) + frontendFacade = ::LowLevelFirFrontendFacade.bind(LLFirAnalyzerFacadeFactoryWithPreresolveInReversedOrder), + testDataConsistencyHandler = ::ReversedFirIdenticalChecker, ) useAfterAnalysisCheckers(::FirReversedSuppressor) useMetaTestConfigurators(::ReversedDiagnosticsConfigurator) - useAfterAnalysisCheckers(::ReversedFirIdenticalChecker) } } diff --git a/compiler/testData/diagnostics/nativeTests/nativeProtectedFunCall.fir.kt b/compiler/testData/diagnostics/nativeTests/nativeProtectedFunCall.fir.kt index 806e076589c..79237e68916 100644 --- a/compiler/testData/diagnostics/nativeTests/nativeProtectedFunCall.fir.kt +++ b/compiler/testData/diagnostics/nativeTests/nativeProtectedFunCall.fir.kt @@ -11,10 +11,11 @@ open class ProtectedInsideInlineError : ProtectedInsideInlineParent() { protected var protectedVar = 0 protected fun protectedFun() = 0 - inline fun publicInlineUserFun() { + inline fun publicInlineUserFun(): Int { println(protectedVar + protectedParentVar) protectedFun() protectedParentFun() + return protectedVar + protectedParentVar } inline var publicInlineUserVal: Int diff --git a/compiler/testData/diagnostics/nativeTests/nativeProtectedFunCall.kt b/compiler/testData/diagnostics/nativeTests/nativeProtectedFunCall.kt index c3b93d87b51..25bb24bc14a 100644 --- a/compiler/testData/diagnostics/nativeTests/nativeProtectedFunCall.kt +++ b/compiler/testData/diagnostics/nativeTests/nativeProtectedFunCall.kt @@ -12,6 +12,7 @@ open class ProtectedInsideInlineError : ProtectedInsideInlineParent() { protected fun protectedFun() = 0 inline fun publicInlineUserFun(): Int { + println(protectedVar + protectedParentVar) protectedFun() protectedParentFun() return protectedVar + protectedParentVar diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/enumEntry.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/enumEntry.kt index dc24a19a8b8..66c14459508 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/enumEntry.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/enumEntry.kt @@ -1,3 +1,4 @@ +// !DIAGNOSTICS: +ENUM_CLASS_IN_EXTERNAL_DECLARATION_WARNING external enum class E { X, Y { diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractFirDiagnosticTest.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractFirDiagnosticTest.kt index 6a7053fb9fb..86be754b904 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractFirDiagnosticTest.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractFirDiagnosticTest.kt @@ -27,8 +27,10 @@ import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives.ALLOW_KOTLIN_PACKAGE import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives.LANGUAGE import org.jetbrains.kotlin.test.directives.configureFirParser +import org.jetbrains.kotlin.test.frontend.classic.handlers.FirTestDataConsistencyHandler import org.jetbrains.kotlin.test.frontend.fir.* import org.jetbrains.kotlin.test.frontend.fir.handlers.* +import org.jetbrains.kotlin.test.model.AfterAnalysisChecker import org.jetbrains.kotlin.test.model.DependencyKind import org.jetbrains.kotlin.test.model.FrontendFacade import org.jetbrains.kotlin.test.model.FrontendKinds @@ -114,10 +116,13 @@ open class AbstractFirPsiWithActualizerDiagnosticsTest : AbstractFirWithActualiz open class AbstractFirLightTreeWithActualizerDiagnosticsTest : AbstractFirWithActualizerDiagnosticsTest(FirParser.LightTree) -fun TestConfigurationBuilder.configurationForClassicAndFirTestsAlongside() { +fun TestConfigurationBuilder.configurationForClassicAndFirTestsAlongside( + testDataConsistencyHandler: Constructor = ::FirTestDataConsistencyHandler, +) { useAfterAnalysisCheckers( ::FirIdenticalChecker, ::FirFailingTestSuppressor, + testDataConsistencyHandler, ) useMetaTestConfigurators(::FirOldFrontendMetaConfigurator) } @@ -125,7 +130,8 @@ fun TestConfigurationBuilder.configurationForClassicAndFirTestsAlongside() { // `baseDir` is used in Kotlin plugin from IJ infra fun TestConfigurationBuilder.baseFirDiagnosticTestConfiguration( baseDir: String = ".", - frontendFacade: Constructor> = ::FirFrontendFacade + frontendFacade: Constructor> = ::FirFrontendFacade, + testDataConsistencyHandler: Constructor = ::FirTestDataConsistencyHandler, ) { globalDefaults { frontend = FrontendKinds.FIR @@ -160,7 +166,7 @@ fun TestConfigurationBuilder.baseFirDiagnosticTestConfiguration( useMetaInfoProcessors(::PsiLightTreeMetaInfoProcessor) forTestsMatching("compiler/testData/diagnostics/*") { - configurationForClassicAndFirTestsAlongside() + configurationForClassicAndFirTestsAlongside(testDataConsistencyHandler) } forTestsMatching("compiler/fir/analysis-tests/testData/*") {