operator []= method

  1. @override
void operator []=(
  1. int index,
  2. E? value
)
override

Sets the value at the given index in the list to value.

The index must be a valid index of this list, which means that index must be non-negative and less than length.

Implementation

@override
void operator []=(int index, E? value) {
  if (frozen) {
    _errorModificationNotAllowed();
  }

  if (index < 0 || index >= _length) {
    throw RangeError(index);
  }

  if (value == null && defaultValue != null) {
    ArgumentError(
        "Collection can\'t contains null because default value is not null.");
  }

  if (_equals(value, defaultValue)) {
    _resetValues(RangeList(index, index));
  } else {
    setGroup(GroupedRangeList<E>(index, index, value!));
  }
}