From d52860b835b560d2a0fac8975ede20607a1d2c37 Mon Sep 17 00:00:00 2001 From: Marco Pennekamp Date: Thu, 22 Feb 2024 18:08:31 +0100 Subject: [PATCH] [LL] Add tests for `ClassId` calculation of local class inside annotation argument - The class IDs are erroneously calculated and will be fixed in the next commit. ^KT-66038 --- .../classId/localClassInsideAnnotationArgument.kt | 2 ++ .../classId/localClassInsideUnclosedAnnotation.kt | 3 +++ .../fir/SourceClassIdConsistencyTestGenerated.java | 12 ++++++++++++ .../level/api/fir/SourceClassIdTestGenerated.java | 12 ++++++++++++ 4 files changed, 29 insertions(+) create mode 100644 analysis/low-level-api-fir/testData/classId/localClassInsideAnnotationArgument.kt create mode 100644 analysis/low-level-api-fir/testData/classId/localClassInsideUnclosedAnnotation.kt diff --git a/analysis/low-level-api-fir/testData/classId/localClassInsideAnnotationArgument.kt b/analysis/low-level-api-fir/testData/classId/localClassInsideAnnotationArgument.kt new file mode 100644 index 00000000000..562526c4519 --- /dev/null +++ b/analysis/low-level-api-fir/testData/classId/localClassInsideAnnotationArgument.kt @@ -0,0 +1,2 @@ +/* ClassId: /Bar */@Retention(if (true) { /* ClassId: /Bar.Foo */class Foo }) +class Bar diff --git a/analysis/low-level-api-fir/testData/classId/localClassInsideUnclosedAnnotation.kt b/analysis/low-level-api-fir/testData/classId/localClassInsideUnclosedAnnotation.kt new file mode 100644 index 00000000000..0ca75843308 --- /dev/null +++ b/analysis/low-level-api-fir/testData/classId/localClassInsideUnclosedAnnotation.kt @@ -0,0 +1,3 @@ +// KT-24323 +@Retention(AnnotationRetention.RUNTIME +annotation /* ClassId: /Validation */class Validation() diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/SourceClassIdConsistencyTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/SourceClassIdConsistencyTestGenerated.java index a70c1db5800..67be97c2cfc 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/SourceClassIdConsistencyTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/SourceClassIdConsistencyTestGenerated.java @@ -48,6 +48,12 @@ public class SourceClassIdConsistencyTestGenerated extends AbstractSourceClassId runTest("analysis/low-level-api-fir/testData/classId/invalidForJvmClassName.kt"); } + @Test + @TestMetadata("localClassInsideAnnotationArgument.kt") + public void testLocalClassInsideAnnotationArgument() { + runTest("analysis/low-level-api-fir/testData/classId/localClassInsideAnnotationArgument.kt"); + } + @Test @TestMetadata("localClassInsideFunctionLiteral.kt") public void testLocalClassInsideFunctionLiteral() { @@ -66,6 +72,12 @@ public class SourceClassIdConsistencyTestGenerated extends AbstractSourceClassId runTest("analysis/low-level-api-fir/testData/classId/localClassInsideSuperEntryCall.kt"); } + @Test + @TestMetadata("localClassInsideUnclosedAnnotation.kt") + public void testLocalClassInsideUnclosedAnnotation() { + runTest("analysis/low-level-api-fir/testData/classId/localClassInsideUnclosedAnnotation.kt"); + } + @Test @TestMetadata("namelessClasses.kt") public void testNamelessClasses() { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/SourceClassIdTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/SourceClassIdTestGenerated.java index 70686b1b10d..ca176a0995b 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/SourceClassIdTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/SourceClassIdTestGenerated.java @@ -48,6 +48,12 @@ public class SourceClassIdTestGenerated extends AbstractSourceClassIdTest { runTest("analysis/low-level-api-fir/testData/classId/invalidForJvmClassName.kt"); } + @Test + @TestMetadata("localClassInsideAnnotationArgument.kt") + public void testLocalClassInsideAnnotationArgument() { + runTest("analysis/low-level-api-fir/testData/classId/localClassInsideAnnotationArgument.kt"); + } + @Test @TestMetadata("localClassInsideFunctionLiteral.kt") public void testLocalClassInsideFunctionLiteral() { @@ -66,6 +72,12 @@ public class SourceClassIdTestGenerated extends AbstractSourceClassIdTest { runTest("analysis/low-level-api-fir/testData/classId/localClassInsideSuperEntryCall.kt"); } + @Test + @TestMetadata("localClassInsideUnclosedAnnotation.kt") + public void testLocalClassInsideUnclosedAnnotation() { + runTest("analysis/low-level-api-fir/testData/classId/localClassInsideUnclosedAnnotation.kt"); + } + @Test @TestMetadata("namelessClasses.kt") public void testNamelessClasses() {