evaluateRef method

EvaluateOutput evaluateRef(
  1. EvaluateInput input
)

Implementation

EvaluateOutput evaluateRef(EvaluateInput input) {
  final ref = input.expr.ref;
  final st = input.defStack.find(ref.ident);
  if (st == null) {
    final ext = config.extension[ref.ident];
    if (ext == null) {
      return _errorReferenceNotFound(input.expr.path, ref.ident);
    }
    return ext(input.expr.path, {});
  }
  return evaluateExpr(EvaluateInput(defStack: st, expr: st.def.body));
}