collapseIndex method

void collapseIndex(
  1. FormIndex index,
  2. List<int> indexes,
  3. List<int> multiplicities,
  4. List<FormElement> elements,
)

Appends the child indices, multiplicities (0 outside repeats) and elements along index to the lists.

Implementation

void collapseIndex(
  FormIndex index,
  List<int> indexes,
  List<int> multiplicities,
  List<FormElement> elements,
) {
  if (!index.isInForm) return;
  FormElement element = this;
  for (FormIndex? level = index; level != null; level = level.nextLevel) {
    final i = level.localIndex;
    element = element.children[i];
    indexes.add(i);
    multiplicities.add(level.instanceIndex == -1 ? 0 : level.instanceIndex);
    elements.add(element);
  }
}