c1ab08c8ce
Only invariant array projections and non-null element types will be supported soon (see KT-26568), so it makes no sense to store the complete type in KClassValue. What we need is only the ClassId of the class, and the number of times it's wrapped into kotlin/Array, which is exactly what ClassLiteralValue represents. This change helps in decoupling annotation values from descriptors/types. The only constant value that depends on descriptors is now AnnotationValue. #KT-26582 Fixed
33 lines
1.6 KiB
Plaintext
Vendored
33 lines
1.6 KiB
Plaintext
Vendored
package
|
|
|
|
@Foo(a = {}) public fun test1(): kotlin.Unit
|
|
@Foo(a = {kotlin.Int::class, kotlin.String::class}) public fun test2(): kotlin.Unit
|
|
@Foo(a = {kotlin.Array<kotlin.Any>::class}) public fun test3(): kotlin.Unit
|
|
@Foo(a = {Gen::class}) public fun test4(): kotlin.Unit
|
|
@Foo(a = {""}) public fun test5(): kotlin.Unit
|
|
@Foo(a = {kotlin.Int::class, 1}) public fun test6(): kotlin.Unit
|
|
@Bar public fun test7(): kotlin.Unit
|
|
|
|
public final annotation class Bar : kotlin.Annotation {
|
|
public constructor Bar(/*0*/ a: kotlin.Array<kotlin.reflect.KClass<*>> = ...)
|
|
public final val a: kotlin.Array<kotlin.reflect.KClass<*>>
|
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
|
}
|
|
|
|
public final annotation class Foo : kotlin.Annotation {
|
|
public constructor Foo(/*0*/ a: kotlin.Array<kotlin.reflect.KClass<*>> = ...)
|
|
public final val a: kotlin.Array<kotlin.reflect.KClass<*>>
|
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
|
}
|
|
|
|
public final class Gen</*0*/ T> {
|
|
public constructor Gen</*0*/ T>()
|
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
|
}
|