allowsAll method
Returns true
if this constraint allows all the versions that other
allows.
Implementation
@override
bool allowsAll(VersionConstraint other) {
var ourRanges = ranges.iterator;
var theirRanges = _rangesFor(other).iterator;
// Because both lists of ranges are ordered by minimum version, we can
// safely move through them linearly here.
var ourRangesMoved = ourRanges.moveNext();
var theirRangesMoved = theirRanges.moveNext();
while (ourRangesMoved && theirRangesMoved) {
if (ourRanges.current.allowsAll(theirRanges.current)) {
theirRangesMoved = theirRanges.moveNext();
} else {
ourRangesMoved = ourRanges.moveNext();
}
}
// If our ranges have allowed all of their ranges, we'll have consumed all
// of them.
return !theirRangesMoved;
}