[Commonizer] Use Array instead of List in AbstractListCommonizer
This commit is contained in:
+4
-6
@@ -16,9 +16,9 @@ import org.jetbrains.kotlin.descriptors.commonizer.cir.CirType
|
|||||||
* Output: list of [CirType]
|
* Output: list of [CirType]
|
||||||
*/
|
*/
|
||||||
abstract class AbstractListCommonizer<T, R>(
|
abstract class AbstractListCommonizer<T, R>(
|
||||||
private val singleElementCommonizerFactory: () -> Commonizer<T, R>
|
private val singleElementCommonizerFactory: (Int) -> Commonizer<T, R>
|
||||||
) : Commonizer<List<T>, List<R>> {
|
) : Commonizer<List<T>, List<R>> {
|
||||||
private var commonizers: List<Commonizer<T, R>>? = null
|
private var commonizers: Array<Commonizer<T, R>>? = null
|
||||||
private var error = false
|
private var error = false
|
||||||
|
|
||||||
final override val result: List<R>
|
final override val result: List<R>
|
||||||
@@ -29,10 +29,8 @@ abstract class AbstractListCommonizer<T, R>(
|
|||||||
return false
|
return false
|
||||||
|
|
||||||
val commonizers = commonizers
|
val commonizers = commonizers
|
||||||
?: mutableListOf<Commonizer<T, R>>().apply {
|
?: Array(next.size) { index ->
|
||||||
repeat(next.size) {
|
singleElementCommonizerFactory(index)
|
||||||
this += singleElementCommonizerFactory()
|
|
||||||
}
|
|
||||||
}.also {
|
}.also {
|
||||||
this.commonizers = it
|
this.commonizers = it
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user