From 56fe3090ef64fd295e574efde0edf2e702416c86 Mon Sep 17 00:00:00 2001 From: Лач Date: Mon, 01 Jun 2020 19:31:11 +0000 Subject: [PATCH] feat(evaluator): Expr::Arr support --- --- a/crates/jsonnet-evaluator/src/evaluate.rs +++ b/crates/jsonnet-evaluator/src/evaluate.rs @@ -250,8 +250,6 @@ } pub fn evaluate(context: Context, eval_state: EvaluationState, expr: &LocExpr) -> Val { - println!("==="); - eval_state.print_stack_trace(); use Expr::*; eval_state.clone().push(expr.clone(), "expr".to_owned(), || { let LocExpr(expr, loc) = expr; @@ -330,6 +328,13 @@ .into_future(future_context); evaluate(context, eval_state.clone(), &returned.clone()) } + Arr(items) => { + let mut out = Vec::with_capacity(items.len()); + for item in items { + out.push(evaluate(context.clone(), eval_state.clone(), item)); + } + Val::Arr(out) + } Obj(body) => Val::Obj(evaluate_object(context, eval_state, body.clone())), Apply(value, ArgsDesc(args)) => { let value = evaluate(context.clone(), eval_state.clone(), value).unwrap_if_lazy(); -- gitstuff