| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 import 'version_range.dart'; | 5 import 'version_range.dart'; |
| 6 | 6 |
| 7 /// Returns whether [range1] is immediately next to, but not overlapping, | 7 /// Returns whether [range1] is immediately next to, but not overlapping, |
| 8 /// [range2]. | 8 /// [range2]. |
| 9 bool areAdjacent(VersionRange range1, VersionRange range2) { | 9 bool areAdjacent(VersionRange range1, VersionRange range2) { |
| 10 if (range1.max != range2.min) return false; | 10 if (range1.max != range2.min) return false; |
| 11 | 11 |
| 12 return (range1.includeMax && !range2.includeMin) || | 12 return (range1.includeMax && !range2.includeMin) || |
| 13 (!range1.includeMax && range2.includeMin); | 13 (!range1.includeMax && range2.includeMin); |
| 14 } | 14 } |
| 15 | 15 |
| 16 /// A [Comparator] that compares the maximum versions of [range1] and [range2]. | 16 /// A [Comparator] that compares the maximum versions of [range1] and [range2]. |
| 17 int compareMax(VersionRange range1, VersionRange range2) { | 17 int compareMax(VersionRange range1, VersionRange range2) { |
| 18 if (range1.max < range2.max) return -1; | 18 if (range1.max == null) { |
| 19 if (range1.max > range2.max) return 1; | 19 if (range2.max == null) return 0; |
| 20 return 1; |
| 21 } else if (range2.max == null) { |
| 22 return -1; |
| 23 } |
| 20 | 24 |
| 21 if (!range1.includeMax && range2.includeMax) return -1; | 25 var result = range1.max.compareTo(range2.max); |
| 22 if (range1.includeMax && !range2.includeMax) return 1; | 26 if (result != 0) return result; |
| 27 if (range1.includeMax != range2.includeMax) return range1.includeMax ? 1 : -1; |
| 23 return 0; | 28 return 0; |
| 24 } | 29 } |
| OLD | NEW |