| // RUN_PIPELINE_TILL: FRONTEND | |
| import kotlin.reflect.KClass | |
| enum class SomeEnum { | |
| A, B | |
| } | |
| annotation class MyAnnotation( | |
| val intValue: Int, | |
| val stringValue: String, | |
| val enumValue: SomeEnum, | |
| val kClasses: <!PROJECTION_IN_TYPE_OF_ANNOTATION_MEMBER_ERROR!>Array<out KClass<*>><!>, | |
| val annotation: MyOtherAnnotation | |
| ) | |
| annotation class MyOtherAnnotation(val intValue: Int, val stringValue: String) | |
| const val constInt = 10 | |
| const val constString = "" | |
| @MyAnnotation( | |
| intValue = 10, | |
| stringValue = constString, | |
| enumValue = SomeEnum.A, | |
| kClasses = [String::class, <!ANNOTATION_ARGUMENT_MUST_BE_KCLASS_LITERAL!>constString::class<!>], | |
| annotation = MyOtherAnnotation( | |
| intValue = constInt, | |
| stringValue = "hello" | |
| ) | |
| ) | |
| fun foo() {} | |
| /* GENERATED_FIR_TAGS: annotationDeclaration, classReference, collectionLiteral, const, enumDeclaration, enumEntry, | |
| functionDeclaration, integerLiteral, outProjection, primaryConstructor, propertyDeclaration, starProjection, | |
| stringLiteral */ |