open annotation class TestAnn : Annotation { constructor(x: String) /* primary */ { super/*Any*/() /* () */ } val x: String field = x get } @TestAnn(x = "class") class TestClass { constructor() /* primary */ { super/*Any*/() /* () */ } } @TestAnn(x = "interface") interface TestInterface { } @TestAnn(x = "object") object TestObject { private constructor() /* primary */ { super/*Any*/() /* () */ } } class Host { constructor() /* primary */ { super/*Any*/() /* () */ } @TestAnn(x = "companion") companion object TestCompanion { private constructor() /* primary */ { super/*Any*/() /* () */ } } } @TestAnn(x = "enum") enum class TestEnum : Enum { private constructor() /* primary */ { super/*Enum*/() /* () */ } fun values(): Array /* Synthetic body for ENUM_VALUES */ fun valueOf(value: String): TestEnum /* Synthetic body for ENUM_VALUEOF */ } @TestAnn(x = "annotation") open annotation class TestAnnotation : Annotation { constructor() /* primary */ { super/*Any*/() /* () */ } }