blob: cbad8822c71d6e50d5989e8d55089b43e8be7ef9 [file]
// 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,
}