[JS] JsExport diagnostics and legacy support
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)
This commit is contained in:
+20
@@ -0,0 +1,20 @@
|
||||
// !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<!>
|
||||
Reference in New Issue
Block a user