6e3d3831c2
Account for JsExport in legacy backend namer. It means we catch overloaded exported function conflicts for free! Add error diagnostics: * NESTED_JS_EXPORT (Fixes KT-36798) * WRONG_EXPORTED_DECLARATION (Part of the fix for KT-37752) * NON_EXPORTABLE_TYPE (Fixes KT-37771)
21 lines
654 B
Kotlin
Vendored
21 lines
654 B
Kotlin
Vendored
// !USE_EXPERIMENTAL: kotlin.js.ExperimentalJsExport
|
|
// !RENDER_DIAGNOSTICS_MESSAGES
|
|
|
|
package foo
|
|
|
|
<!WRONG_EXPORTED_DECLARATION("inline function with reified type parameters")!>@JsExport
|
|
inline fun <reified T> inlineReifiedFun(x: Any)<!> = x is T
|
|
|
|
<!WRONG_EXPORTED_DECLARATION("suspend function")!>@JsExport
|
|
suspend fun suspendFun()<!> { }
|
|
|
|
<!WRONG_EXPORTED_DECLARATION("extension property")!>@JsExport
|
|
val String.extensionProperty<!>
|
|
get() = this.length
|
|
|
|
@JsExport
|
|
enum class <!WRONG_EXPORTED_DECLARATION("enum class")!>EnumClass<!> { ENTRY1, ENTRY2 }
|
|
|
|
@JsExport
|
|
annotation class <!WRONG_EXPORTED_DECLARATION("annotation class")!>AnnotationClass<!>
|