apply method
List<(TreeReference, Object)>
apply(
- FormInstance instance,
- EvaluationContext parentContext,
- TreeReference context
Evaluates in context (a concrete instance of originalContext) and
applies the result to every matching target; returns the affected
references with the result.
Implementation
List<(TreeReference, Object)> apply(
FormInstance instance,
EvaluationContext parentContext,
TreeReference context,
) {
final ungenericised = originalContext.contextualize(context)!;
final ec = EvaluationContext.withContext(parentContext, ungenericised);
final result = eval(instance, ec);
final affected = <(TreeReference, Object)>[];
for (final target in _targets) {
final targetRef = target.contextualize(ec.contextRef)!;
for (final ref in ec.expandReference(targetRef)!) {
applyResult(ref, result, instance);
affected.add((ref, result));
}
}
return affected;
}