diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/core/AbstractListCommonizer.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/core/AbstractListCommonizer.kt index fb9df4da730..c75a20a5d95 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/core/AbstractListCommonizer.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/core/AbstractListCommonizer.kt @@ -16,9 +16,9 @@ import org.jetbrains.kotlin.descriptors.commonizer.cir.CirType * Output: list of [CirType] */ abstract class AbstractListCommonizer( - private val singleElementCommonizerFactory: () -> Commonizer + private val singleElementCommonizerFactory: (Int) -> Commonizer ) : Commonizer, List> { - private var commonizers: List>? = null + private var commonizers: Array>? = null private var error = false final override val result: List @@ -29,10 +29,8 @@ abstract class AbstractListCommonizer( return false val commonizers = commonizers - ?: mutableListOf>().apply { - repeat(next.size) { - this += singleElementCommonizerFactory() - } + ?: Array(next.size) { index -> + singleElementCommonizerFactory(index) }.also { this.commonizers = it }