[AA] Unwrap type aliases in annotation arguments

^KT-55782 Fixed
This commit is contained in:
Dmitriy Novozhilov
2022-10-03 18:02:35 +03:00
committed by Space Team
parent 34af013913
commit 16b72d3e54
12 changed files with 72 additions and 30 deletions
@@ -0,0 +1,17 @@
public abstract interface A /* A*/ {
}
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface Ann /* Ann*/ {
public abstract java.lang.Class<?>[] kClass();// kClass()
}
public abstract interface B /* B*/<T, R> {
}
@Ann(kClass = {A.class, A.class, A.class, B.class, B.class})
public abstract interface Test /* Test*/ {
}
public final class TypealiasInAnnotationKt /* TypealiasInAnnotationKt*/ {
}
@@ -0,0 +1,15 @@
// Test
import kotlin.reflect.KClass
interface A
interface B<T, R>
typealias OtherA = A
typealias OtherOtherA = OtherA
typealias OtherB<X, Y> = B<Y, X>
annotation class Ann(vararg val kClass: KClass<*>)
@Ann(A::class, OtherA::class, OtherOtherA::class, B::class, OtherB::class)
interface Test
@@ -1,3 +1,9 @@
public abstract interface A /* A*/ {
}
public abstract interface B /* B*/<T, R> {
}
public abstract interface Test /* Test*/ {
@org.jetbrains.annotations.NotNull()
public abstract A foo();// foo()
@@ -11,3 +17,6 @@ public abstract interface Test /* Test*/ {
@org.jetbrains.annotations.NotNull()
public abstract B<A, B<A, java.lang.String>> barAliased();// barAliased()
}
public final class TypealiasInTypeArgumentsKt /* TypealiasInTypeArgumentsKt*/ {
}