| // RUN_PIPELINE_TILL: BACKEND |
| // FIR_IDENTICAL |
| import kotlin.reflect.KClass |
| |
| @Target( |
| AnnotationTarget.CLASS, |
| AnnotationTarget.TYPE_PARAMETER, |
| AnnotationTarget.TYPE, |
| AnnotationTarget.PROPERTY, |
| AnnotationTarget.FUNCTION, |
| AnnotationTarget.CONSTRUCTOR |
| ) |
| annotation class Special(val why: KClass<*>) |
| |
| interface Interface |
| |
| class Outer @Special(Nested::class) constructor( |
| @Special(Nested::class) |
| val why: KClass<*> |
| ) { |
| @Special(Nested::class) |
| class Nested<@Special(Nested::class) T> : @Special(Nested::class) Interface |
| |
| @Special(Nested::class) |
| val why2: KClass<*>? = null |
| |
| @Special(Nested::class) |
| fun why3() {} |
| } |
| |
| enum class E( |
| @Special(Nested::class) |
| val why: KClass<*> |
| ) { |
| @Special(Nested::class) |
| Foo(Nested::class); |
| |
| class Nested |
| } |
| |
| /* GENERATED_FIR_TAGS: annotationDeclaration, classDeclaration, classReference, enumDeclaration, enumEntry, |
| functionDeclaration, interfaceDeclaration, nestedClass, nullableType, primaryConstructor, propertyDeclaration, |
| starProjection, typeParameter */ |