From c482786bc40daed245e925a6b8949e41d72ed359 Mon Sep 17 00:00:00 2001 From: Marco Pennekamp Date: Thu, 9 Nov 2023 16:31:45 +0100 Subject: [PATCH] [AA] Add tests for diagnostics suppression on top-level declarations in scripts - `scriptUninitializedTopLevelProperty` is currently disabled in FIR because it fails with a mismatch between diagnostics from the file and the individual elements. It will be enabled in the next commit. ^KT-62899 --- ...tSourceModuleCollectDiagnosticsTestGenerated.java | 12 ++++++++++++ .../scriptUninitializedTopLevelProperty.kts | 4 ++++ .../scriptUninitializedTopLevelProperty.txt | 4 ++++ .../scriptUninitializedTopLevelProperty2.kts | 8 ++++++++ .../scriptUninitializedTopLevelProperty2.txt | 4 ++++ 5 files changed, 32 insertions(+) create mode 100644 analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/suppression/scriptUninitializedTopLevelProperty.kts create mode 100644 analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/suppression/scriptUninitializedTopLevelProperty.txt create mode 100644 analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/suppression/scriptUninitializedTopLevelProperty2.kts create mode 100644 analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/suppression/scriptUninitializedTopLevelProperty2.txt diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/diagnosticProvider/FirIdeNormalAnalysisScriptSourceModuleCollectDiagnosticsTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/diagnosticProvider/FirIdeNormalAnalysisScriptSourceModuleCollectDiagnosticsTestGenerated.java index 2c667c86151..11ecf2af52b 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/diagnosticProvider/FirIdeNormalAnalysisScriptSourceModuleCollectDiagnosticsTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/diagnosticProvider/FirIdeNormalAnalysisScriptSourceModuleCollectDiagnosticsTestGenerated.java @@ -54,5 +54,17 @@ public class FirIdeNormalAnalysisScriptSourceModuleCollectDiagnosticsTestGenerat public void testAllFilesPresentInSuppression() throws Exception { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/suppression"), Pattern.compile("^(.+)\\.kts$"), null, true); } + + @Test + @TestMetadata("scriptUninitializedTopLevelProperty.kts") + public void testScriptUninitializedTopLevelProperty() throws Exception { + runTest("analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/suppression/scriptUninitializedTopLevelProperty.kts"); + } + + @Test + @TestMetadata("scriptUninitializedTopLevelProperty2.kts") + public void testScriptUninitializedTopLevelProperty2() throws Exception { + runTest("analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/suppression/scriptUninitializedTopLevelProperty2.kts"); + } } } diff --git a/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/suppression/scriptUninitializedTopLevelProperty.kts b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/suppression/scriptUninitializedTopLevelProperty.kts new file mode 100644 index 00000000000..114d0e2c7aa --- /dev/null +++ b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/suppression/scriptUninitializedTopLevelProperty.kts @@ -0,0 +1,4 @@ +// IGNORE_FIR + +@Suppress("MUST_BE_INITIALIZED") +val foo: Int diff --git a/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/suppression/scriptUninitializedTopLevelProperty.txt b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/suppression/scriptUninitializedTopLevelProperty.txt new file mode 100644 index 00000000000..b3558378d02 --- /dev/null +++ b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/suppression/scriptUninitializedTopLevelProperty.txt @@ -0,0 +1,4 @@ +Diagnostics from elements: + for PSI element of type KtStringTemplateExpression at (1,11-32) + ERROR_SUPPRESSION text ranges: [(10,31)] + PSI: KtStringTemplateExpression at (1,11-32) diff --git a/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/suppression/scriptUninitializedTopLevelProperty2.kts b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/suppression/scriptUninitializedTopLevelProperty2.kts new file mode 100644 index 00000000000..4d93569c03c --- /dev/null +++ b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/suppression/scriptUninitializedTopLevelProperty2.kts @@ -0,0 +1,8 @@ +// IGNORE_FIR +// In FIR, there is currently a mismatch between the file's diagnostics and the individual elements' diagnostics, so we have to disable the +// FIR test. It will be fixed by KT-63221. + +@Suppress("MUST_BE_INITIALIZED") +val foo: Int + +val bar: String diff --git a/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/suppression/scriptUninitializedTopLevelProperty2.txt b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/suppression/scriptUninitializedTopLevelProperty2.txt new file mode 100644 index 00000000000..b3558378d02 --- /dev/null +++ b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/suppression/scriptUninitializedTopLevelProperty2.txt @@ -0,0 +1,4 @@ +Diagnostics from elements: + for PSI element of type KtStringTemplateExpression at (1,11-32) + ERROR_SUPPRESSION text ranges: [(10,31)] + PSI: KtStringTemplateExpression at (1,11-32)