diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/IrUtils.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/IrUtils.kt index 1508000b1c9..c50bc4a1e82 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/IrUtils.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/IrUtils.kt @@ -395,9 +395,6 @@ fun IrClass.simpleFunctions() = declarations.flatMap { } } -val IrClass.primaryConstructor: IrConstructor? - get() = constructors.singleOrNull(IrConstructor::isPrimary) - fun IrClass.createParameterDeclarations() { assert (thisReceiver == null) diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmInlineClassLowering.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmInlineClassLowering.kt index 0ee54ff8538..3f09cda950b 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmInlineClassLowering.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmInlineClassLowering.kt @@ -8,7 +8,6 @@ package org.jetbrains.kotlin.backend.jvm.lower import org.jetbrains.kotlin.backend.common.FileLoweringPass import org.jetbrains.kotlin.backend.common.ir.copyParameterDeclarationsFrom import org.jetbrains.kotlin.backend.common.ir.passTypeArgumentsFrom -import org.jetbrains.kotlin.backend.common.ir.primaryConstructor import org.jetbrains.kotlin.backend.common.lower.createIrBuilder import org.jetbrains.kotlin.backend.common.lower.irBlockBody import org.jetbrains.kotlin.backend.common.phaser.makeIrFilePhase @@ -324,7 +323,7 @@ private class JvmInlineClassLowering(private val context: JvmBackendContext) : F private fun buildPrimaryInlineClassConstructor(irClass: IrClass, irConstructor: IrConstructor) { // Add the default primary constructor - val primaryConstructor = irClass.addConstructor { + irClass.addConstructor { updateFrom(irConstructor) visibility = Visibilities.PRIVATE origin = JvmLoweredDeclarationOrigin.SYNTHETIC_INLINE_CLASS_MEMBER diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/inlineclasses/InlineClassAbi.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/inlineclasses/InlineClassAbi.kt index 7a698d6f400..1127dbdef5d 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/inlineclasses/InlineClassAbi.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/inlineclasses/InlineClassAbi.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.backend.jvm.lower.inlineclasses -import org.jetbrains.kotlin.backend.common.ir.primaryConstructor import org.jetbrains.kotlin.backend.jvm.ir.erasedUpperBound import org.jetbrains.kotlin.codegen.state.md5base64 import org.jetbrains.kotlin.ir.declarations.* diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt index 6e377ba4750..0e069a97496 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt @@ -189,6 +189,9 @@ val IrClassSymbol.constructors: Sequence val IrClass.constructors: Sequence get() = this.declarations.asSequence().filterIsInstance() +val IrClass.primaryConstructor: IrConstructor? + get() = this.declarations.singleOrNull { it is IrConstructor && it.isPrimary } as IrConstructor? + val IrDeclarationContainer.properties: Sequence get() = declarations.asSequence().filterIsInstance()