Index: lib/src/utils.dart |
diff --git a/lib/src/utils.dart b/lib/src/utils.dart |
index 74d015ac1fb56bc9be15582d913da901cb29c285..6493ddac51caa46fcb96e1aa45cc88dfe29810ad 100644 |
--- a/lib/src/utils.dart |
+++ b/lib/src/utils.dart |
@@ -15,10 +15,15 @@ bool areAdjacent(VersionRange range1, VersionRange range2) { |
/// A [Comparator] that compares the maximum versions of [range1] and [range2]. |
int compareMax(VersionRange range1, VersionRange range2) { |
- if (range1.max < range2.max) return -1; |
- if (range1.max > range2.max) return 1; |
+ if (range1.max == null) { |
+ if (range2.max == null) return 0; |
+ return 1; |
+ } else if (range2.max == null) { |
+ return -1; |
+ } |
- if (!range1.includeMax && range2.includeMax) return -1; |
- if (range1.includeMax && !range2.includeMax) return 1; |
+ var result = range1.max.compareTo(range2.max); |
+ if (result != 0) return result; |
+ if (range1.includeMax != range2.includeMax) return range1.includeMax ? 1 : -1; |
return 0; |
} |