addAll method Null safety

  1. @override
void addAll(
  1. Iterable<Node> collection
)

Appends all objects of iterable to the end of this list.

Extends the length of the list by the number of objects in iterable. The list must be growable.

Implementation

@override
void addAll(Iterable<Node> collection) {
  // Note: we need to be careful if collection is another NodeList.
  // In particular:
  //   1. we need to copy the items before updating their parent pointers,
  //     _flattenDocFragments does a copy internally.
  //   2. we should update parent pointers in reverse order. That way they
  //      are removed from the original NodeList (if any) from the end, which
  //      is faster.
  final list = _flattenDocFragments(collection);
  for (var node in list.reversed) {
    _setParent(node);
  }
  super.addAll(list);
}