Compare ints as big ints in python package version comparator

This commit is contained in:
Semyon Proshev
2017-12-22 12:49:39 +03:00
parent 27c1389abc
commit 2a89127f6d
@@ -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<PyPackageVersion> {
*/
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 <E> zipLongest(c1: Collection<E>, c2: Collection<E>, fillValue: E): EntryStream<E, E> {
val maxSize = maxOf(c1.size, c2.size).toLong()