blob: 82f8fa5d19f1d87f778f110563237ac3c812aa09 [file]
// RUN_PIPELINE_TILL: FRONTEND
// SKIP_ERRORS_BEFORE
annotation class X(val value: Y, val y: Y)
annotation class Y()
@X(<!ANNOTATION_USED_AS_ANNOTATION_ARGUMENT!>@Y()<!><!SYNTAX!><!>, y = Y())
fun foo1() {
}
@X(<!ANNOTATION_USED_AS_ANNOTATION_ARGUMENT!>@Y()<!><!SYNTAX!><!>, y = <!ANNOTATION_USED_AS_ANNOTATION_ARGUMENT!>@Y()<!><!SYNTAX!><!>)
fun foo2() {
}
annotation class W(val value: Array<Y>)
@Target(AnnotationTarget.EXPRESSION)
@Retention(AnnotationRetention.SOURCE)
annotation class Z()
@W(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!><!ANNOTATION_USED_AS_ANNOTATION_ARGUMENT!>@Z()<!> arrayOf(<!ANNOTATION_USED_AS_ANNOTATION_ARGUMENT!>@Z()<!> Y())<!>) // ANNOTATION_ON_ANNOTATION_ARGUMENT
fun foo30() {
}
@W(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!><!WRONG_ANNOTATION_TARGET!>@<!DEBUG_INFO_MISSING_UNRESOLVED!>Z<!>()<!> [<!ANNOTATION_USED_AS_ANNOTATION_ARGUMENT!>@Z()<!> Y()]<!>) // ANNOTATION_ON_ANNOTATION_ARGUMENT
fun foo31() {
}
@W(arrayOf(<!ANNOTATION_USED_AS_ANNOTATION_ARGUMENT!>@Y()<!><!SYNTAX!><!>)) // ANNOTATION_USED_AS_ANNOTATION_ARGUMENT
fun foo40() {
}
@W([<!ANNOTATION_USED_AS_ANNOTATION_ARGUMENT!>@Y()<!><!SYNTAX!><!>]) // ANNOTATION_USED_AS_ANNOTATION_ARGUMENT
fun foo41() {
}
@W(<!WRONG_ANNOTATION_TARGET!>@<!DEBUG_INFO_MISSING_UNRESOLVED!>Z<!>()<!> [<!ANNOTATION_USED_AS_ANNOTATION_ARGUMENT!>@Y()<!><!SYNTAX!><!>]) // Both ANNOTATION_USED_AS_ANNOTATION_ARGUMENT and ANNOTATION_ON_ANNOTATION_ARGUMENT
fun foo50() {
}
/* GENERATED_FIR_TAGS: annotationDeclaration, collectionLiteral, functionDeclaration, primaryConstructor,
propertyDeclaration */