// test.Main package test @MainAnno("A", 5) class Main { @field:XAnno(color = Color.GREEN) val x: String @get:YAnno(arrayOf("Mary", "Tom"), intArrayOf(1, 3, 5), arrayOf(Color.GREEN, Color.RED)) val y: String @set:ZAnno(String::class, arrayOf(String::class, Long::class, Main::class)) var z: String // Property annotations are lost here (we don't create Elements (javac API) for the synthetic propertyName$annotations() methods) @MainAnno("B", 6) val zz: String } enum class Color { RED, GREEN, BLUE } annotation class MainAnno(val a: String, val b: Int) annotation class XAnno(val color: Color) annotation class YAnno(val names: Array, val ints: Array, val colors: Array) annotation class ZAnno(val clazz: Class<*>, val classes = Array>)