git.delta.rocks / jrsonnet / refs/commits / 6db420cedf84

difftreelog

refactor(evaluator) remove inline variant of argument parsing

Лач2020-06-26parent: #9e9c937.patch.diff
in: master

2 files changed

modifiedcrates/jsonnet-evaluator/src/function.rsdiffbeforeafterboth
16 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}
22
23/// See [parse_function_call](parse_function_call)
24///
25/// ## Notes
26/// This function is always inlined for tailstrict
27pub(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() {
modifiedcrates/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,