From 0560b2b0686668dc195f24268bcf67fa83bf7133 Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Thu, 19 Jan 2023 12:55:33 +0100 Subject: [PATCH] [K/N] Don't generate initializer function when it is empty --- .../kotlin/backend/konan/lower/InitializersLowering.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/InitializersLowering.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/InitializersLowering.kt index f189a3dd71a..7f1871a1692 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/InitializersLowering.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/InitializersLowering.kt @@ -104,6 +104,8 @@ internal class InitializersLowering(val context: CommonBackendContext) : ClassLo return null // Place initializers in the primary constructor. val allInitializers = constInitializers + initializers + if (allInitializers.isEmpty()) + return null val startOffset = irClass.startOffset val endOffset = irClass.endOffset val initializeFun = @@ -170,7 +172,7 @@ internal class InitializersLowering(val context: CommonBackendContext) : ClassLo it is IrInstanceInitializerCall -> { if (initializeMethodSymbol == null) { val allInitializers = constInitializers + initializers - assert(declaration.isPrimary) + require(declaration.isPrimary || allInitializers.isEmpty()) for (initializer in allInitializers) initializer.setDeclarationsParent(declaration) allInitializers