From f39467b4ba94694df96c54022f9af36ab1cda6c2 Mon Sep 17 00:00:00 2001 From: Nikolay Lunyak Date: Wed, 8 Mar 2023 17:12:45 +0200 Subject: [PATCH] [FIR] KT-57175: Expand typealiases in the annotation class checker ^KT-57175 Fixed --- .../DiagnosisCompilerTestFE10TestdataTestGenerated.java | 6 ++++++ .../FirLightTreeOldFrontendDiagnosticsTestGenerated.java | 6 ++++++ .../runners/FirPsiOldFrontendDiagnosticsTestGenerated.java | 6 ++++++ .../declaration/FirAnnotationClassDeclarationChecker.kt | 1 + compiler/testData/diagnostics/tests/kt57175.kt | 4 ++++ .../kotlin/test/runners/DiagnosticTestGenerated.java | 6 ++++++ 6 files changed, 29 insertions(+) create mode 100644 compiler/testData/diagnostics/tests/kt57175.kt diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java index f225c560614..52474c73077 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java @@ -543,6 +543,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag runTest("compiler/testData/diagnostics/tests/kt57085.kt"); } + @Test + @TestMetadata("kt57175.kt") + public void testKt57175() throws Exception { + runTest("compiler/testData/diagnostics/tests/kt57175.kt"); + } + @Test @TestMetadata("LValueAssignment.kt") public void testLValueAssignment() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java index e41166b7a51..cff0cc69053 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java @@ -543,6 +543,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir runTest("compiler/testData/diagnostics/tests/kt57085.kt"); } + @Test + @TestMetadata("kt57175.kt") + public void testKt57175() throws Exception { + runTest("compiler/testData/diagnostics/tests/kt57175.kt"); + } + @Test @TestMetadata("LValueAssignment.kt") public void testLValueAssignment() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java index 88f7e03093b..7a23d927546 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java @@ -543,6 +543,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia runTest("compiler/testData/diagnostics/tests/kt57085.kt"); } + @Test + @TestMetadata("kt57175.kt") + public void testKt57175() throws Exception { + runTest("compiler/testData/diagnostics/tests/kt57175.kt"); + } + @Test @TestMetadata("LValueAssignment.kt") public void testLValueAssignment() throws Exception { diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirAnnotationClassDeclarationChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirAnnotationClassDeclarationChecker.kt index 4d5248ac2f7..141c18b791d 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirAnnotationClassDeclarationChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirAnnotationClassDeclarationChecker.kt @@ -72,6 +72,7 @@ object FirAnnotationClassDeclarationChecker : FirRegularClassChecker() { val typeRef = parameter.returnTypeRef val coneType = typeRef.coneTypeSafe() + ?.fullyExpandedType(context.session) as? ConeLookupTagBasedType val classId = coneType?.classId if (coneType != null) when { diff --git a/compiler/testData/diagnostics/tests/kt57175.kt b/compiler/testData/diagnostics/tests/kt57175.kt new file mode 100644 index 00000000000..8f9ba112b48 --- /dev/null +++ b/compiler/testData/diagnostics/tests/kt57175.kt @@ -0,0 +1,4 @@ +// FIR_IDENTICAL + +typealias Aliased = String +annotation class Tag(val tags: Aliased) // K1: ok, K2: INVALID_TYPE_OF_ANNOTATION_MEMBER diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java index c15be6aef70..a0df90d3759 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java @@ -543,6 +543,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/kt57085.kt"); } + @Test + @TestMetadata("kt57175.kt") + public void testKt57175() throws Exception { + runTest("compiler/testData/diagnostics/tests/kt57175.kt"); + } + @Test @TestMetadata("LValueAssignment.kt") public void testLValueAssignment() throws Exception {