[LC] add tests on type parameter annotations

^KT-65112
This commit is contained in:
Dmitrii Gridin
2024-02-14 16:50:05 +01:00
committed by Space Team
parent d5705af8b1
commit 3e3c932bf6
23 changed files with 333 additions and 0 deletions
@@ -0,0 +1,3 @@
public final class C /* one.C*/<T> {
public C();// .ctor()
}
@@ -0,0 +1,7 @@
// one.C
package one
@Target(AnnotationTarget.TYPE_PARAMETER)
annotation class Anno
class C<@Anno T>
@@ -0,0 +1,2 @@
public abstract interface C /* one.C*/<T> {
}
@@ -0,0 +1,7 @@
// one.C
package one
@Target(AnnotationTarget.TYPE_PARAMETER)
annotation class Anno
interface C<@Anno T>
@@ -0,0 +1,5 @@
public final class C /* one.C*/ {
public C();// .ctor()
public final <T> void foo(T);// <T> foo(T)
}
@@ -0,0 +1,11 @@
// one.C
package one
@Target(AnnotationTarget.TYPE_PARAMETER)
annotation class Anno
class C {
fun <@Anno T> foo(t: T) {
}
}
@@ -0,0 +1,5 @@
public final class C /* one.C*/ {
public C();// .ctor()
public final <T> int getFoo(T);// <T> getFoo(T)
}
@@ -0,0 +1,5 @@
public final class C /* one.C*/ {
public C();// .ctor()
public final <T> int getFoo(@org.jetbrains.annotations.NotNull() T);// <T> getFoo(T)
}
@@ -0,0 +1,9 @@
// one.C
package one
@Target(AnnotationTarget.TYPE_PARAMETER)
annotation class Anno
class C {
val <@Anno T> T.foo get() = 1
}
@@ -0,0 +1,5 @@
public final class C /* one.C*/ {
public C();// .ctor()
public final <T> int getFoo(T);// <T> getFoo(T)
}
@@ -0,0 +1,3 @@
public final class FunctionTypeParameterAnnotationKt /* one.FunctionTypeParameterAnnotationKt*/ {
public static final <T> void foo(T);// <T> foo(T)
}
@@ -0,0 +1,9 @@
// one.FunctionTypeParameterAnnotationKt
package one
@Target(AnnotationTarget.TYPE_PARAMETER)
annotation class Anno
fun <@Anno T> foo(t: T) {
}
@@ -0,0 +1,3 @@
public final class PropertyTypeParameterAnnotationKt /* one.PropertyTypeParameterAnnotationKt*/ {
public static final <T> int getFoo(T);// <T> getFoo(T)
}
@@ -0,0 +1,3 @@
public final class PropertyTypeParameterAnnotationKt /* one.PropertyTypeParameterAnnotationKt*/ {
public static final <T> int getFoo(@org.jetbrains.annotations.NotNull() T);// <T> getFoo(T)
}
@@ -0,0 +1,7 @@
// one.PropertyTypeParameterAnnotationKt
package one
@Target(AnnotationTarget.TYPE_PARAMETER)
annotation class Anno
val <@Anno T> T.foo get() = 1
@@ -0,0 +1,3 @@
public final class PropertyTypeParameterAnnotationKt /* one.PropertyTypeParameterAnnotationKt*/ {
public static final <T> int getFoo(T);// <T> getFoo(T)
}