[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
@@ -5,6 +5,14 @@ package foo {
@kotlin.js.JsExport public inline fun </*0*/ reified T> inlineReifiedFun(/*0*/ x: kotlin.Any): kotlin.Boolean
@kotlin.js.JsExport public suspend fun suspendFun(): kotlin.Unit
@kotlin.js.JsExport public final value class A {
public constructor A(/*0*/ a: kotlin.Int)
public final val a: kotlin.Int
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}
@kotlin.js.JsExport public final annotation class AnnotationClass : kotlin.Annotation {
public constructor AnnotationClass()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -12,6 +20,30 @@ package foo {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.js.JsExport public final inline class B {
public constructor B(/*0*/ b: kotlin.Int)
public final val b: kotlin.Int
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}
@kotlin.js.JsExport public final inline value class C {
public constructor C(/*0*/ c: kotlin.Int)
public final val c: kotlin.Int
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}
@kotlin.js.JsExport public final inline value class D {
public constructor D(/*0*/ d: kotlin.Int)
public final val d: kotlin.Int
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}
@kotlin.js.JsExport public final enum class EnumClass : kotlin.Enum<foo.EnumClass> {
enum entry ENTRY1