[JS, Frontend] Forbid @JsExporting inline/value classes

Previously the compiler would just crash.

#KT-46202 Fixed
This commit is contained in:
Sergej Jaskiewicz
2021-09-06 13:08:08 +03:00
parent 5eaea04bc8
commit f62ffeaa0a
3 changed files with 49 additions and 0 deletions
@@ -1,5 +1,6 @@
// !USE_EXPERIMENTAL: kotlin.js.ExperimentalJsExport
// !RENDER_DIAGNOSTICS_MESSAGES
// !DIAGNOSTICS: -INLINE_CLASS_DEPRECATED
package foo
@@ -24,3 +25,15 @@ interface <!WRONG_EXPORTED_DECLARATION("interface")!>SomeInterface<!>
@JsExport
external interface GoodInterface
@JsExport
value class <!WRONG_EXPORTED_DECLARATION("value class")!>A(val a: Int)<!>
@JsExport
inline class <!WRONG_EXPORTED_DECLARATION("inline class")!>B(val b: Int)<!>
@JsExport
inline value class <!WRONG_EXPORTED_DECLARATION("inline value class")!>C(val c: Int)<!>
@JsExport
value inline class <!WRONG_EXPORTED_DECLARATION("inline value class")!>D(val d: Int)<!>