diff --git a/libraries/stdlib/js/src/kotlin/annotations.kt b/libraries/stdlib/js/src/kotlin/annotations.kt index 6b6a79681a6..2168f3d8aaf 100644 --- a/libraries/stdlib/js/src/kotlin/annotations.kt +++ b/libraries/stdlib/js/src/kotlin/annotations.kt @@ -161,12 +161,27 @@ public annotation class JsNonModule @Target(AnnotationTarget.FILE) public annotation class JsQualifier(val value: String) +/** + * Marks experimental JS export annotations. + * + * Note that behaviour of these annotations will likely be changed in the future. + * + * Usages of such annotations will be reported as warnings unless an explicit opt-in with + * the [UseExperimental] annotation, e.g. `@UseExperimental(ExperimentalJsExport::class)`, + * or with the `-Xuse-experimental=kotlin.js.ExperimentalJsExport` compiler option is given. + */ +@Experimental(level = Experimental.Level.WARNING) +@SinceKotlin("1.3") +public annotation class ExperimentalJsExport + /** * Exports top-level declaration. * * Used in future IR-based backend. * Has no effect in current JS backend. */ +@ExperimentalJsExport +@SinceKotlin("1.3") @Retention(AnnotationRetention.BINARY) @Target(CLASS, PROPERTY, FUNCTION, FILE) public annotation class JsExport