difftreelog
refactor(evaluator) remove inline variant of argument parsing
in: master
2 files changed
crates/jsonnet-evaluator/src/function.rsdiffbeforeafterboth16 params: &ParamsDesc,16 params: &ParamsDesc,17 args: &ArgsDesc,17 args: &ArgsDesc,18 tailstrict: bool,18 tailstrict: bool,19) -> Result<Context> {19) -> Result<Context> {20 inline_parse_function_call(ctx, body_ctx, params, args, tailstrict)21}2223/// See [parse_function_call](parse_function_call)24///25/// ## Notes26/// This function is always inlined for tailstrict27pub(crate) fn inline_parse_function_call(28 ctx: Context,29 body_ctx: Option<Context>,30 params: &ParamsDesc,31 args: &ArgsDesc,32 tailstrict: bool,33) -> Result<Context> {34 let mut out = HashMap::new();20 let mut out = HashMap::new();35 let mut positioned_args = vec![None; params.0.len()];21 let mut positioned_args = vec![None; params.0.len()];36 for (id, arg) in args.iter().enumerate() {22 for (id, arg) in args.iter().enumerate() {crates/jsonnet-evaluator/src/val.rsdiffbeforeafterboth--- a/crates/jsonnet-evaluator/src/val.rs
+++ b/crates/jsonnet-evaluator/src/val.rs
@@ -1,6 +1,6 @@
use crate::{
create_error, evaluate,
- function::{inline_parse_function_call, place_args},
+ function::{parse_function_call, place_args},
Context, Error, ObjValue, Result,
};
use jsonnet_parser::{ArgsDesc, LocExpr, ParamsDesc};
@@ -65,7 +65,7 @@
impl FuncDesc {
/// This function is always inlined to make tailstrict work
pub fn evaluate(&self, call_ctx: Context, args: &ArgsDesc, tailstrict: bool) -> Result<Val> {
- let ctx = inline_parse_function_call(
+ let ctx = parse_function_call(
call_ctx,
Some(self.ctx.clone()),
&self.params,