35 lines
1.2 KiB
Kotlin
Vendored
35 lines
1.2 KiB
Kotlin
Vendored
annotation class Anno1
|
|
enum class Colors { WHITE, BLACK }
|
|
annotation class Anno2(
|
|
val i: Int = 5,
|
|
val s: String = "ABC",
|
|
val ii: IntArray = intArrayOf(1, 2, 3),
|
|
val ss: Array<String> = arrayOf("A", "B"),
|
|
val a: Anno1,
|
|
val color: Colors = Colors.BLACK,
|
|
val colors: Array<Colors> = arrayOf(Colors.BLACK, Colors.WHITE),
|
|
val clazz: kotlin.reflect.KClass<*>,
|
|
val classes: Array<kotlin.reflect.KClass<*>>
|
|
)
|
|
annotation class Anno3(val value: String)
|
|
|
|
@Anno1
|
|
@Anno2(a = Anno1(), clazz = TestAnno::class, classes = arrayOf(TestAnno::class, Anno1::class))
|
|
@Anno3(value = "value")
|
|
class TestAnno
|
|
|
|
@Anno3("value")
|
|
@Anno2(i = 6, s = "BCD", ii = intArrayOf(4, 5, 6), ss = arrayOf("Z", "X"),
|
|
a = Anno1(), color = Colors.WHITE, colors = arrayOf(Colors.WHITE),
|
|
clazz = TestAnno::class, classes = arrayOf(TestAnno::class, Anno1::class))
|
|
class TestAnno2 {
|
|
@Anno1
|
|
fun a(@Anno3("param-pam-pam") param: String) {}
|
|
|
|
@get:Anno3("getter") @set:Anno3("setter") @property:Anno3("property") @field:Anno3("field") @setparam:Anno3("setparam")
|
|
var b: String = "property initializer"
|
|
}
|
|
|
|
enum class Enum1 {
|
|
BLACK, @Anno1 WHITE
|
|
} |