From 756b58d5cec13531921fa7bc6957ebf7551680d7 Mon Sep 17 00:00:00 2001 From: Sergej Jaskiewicz Date: Tue, 16 Nov 2021 13:49:43 +0300 Subject: [PATCH] [JS IR] Don't assume a single constructor in the Char class --- .../src/org/jetbrains/kotlin/ir/backend/js/JsIntrinsics.kt | 1 - .../org/jetbrains/kotlin/ir/backend/js/lower/ConstLowering.kt | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIntrinsics.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIntrinsics.kt index 8165c008eae..3897b24d20e 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIntrinsics.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIntrinsics.kt @@ -192,7 +192,6 @@ class JsIntrinsics(private val irBuiltIns: IrBuiltIns, val context: JsIrBackendC }!! val charClassSymbol = getInternalClassWithoutPackage("kotlin.Char") - val charConstructor = charClassSymbol.constructors.single().owner val stringClassSymbol = getInternalClassWithoutPackage("kotlin.String") val stringConstructorSymbol = stringClassSymbol.constructors.single() diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/ConstLowering.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/ConstLowering.kt index 4dfd7501e3e..07beb17f347 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/ConstLowering.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/ConstLowering.kt @@ -31,7 +31,7 @@ class ConstTransformer(private val context: JsIrBackendContext) : IrElementTrans carrierFactory: (Int, Int, IrType, C) -> IrExpression, vararg args: C ): IrExpression { - val constructor = irClass.constructors.single() + val constructor = irClass.constructors.single { it.owner.isPrimary } val argType = constructor.owner.valueParameters.first().type return IrConstructorCallImpl.fromSymbolOwner(irClass.defaultType, constructor).apply { for (i in args.indices) {