From 9ef727747b1d6c93239bb03d3f49277c6045aef8 Mon Sep 17 00:00:00 2001 From: Dmitriy Dolovov Date: Wed, 5 Aug 2020 17:39:25 +0700 Subject: [PATCH] [Commonizer] Use Array instead of List in AbstractListCommonizer --- .../commonizer/core/AbstractListCommonizer.kt | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) 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 }