allowsAll method

  1. @override
bool allowsAll(
  1. VersionConstraint other
)
override

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;
}