buildIndex method
The index for the given path (multiplicities are kept for repeats only).
Implementation
FormIndex? buildIndex(
List<int> indexes,
List<int> multiplicities,
List<FormElement> elements,
) {
FormIndex? cur;
final curMultiplicities = [...multiplicities];
final curElements = [...elements];
for (var i = indexes.length - 1; i >= 0; i--) {
final element = elements[i];
final mult = element is GroupDef && element.isRepeat
? multiplicities[i]
: -1;
cur = FormIndex(
indexes[i],
instanceIndex: mult,
nextLevel: cur,
reference: childInstanceRefOf(curElements, curMultiplicities),
);
curMultiplicities.removeLast();
curElements.removeLast();
}
return cur;
}