From 57f3c89602572e1292d8ea424d506795ec73b67a Mon Sep 17 00:00:00 2001 From: Лач Date: Wed, 22 Jul 2020 16:53:23 +0000 Subject: [PATCH] feat: add field access to stack --- --- a/crates/jrsonnet-evaluator/src/evaluate.rs +++ b/crates/jrsonnet-evaluator/src/evaluate.rs @@ -819,13 +819,23 @@ evaluate(context, index)?, ) { (Val::Obj(v), Val::Str(s)) => { - if let Some(v) = v.get(s.clone())? { - v.unwrap_if_lazy()? - } else if let Some(Val::Str(n)) = v.get("__intristic_namespace__".into())? { - Val::Intristic(n, s) - } else { - throw!(NoSuchField(s)) - } + let sn = s.clone(); + push( + &loc, + || format!("field <{}> access", sn), + || { + if let Some(v) = v.get(s.clone())? { + println!("{:?}", loc); + Ok(v.unwrap_if_lazy()?) + } else if let Some(Val::Str(n)) = + v.get("__intristic_namespace__".into())? + { + Ok(Val::Intristic(n, s)) + } else { + throw!(NoSuchField(s)) + } + }, + )? } (Val::Obj(_), n) => throw!(ValueIndexMustBeTypeGot( ValType::Obj, -- gitstuff