diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/TowerGroup.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/TowerGroup.kt index 54d07082655..9f6a68cfabd 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/TowerGroup.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/TowerGroup.kt @@ -41,9 +41,9 @@ sealed class TowerGroupKind(private val index: Int) : Comparable } @Suppress("FunctionName", "unused", "PropertyName") -class TowerGroup private constructor(private val list: List) : Comparable { +class TowerGroup private constructor(private val kinds: Array) : Comparable { companion object { - private fun kindOf(kind: TowerGroupKind): TowerGroup = TowerGroup(listOf(kind)) + private fun kindOf(kind: TowerGroupKind): TowerGroup = TowerGroup(arrayOf(kind)) val Start = kindOf(TowerGroupKind.Start) @@ -64,7 +64,7 @@ class TowerGroup private constructor(private val list: List) : C val Last = kindOf(TowerGroupKind.Last) } - private fun kindOf(kind: TowerGroupKind): TowerGroup = TowerGroup(list + kind) + private fun kindOf(kind: TowerGroupKind): TowerGroup = TowerGroup(kinds + kind) fun Weakened(depth: Int) = kindOf(TowerGroupKind.Weakened(depth)) @@ -82,15 +82,15 @@ class TowerGroup private constructor(private val list: List) : C override fun compareTo(other: TowerGroup): Int { var index = 0 - while (index < list.size) { - if (index >= other.list.size) return 1 + while (index < kinds.size) { + if (index >= other.kinds.size) return 1 when { - list[index] < other.list[index] -> return -1 - list[index] > other.list[index] -> return 1 + kinds[index] < other.kinds[index] -> return -1 + kinds[index] > other.kinds[index] -> return 1 } index++ } - if (index < other.list.size) return -1 + if (index < other.kinds.size) return -1 return 0 } }