blob: 79eaa3615e7646f4c85172e43449cab035680d31 [file]
// RUN_PIPELINE_TILL: FRONTEND
// LANGUAGE_FEATURE_TOGGLED: AllowAnnotationsOnArgumentsOfAnnotations
import kotlin.reflect.KClass
@Repeatable
annotation class SimpleAnno(val kClass: KClass<*>)
@Repeatable
annotation class VarargAnno(vararg val kClass: KClass<*>)
@Repeatable
annotation class ArrayAnno(val kClass: Array<KClass<*>>)
@RequiresOptIn(level = RequiresOptIn.Level.WARNING)
annotation class Marker
@Marker
class Marked
@SimpleAnno(<!ANNOTATION_ON_ANNOTATION_ARGUMENT!>@OptIn(Marker::class)<!> Marked::class)
@SimpleAnno((@OptIn(Marker::class) Marked)::class)
@VarargAnno(@OptIn(Marker::class) Marked::class, String::class, @OptIn(Marker::class) Marked::class)
@ArrayAnno(arrayOf(String::class, *<!ANNOTATION_ON_ANNOTATION_ARGUMENT!>@OptIn(Marker::class)<!>[String::class, Marked::class]))
fun test() = Unit
@VarargAnno(@OptIn(Marker::class) String::class, <!OPT_IN_USAGE!>Marked<!>::class)
fun missed() = Unit
/* GENERATED_FIR_TAGS: annotationDeclaration, classDeclaration, classReference, collectionLiteral, functionDeclaration,
outProjection, primaryConstructor, propertyDeclaration, starProjection, vararg */