[Wasm] Add @JsExport diagnostics test

@JsExport is only allowed on top-level functions in K/Wasm

Restrictions for nested function are handled by reusing K/JS diagnostics
Restrictions for classes and properties are handled by specifying
 annotation target in stdlib
This commit is contained in:
Svyatoslav Kuzmich
2023-02-17 16:35:59 +01:00
committed by Space Team
parent b4fcfd6719
commit f79607d32d
2 changed files with 31 additions and 0 deletions
@@ -0,0 +1,25 @@
// !OPT_IN: kotlin.js.ExperimentalJsExport
@JsExport
fun foo1() {
}
class C {
<!NESTED_JS_EXPORT!>@JsExport<!>
fun memberFunction() {
}
}
fun foo2() {
<!NESTED_JS_EXPORT!>@JsExport<!>
fun localFun() {
}
}
val p1 = (<!NESTED_JS_EXPORT!>@JsExport<!> fun () {})
<!WRONG_ANNOTATION_TARGET!>@JsExport<!>
class C2
<!WRONG_ANNOTATION_TARGET!>@JsExport<!>
var p2: Int = 1