finalizeTriggerables method
Orders the triggerables topologically; throws StateError with the nodes involved when there is a cycle.
Implementation
void finalizeTriggerables(FormInstance mainInstance, EvaluationContext ec) {
_dag = _buildDag(_allTriggerables, _dagEdges(mainInstance, ec));
_relevancePerRepeat = {
for (final triggerable in _dag)
if (triggerable is Condition)
for (final target in triggerable.targets)
if (mainInstance.getTemplate(target) != null) target: triggerable,
};
}