From ffa6b6233bf32e5691a89a2d6f8f481a114bbcf3 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 16 May 2018 12:19:11 +0200 Subject: [PATCH] Minor, make BinaryVersion.numbers private Use BinaryVersion.toArray instead, as in all other usages --- .../kotlin/metadata/deserialization/BinaryVersion.kt | 2 +- .../UnsupportedAbiVersionNotificationPanelProvider.kt | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/core/metadata/src/org/jetbrains/kotlin/metadata/deserialization/BinaryVersion.kt b/core/metadata/src/org/jetbrains/kotlin/metadata/deserialization/BinaryVersion.kt index ae6661847b7..9375b821953 100644 --- a/core/metadata/src/org/jetbrains/kotlin/metadata/deserialization/BinaryVersion.kt +++ b/core/metadata/src/org/jetbrains/kotlin/metadata/deserialization/BinaryVersion.kt @@ -14,7 +14,7 @@ package org.jetbrains.kotlin.metadata.deserialization * - Patch version can be increased freely and is only supposed to be used for debugging. Increase the patch version when you * make a change to binaries which is both forward- and backward compatible. */ -abstract class BinaryVersion(vararg val numbers: Int) { +abstract class BinaryVersion(private vararg val numbers: Int) { val major: Int = numbers.getOrNull(0) ?: UNKNOWN val minor: Int = numbers.getOrNull(1) ?: UNKNOWN val patch: Int = numbers.getOrNull(2) ?: UNKNOWN diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/versions/UnsupportedAbiVersionNotificationPanelProvider.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/versions/UnsupportedAbiVersionNotificationPanelProvider.kt index 4b7a3b3cbda..033923ef317 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/versions/UnsupportedAbiVersionNotificationPanelProvider.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/versions/UnsupportedAbiVersionNotificationPanelProvider.kt @@ -345,9 +345,11 @@ fun EditorNotificationPanel.createComponentActionLabel(labelText: String, callba } private operator fun BinaryVersion.compareTo(other: BinaryVersion): Int { - for (i in 0..Math.max(numbers.size, other.numbers.size) - 1) { - val thisPart = numbers.getOrNull(i) ?: -1 - val otherPart = other.numbers.getOrNull(i) ?: -1 + val first = this.toArray() + val second = other.toArray() + for (i in 0 until maxOf(first.size, second.size)) { + val thisPart = first.getOrNull(i) ?: -1 + val otherPart = second.getOrNull(i) ?: -1 if (thisPart != otherPart) { return thisPart - otherPart