description

# fillRange method

void fillRange(

1. int start,
2. int end, [
3. E? fill

])
override

Overwrites a range of elements with `fillValue`.

Sets the positions greater than or equal to `start` and less than `end`, to `fillValue`.

The provided range, given by `start` and `end`, must be valid. A range from `start` to `end` is valid if 0 ≤ `start` ≤ `end` ≤ length. An empty range (with `end == start`) is valid.

If the element type is not nullable, the `fillValue` must be provided and must be non-`null`.

Example:

    final words = List.filled(5, 'old');
    print(words); // [old, old, old, old, old]
    words.fillRange(1, 3, 'new');
    print(words); // [old, new, new, old, old]

## Implementation

    void fillRange(int start, int end, [E? fill]) {
      // Hoist the case to fail eagerly if the user provides an invalid `null`
      // value (or omits it) when E is a non-nullable type.
      E value = fill as E;
      RangeError.checkValidRange(start, end, this.length);
      for (int i = start; i < end; i++) {
        this[i] = value;
      }
    }