insert method
Inserts the object at position index
in this list.
This increases the length of the list by one and shifts all objects at or after the index towards the end of the list.
An error occurs if the index
is less than 0 or greater than length.
An UnsupportedError occurs if the list is fixed-length.
Implementation
void insert(int index, E element) {
RangeError.checkValueInInterval(index, 0, length, "index");
if (index == this.length) {
add(element);
return;
}
// We are modifying the length just below the is-check. Without the check
// Array.copy could throw an exception, leaving the list in a bad state
// (with a length that has been increased, but without a new element).
if (index is! int) throw new ArgumentError(index);
this.length++;
setRange(index + 1, this.length, this, index);
this[index] = element;
}