blob: 5f61a404abbae6a4fc239d89a95226a640c5864c [file]
import kotlin.reflect.KClass
@Target(AnnotationTarget.TYPE)
annotation class AnnoString(vararg val value: String)
@Target(AnnotationTarget.TYPE)
annotation class AnnoInt(vararg val value: Int)
enum class A { V1, V2 }
@Target(AnnotationTarget.TYPE)
annotation class AnnoEnum(vararg val value: A)
@Target(AnnotationTarget.TYPE)
annotation class AnnoKClass(vararg val value: KClass<*>)
@Target(AnnotationTarget.TYPE)
annotation class AnnoAnnotation(vararg val value: AnnoString)
fun annoStringVararg0(): @AnnoString() Unit {}
fun annoStringVararg1(): @AnnoString("OK") Unit {}
fun annoStringVararg2(): @AnnoString("OK", "OK2") Unit {}
fun annoIntVararg0(): @AnnoInt() Unit {}
fun annoIntVararg1(): @AnnoInt(0) Unit {}
fun annoIntVararg2(): @AnnoInt(0, 1) Unit {}
fun annoEnumVararg0(): @AnnoEnum() Unit {}
fun annoEnumVararg1(): @AnnoEnum(A.V1) Unit {}
fun annoEnumVararg2(): @AnnoEnum(A.V1, A.V2) Unit {}
fun annoKClassVararg0(): @AnnoKClass() Unit {}
fun annoKClassVararg1(): @AnnoKClass(AnnoString::class) Unit {}
fun annoKClassVararg2(): @AnnoKClass(AnnoString::class, AnnoInt::class) Unit {}
fun annoAnnotationVararg0(): @AnnoAnnotation() Unit {}
fun annoAnnotationVararg1(): @AnnoAnnotation(AnnoString()) Unit {}
fun annoAnnotationVararg2(): @AnnoAnnotation(AnnoString("OK"), AnnoString("OK1", "OK2")) Unit {}
fun annoArrayVararg0(): @AnnoString(*arrayOf()) Unit {}
fun annoArrayVararg1(): @AnnoString(*arrayOf("OK")) Unit {}
fun annoArrayVararg2(): @AnnoString(*arrayOf("OK", "OK2")) Unit {}