| // TARGET_BACKEND: JS_IR, WASM | |
| // PLATFORM_DEPENDANT_METADATA | |
| // LANGUAGE: +KlibAnnotationsInMetadata | |
| package test | |
| import kotlin.annotation.AnnotationTarget.* | |
| @Target( | |
| CLASS, | |
| TYPE_PARAMETER, | |
| PROPERTY, | |
| FIELD, | |
| LOCAL_VARIABLE, | |
| VALUE_PARAMETER, | |
| CONSTRUCTOR, | |
| FUNCTION, | |
| PROPERTY_GETTER, | |
| PROPERTY_SETTER, | |
| TYPE, | |
| TYPEALIAS, | |
| ) | |
| @Repeatable | |
| annotation class A(val s: String) | |
| @A("class-1") | |
| @A("class-2") | |
| class C<@A("class-type-param") T> @A("primary-ctor") constructor( | |
| @property:A("ctor-property") @param:A("ctor-param") val p: Int | |
| ) { | |
| @A("secondary-ctor") constructor() : this(0) | |
| @A("property") | |
| @field:A("field") | |
| @get:A("getter") | |
| @set:A("setter") | |
| @setparam:A("setparam-2") | |
| var q: Int = 1 | |
| set(@A("setparam-1") value) {} | |
| @A("fun") | |
| fun <@A("fun-type-param") T> f(@A("fun-param-1") @A("fun-param-2") r: Any): @A("return-type") Unit { | |
| @A("local-delegated-property-in-class") | |
| val ldp: Int by lazy { 1 } | |
| } | |
| @A("nested-class") class Nested | |
| } | |
| @A("typealias") | |
| typealias Z = String | |
| fun topLevel() { | |
| @A("local-delegated-property-in-file") | |
| val ldp: Int by lazy { 2 } | |
| } | |
| fun @receiver:A("fun-receiver") Any.ff() {} | |
| @delegate:A("delegate") | |
| val @receiver:A("property-receiver") Any.pp: Int by lazy { 3 } | |
| enum class E { | |
| @A("enum-entry") ENTRY, | |
| } |