removeValues method

void removeValues(
  1. RangeList range
)

Removes the values in the specified range and decreases (if possible) the length down to (range.start).

Implementation

void removeValues(RangeList range) {
  if (_fixedLength) {
    throw StateError('Unable to remove the values from a fixed list.');
  }

  if (frozen) {
    _errorModificationNotAllowed();
  }

  if (range.start < 0) {
    throw RangeError(range.start);
  }

  _resetValues(range);
  if (_groups.isEmpty) {
    if (_length > range.start) {
      _length = range.start;
    }
  } else {
    var length = _groups.last.end + 1;
    if (length > range.start && length < range.end) {
      length = range.start;
    }

    _length = length;
  }
}