void addChildren(Iterable<SemanticsNode> children)

Append the given children as children of this node.

Source

void addChildren(Iterable<SemanticsNode> children) {
  _newChildren ??= <SemanticsNode>[];
  _newChildren.addAll(children);
  // we do the asserts afterwards because children is an Iterable
  // and doing the asserts before would mean the behavior is
  // different in checked mode vs release mode (if you walk an
  // iterator after having reached the end, it'll just start over;
  // the values are not cached).
  assert(!_newChildren.any((SemanticsNode child) => child == this));
  assert(() {
    SemanticsNode ancestor = this;
    while (ancestor.parent is SemanticsNode)
      ancestor = ancestor.parent;
    assert(!_newChildren.any((SemanticsNode child) => child == ancestor));
    return true;
  });
  assert(() {
    Set<SemanticsNode> seenChildren = new Set<SemanticsNode>();
    for (SemanticsNode child in _newChildren)
      assert(seenChildren.add(child)); // check for duplicate adds
    return true;
  });
}