From 2a89127f6da10cc4468cff2e69aff2cb25f73789 Mon Sep 17 00:00:00 2001 From: Semyon Proshev Date: Fri, 22 Dec 2017 12:49:39 +0300 Subject: [PATCH] Compare ints as big ints in python package version comparator --- .../jetbrains/python/packaging/PyPackageVersionComparator.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/src/com/jetbrains/python/packaging/PyPackageVersionComparator.kt b/python/src/com/jetbrains/python/packaging/PyPackageVersionComparator.kt index 408db76dcc71..186f314ef8f5 100644 --- a/python/src/com/jetbrains/python/packaging/PyPackageVersionComparator.kt +++ b/python/src/com/jetbrains/python/packaging/PyPackageVersionComparator.kt @@ -7,6 +7,7 @@ import com.jetbrains.python.packaging.requirement.PyRequirementVersion import com.jetbrains.python.packaging.requirement.PyRequirementVersionNormalizer import one.util.streamex.EntryStream import one.util.streamex.StreamEx +import java.math.BigInteger import java.util.stream.Stream /** @@ -133,7 +134,7 @@ object PyPackageVersionComparator : Comparator { */ private fun compareLocals(o1: PyPackageVersion, o2: PyPackageVersion) = (o1.local ?: "").compareTo(o2.local ?: "") - private fun compareAsInts(o1: String, o2: String) = o1.toInt().compareTo(o2.toInt()) + private fun compareAsInts(o1: String, o2: String) = BigInteger(o1).compareTo(BigInteger(o2)) private fun zipLongest(c1: Collection, c2: Collection, fillValue: E): EntryStream { val maxSize = maxOf(c1.size, c2.size).toLong()