From 66d1839d2061f00781cce6853b41871d0fe3cacd Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Fri, 15 Mar 2024 16:26:44 +0100 Subject: [PATCH] [LC] add tests on nested type annotations ^KT-66603 --- ...tClassesByFqNameForLibraryTestGenerated.java | 6 ++++++ ...EqualityByFqNameForLibraryTestGenerated.java | 6 ++++++ ...arentingByFqNameForLibraryTestGenerated.java | 6 ++++++ ...htClassesByFqNameForSourceTestGenerated.java | 6 ++++++ ...sEqualityByFqNameForSourceTestGenerated.java | 6 ++++++ ...ParentingByFqNameForSourceTestGenerated.java | 6 ++++++ .../NestedTypeAnnotations.descriptors.java | 14 ++++++++++++++ .../NestedTypeAnnotations.java | 14 ++++++++++++++ .../lightClassByFqName/NestedTypeAnnotations.kt | 17 +++++++++++++++++ .../NestedTypeAnnotations.lib.java | 14 ++++++++++++++ .../asJava/CompilerLightClassTestGenerated.java | 5 +++++ 11 files changed, 100 insertions(+) create mode 100644 compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.descriptors.java create mode 100644 compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.java create mode 100644 compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.kt create mode 100644 compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.lib.java diff --git a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesByFqNameForLibraryTestGenerated.java b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesByFqNameForLibraryTestGenerated.java index 86a014c439d..085275836b3 100644 --- a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesByFqNameForLibraryTestGenerated.java +++ b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesByFqNameForLibraryTestGenerated.java @@ -264,6 +264,12 @@ public class SymbolLightClassesByFqNameForLibraryTestGenerated extends AbstractS runTest("compiler/testData/asJava/lightClasses/lightClassByFqName/NestedObjects.kt"); } + @Test + @TestMetadata("NestedTypeAnnotations.kt") + public void testNestedTypeAnnotations() { + runTest("compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.kt"); + } + @Test @TestMetadata("NonDataClassWithComponentFunctions.kt") public void testNonDataClassWithComponentFunctions() { diff --git a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesEqualityByFqNameForLibraryTestGenerated.java b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesEqualityByFqNameForLibraryTestGenerated.java index 6124dde8ad9..9fd0d87c5c1 100644 --- a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesEqualityByFqNameForLibraryTestGenerated.java +++ b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesEqualityByFqNameForLibraryTestGenerated.java @@ -264,6 +264,12 @@ public class SymbolLightClassesEqualityByFqNameForLibraryTestGenerated extends A runTest("compiler/testData/asJava/lightClasses/lightClassByFqName/NestedObjects.kt"); } + @Test + @TestMetadata("NestedTypeAnnotations.kt") + public void testNestedTypeAnnotations() { + runTest("compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.kt"); + } + @Test @TestMetadata("NonDataClassWithComponentFunctions.kt") public void testNonDataClassWithComponentFunctions() { diff --git a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesParentingByFqNameForLibraryTestGenerated.java b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesParentingByFqNameForLibraryTestGenerated.java index d6e7abb00e0..2d30dee4526 100644 --- a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesParentingByFqNameForLibraryTestGenerated.java +++ b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesParentingByFqNameForLibraryTestGenerated.java @@ -264,6 +264,12 @@ public class SymbolLightClassesParentingByFqNameForLibraryTestGenerated extends runTest("compiler/testData/asJava/lightClasses/lightClassByFqName/NestedObjects.kt"); } + @Test + @TestMetadata("NestedTypeAnnotations.kt") + public void testNestedTypeAnnotations() { + runTest("compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.kt"); + } + @Test @TestMetadata("NonDataClassWithComponentFunctions.kt") public void testNonDataClassWithComponentFunctions() { diff --git a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesByFqNameForSourceTestGenerated.java b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesByFqNameForSourceTestGenerated.java index 9ac1b4f2f8d..cd8490b9a70 100644 --- a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesByFqNameForSourceTestGenerated.java +++ b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesByFqNameForSourceTestGenerated.java @@ -264,6 +264,12 @@ public class SymbolLightClassesByFqNameForSourceTestGenerated extends AbstractSy runTest("compiler/testData/asJava/lightClasses/lightClassByFqName/NestedObjects.kt"); } + @Test + @TestMetadata("NestedTypeAnnotations.kt") + public void testNestedTypeAnnotations() { + runTest("compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.kt"); + } + @Test @TestMetadata("NonDataClassWithComponentFunctions.kt") public void testNonDataClassWithComponentFunctions() { diff --git a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesEqualityByFqNameForSourceTestGenerated.java b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesEqualityByFqNameForSourceTestGenerated.java index d8a0861f643..be9918ac222 100644 --- a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesEqualityByFqNameForSourceTestGenerated.java +++ b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesEqualityByFqNameForSourceTestGenerated.java @@ -264,6 +264,12 @@ public class SymbolLightClassesEqualityByFqNameForSourceTestGenerated extends Ab runTest("compiler/testData/asJava/lightClasses/lightClassByFqName/NestedObjects.kt"); } + @Test + @TestMetadata("NestedTypeAnnotations.kt") + public void testNestedTypeAnnotations() { + runTest("compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.kt"); + } + @Test @TestMetadata("NonDataClassWithComponentFunctions.kt") public void testNonDataClassWithComponentFunctions() { diff --git a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesParentingByFqNameForSourceTestGenerated.java b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesParentingByFqNameForSourceTestGenerated.java index d15d49d3d8c..8678d47bfec 100644 --- a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesParentingByFqNameForSourceTestGenerated.java +++ b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesParentingByFqNameForSourceTestGenerated.java @@ -264,6 +264,12 @@ public class SymbolLightClassesParentingByFqNameForSourceTestGenerated extends A runTest("compiler/testData/asJava/lightClasses/lightClassByFqName/NestedObjects.kt"); } + @Test + @TestMetadata("NestedTypeAnnotations.kt") + public void testNestedTypeAnnotations() { + runTest("compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.kt"); + } + @Test @TestMetadata("NonDataClassWithComponentFunctions.kt") public void testNonDataClassWithComponentFunctions() { diff --git a/compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.descriptors.java b/compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.descriptors.java new file mode 100644 index 00000000000..38cf5c2a6d6 --- /dev/null +++ b/compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.descriptors.java @@ -0,0 +1,14 @@ +public final class Nested /* foo.Nested*/ { + @org.jetbrains.annotations.Nullable() + private java.util.List> property; + + @org.jetbrains.annotations.Nullable() + public final java.util.List> function(@org.jetbrains.annotations.NotNull() java.util.List>, @org.jetbrains.annotations.NotNull() java.util.List>);// function(java.util.List>, java.util.List>) + + @org.jetbrains.annotations.Nullable() + public final java.util.List> getProperty();// getProperty() + + public Nested();// .ctor() + + public final void setProperty(@org.jetbrains.annotations.Nullable() java.util.List>);// setProperty(java.util.List>) +} \ No newline at end of file diff --git a/compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.java b/compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.java new file mode 100644 index 00000000000..8ac8b3966be --- /dev/null +++ b/compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.java @@ -0,0 +1,14 @@ +public final class Nested /* foo.Nested*/ { + @org.jetbrains.annotations.Nullable() + private java.util.List> property = null /* initializer type: null */; + + @org.jetbrains.annotations.Nullable() + public final java.util.List> function(@org.jetbrains.annotations.NotNull() java.util.List>, @org.jetbrains.annotations.NotNull() java.util.List>);// function(java.util.List>, java.util.List>) + + @org.jetbrains.annotations.Nullable() + public final java.util.List> getProperty();// getProperty() + + public Nested();// .ctor() + + public final void setProperty(@org.jetbrains.annotations.Nullable() java.util.List>);// setProperty(java.util.List>) +} diff --git a/compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.kt b/compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.kt new file mode 100644 index 00000000000..2ed25bf8258 --- /dev/null +++ b/compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.kt @@ -0,0 +1,17 @@ +// foo.Nested +// IGNORE_PARENTING_CHECK +package foo + +import kotlin.reflect.KClass + +@Target(AnnotationTarget.TYPE) +annotation class MyAnno(val s: String) + +@Target(AnnotationTarget.TYPE) +annotation class AnotherAnnotation(val k: KClass<*>) + +class Nested { + fun @MyAnno("outer") List<@MyAnno("middle") List<@AnotherAnnotation(Nested::class) String>>.function(param: @MyAnno("outer") List<@MyAnno("middle") List<@AnotherAnnotation(Nested::class) String>>): @MyAnno("outer") List<@MyAnno("middle") List<@AnotherAnnotation(Nested::class) String>>? = null + + var property: @MyAnno("outer") List<@MyAnno("middle") List<@AnotherAnnotation(Nested::class) String>>? = null +} diff --git a/compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.lib.java b/compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.lib.java new file mode 100644 index 00000000000..869d05073a6 --- /dev/null +++ b/compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.lib.java @@ -0,0 +1,14 @@ +public final class Nested /* foo.Nested*/ { + @org.jetbrains.annotations.Nullable() + private java.util.List> property; + + @org.jetbrains.annotations.Nullable() + public final java.util.List> function(@org.jetbrains.annotations.NotNull() java.util.List>, @org.jetbrains.annotations.NotNull() java.util.List>);// function(java.util.List>, java.util.List>) + + @org.jetbrains.annotations.Nullable() + public final java.util.List> getProperty();// getProperty() + + public Nested();// .ctor() + + public final void setProperty(@org.jetbrains.annotations.Nullable() java.util.List>);// setProperty(java.util.List>) +} diff --git a/compiler/tests-gen/org/jetbrains/kotlin/asJava/CompilerLightClassTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/asJava/CompilerLightClassTestGenerated.java index 6a1e3d8c284..a48566dc31a 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/asJava/CompilerLightClassTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/asJava/CompilerLightClassTestGenerated.java @@ -229,6 +229,11 @@ public class CompilerLightClassTestGenerated extends AbstractCompilerLightClassT runTest("compiler/testData/asJava/lightClasses/lightClassByFqName/NestedObjects.kt"); } + @TestMetadata("NestedTypeAnnotations.kt") + public void testNestedTypeAnnotations() { + runTest("compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.kt"); + } + @TestMetadata("NonDataClassWithComponentFunctions.kt") public void testNonDataClassWithComponentFunctions() { runTest("compiler/testData/asJava/lightClasses/lightClassByFqName/NonDataClassWithComponentFunctions.kt");