diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/export/ExportModelGenerator.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/export/ExportModelGenerator.kt index 379acfbb10b..429a0e94116 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/export/ExportModelGenerator.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/export/ExportModelGenerator.kt @@ -356,7 +356,7 @@ class ExportModelGenerator( val exportedClass = ExportedClass( name = name, isInterface = klass.isInterface, - isAbstract = klass.modality == Modality.ABSTRACT, + isAbstract = klass.modality == Modality.ABSTRACT || klass.modality == Modality.SEALED, superClass = superType, superInterfaces = superInterfaces, typeParameters = typeParameters, diff --git a/js/js.translator/testData/typescript-export/declarations/declarations.d.ts b/js/js.translator/testData/typescript-export/declarations/declarations.d.ts index 4c657fde1ce..00aaafa6163 100644 --- a/js/js.translator/testData/typescript-export/declarations/declarations.d.ts +++ b/js/js.translator/testData/typescript-export/declarations/declarations.d.ts @@ -62,7 +62,7 @@ declare namespace JS_TESTS { get x(): number; }; } - class TestSealed { + abstract class TestSealed { protected constructor(name: string); get name(): string; } diff --git a/js/js.translator/testData/typescript-export/declarations/declarations.kt b/js/js.translator/testData/typescript-export/declarations/declarations.kt index e303e357190..a2e27e85a07 100644 --- a/js/js.translator/testData/typescript-export/declarations/declarations.kt +++ b/js/js.translator/testData/typescript-export/declarations/declarations.kt @@ -216,7 +216,7 @@ class OuterClass { } @JsExport -class KT38262 { +open class KT38262 { fun then(): Int = 42 fun catch(): Int = 24 }