From ab84d0c67d11ed9ba9ae3d6322136b41d3ff7eb1 Mon Sep 17 00:00:00 2001 From: Yaroslav Bolyukin Date: Sun, 22 Mar 2026 14:57:51 +0000 Subject: [PATCH] refactor: more spans wanted from IR --- --- a/Cargo.lock +++ b/Cargo.lock @@ -672,6 +672,7 @@ "hi-doc", "indoc", "insta", + "jrsonnet-lexer", "jrsonnet-rowan-parser", ] @@ -716,6 +717,16 @@ ] [[package]] +name = "jrsonnet-ir-parser" +version = "0.5.0-pre97" +dependencies = [ + "insta", + "jrsonnet-gcmodule", + "jrsonnet-ir", + "jrsonnet-lexer", +] + +[[package]] name = "jrsonnet-lexer" version = "0.5.0-pre97" dependencies = [ --- a/Cargo.toml +++ b/Cargo.toml @@ -14,6 +14,7 @@ jrsonnet-evaluator = { path = "./crates/jrsonnet-evaluator", version = "0.5.0-pre97" } jrsonnet-macros = { path = "./crates/jrsonnet-macros", version = "0.5.0-pre97" } jrsonnet-ir = { path = "./crates/jrsonnet-ir", version = "0.5.0-pre97" } +jrsonnet-ir-parser = { path = "./crates/jrsonnet-rowan-parser", version = "0.5.0-pre97" } jrsonnet-peg-parser = { path = "./crates/jrsonnet-peg-parser", version = "0.5.0-pre97" } jrsonnet-rowan-parser = { path = "./crates/jrsonnet-rowan-parser", version = "0.5.0-pre97" } jrsonnet-interner = { path = "./crates/jrsonnet-interner", version = "0.5.0-pre97" } --- a/crates/jrsonnet-evaluator/src/arr/mod.rs +++ b/crates/jrsonnet-evaluator/src/arr/mod.rs @@ -7,7 +7,7 @@ use jrsonnet_gcmodule::{cc_dyn, Cc}; use jrsonnet_interner::IBytes; -use jrsonnet_ir::{Expr, Spanned}; +use jrsonnet_ir::Expr; use crate::{function::NativeFn, Context, Result, Thunk, Val}; --- a/crates/jrsonnet-evaluator/src/arr/spec.rs +++ b/crates/jrsonnet-evaluator/src/arr/spec.rs @@ -3,7 +3,7 @@ use jrsonnet_gcmodule::{Cc, Trace}; use jrsonnet_interner::{IBytes, IStr}; -use jrsonnet_ir::{Expr, Spanned}; +use jrsonnet_ir::Expr; use super::ArrValue; use crate::function::NativeFn; --- a/crates/jrsonnet-evaluator/src/error.rs +++ b/crates/jrsonnet-evaluator/src/error.rs @@ -290,7 +290,7 @@ } impl ErrorSource for &Spanned { fn to_location(self) -> Option { - Some(self.span()) + Some(self.span.clone()) } } impl ErrorSource for &Span { --- a/crates/jrsonnet-evaluator/src/evaluate/mod.rs +++ b/crates/jrsonnet-evaluator/src/evaluate/mod.rs @@ -49,15 +49,15 @@ pub fn evaluate_trivial(expr: &Expr) -> Option { fn is_trivial(expr: &Expr) -> bool { - match &*expr { + match expr { Expr::Str(_) | Expr::Num(_) | Expr::Literal(LiteralType::False | LiteralType::True | LiteralType::Null) => true, - Expr::Arr(a) => a.iter().all(|e| is_trivial(&*e)), + Expr::Arr(a) => a.iter().all(is_trivial), _ => false, } } - Some(match &*expr { + Some(match expr { Expr::Str(s) => Val::string(s.clone()), Expr::Num(n) => { Val::Num(NumValue::new(*n).expect("parser will not allow non-finite values")) @@ -71,7 +71,7 @@ } Val::Arr(ArrValue::eager( n.iter() - .map(|e| evaluate_trivial(&*e)) + .map(evaluate_trivial) .map(|e| e.expect("checked trivial")) .collect(), )) @@ -89,24 +89,21 @@ }))) } -pub fn evaluate_field_name(ctx: Context, field_name: &FieldName) -> Result> { - Ok(match field_name { +pub fn evaluate_field_name(ctx: Context, field_name: &Spanned) -> Result> { + Ok(match &field_name.value { FieldName::Fixed(n) => Some(n.clone()), - FieldName::Dyn(expr) => { - // FIXME: Span - let value = evaluate(ctx, expr)?; - if matches!(value, Val::Null) { - None - } else { - Some(IStr::from_untyped(value)?) - } - } // - // in_frame( - // CallLocation::new(&expr.span()), - // || "evaluating field name".to_string(), - // || { - // }, - // )?, + FieldName::Dyn(expr) => in_frame( + CallLocation::new(&field_name.span), + || "evaluating field name".to_string(), + || { + let v = evaluate(ctx, expr)?; + Ok(if matches!(v, Val::Null) { + None + } else { + Some(IStr::from_untyped(v)?) + }) + }, + )?, }) } @@ -117,18 +114,21 @@ ) -> Result<()> { match specs.first() { None => callback(ctx)?, - Some(CompSpec::IfSpec(Spanned(IfSpecData(cond), _))) => { + Some(CompSpec::IfSpec(IfSpecData { cond, span: _ })) => { if bool::from_untyped(evaluate(ctx.clone(), cond)?)? { evaluate_comp(ctx, &specs[1..], callback)?; } } - Some(CompSpec::ForSpec(Spanned(ForSpecData(var, expr), _))) => { - match evaluate(ctx.clone(), expr)? { + Some(CompSpec::ForSpec(ForSpecData { + destruct: into, + over, + })) => { + match evaluate(ctx.clone(), over)? { Val::Arr(list) => { for item in list.iter_lazy() { let fctx = Pending::new(); - let mut new_bindings = FxHashMap::with_capacity(var.binds_len()); - destruct(var, item, fctx.clone(), &mut new_bindings)?; + let mut new_bindings = FxHashMap::with_capacity(into.binds_len()); + destruct(into, item, fctx.clone(), &mut new_bindings)?; let ctx = ctx.clone().extend_bindings(new_bindings).into_future(fctx); evaluate_comp(ctx, &specs[1..], callback)?; @@ -235,8 +235,7 @@ .field(name.clone()) .with_add(*plus) .with_visibility(*visibility) - // FIXME - // .with_location(value.span()) + .with_location(field.name.span.clone()) .bindable(UnboundValue { uctx, value: value.clone(), @@ -361,13 +360,13 @@ let value = &assertion.0; let msg = &assertion.1; let assertion_result = in_frame( - CallLocation::new(&value.span()), + CallLocation::new(&value.span), || "assertion condition".to_owned(), || bool::from_untyped(evaluate(ctx.clone(), value)?), )?; if !assertion_result { in_frame( - CallLocation::new(&value.span()), + CallLocation::new(&value.span), || "assertion failure".to_owned(), || { if let Some(msg) = msg { @@ -389,7 +388,7 @@ pub fn evaluate_named(ctx: Context, expr: &Expr, name: IStr) -> Result { use Expr::*; - Ok(match &*expr { + Ok(match expr { Function(params, body) => evaluate_method(ctx, name, params.clone(), body.clone()), _ => evaluate(ctx, expr)?, }) @@ -433,7 +432,7 @@ BinaryOp(bin) => evaluate_binary_op_special(ctx, &bin.lhs, bin.op, &bin.rhs)?, UnaryOp(o, v) => evaluate_unary_op(*o, &evaluate(ctx, v)?)?, Var(name) => in_frame( - CallLocation::new(&name.span()), + CallLocation::new(&name.span), || format!("local <{}> access", &**name), || ctx.binding((**name).clone())?.evaluate(), )?, @@ -591,13 +590,7 @@ &Val::Obj(evaluate_object(ctx, b)?), )?, Apply(value, args, tailstrict) => ensure_sufficient_stack(|| { - evaluate_apply( - ctx, - value, - args, - CallLocation::new(&args.span()), - *tailstrict, - ) + evaluate_apply(ctx, value, args, CallLocation::new(&args.span), *tailstrict) })?, Function(params, body) => { evaluate_method(ctx, "anonymous".into(), params.clone(), body.clone()) @@ -607,20 +600,16 @@ evaluate(ctx, &assert.rest)? } ErrorStmt(s, e) => in_frame( - CallLocation::new(&s), + CallLocation::new(s), || "error statement".to_owned(), || bail!(RuntimeError(evaluate(ctx, e)?.to_string()?,)), )?, IfElse(if_else) => { - if - // FIXME - //in_frame( - // CallLocation::new(&if_else.cond.0.span()), - // || "if condition".to_owned(), - // || - bool::from_untyped(evaluate(ctx.clone(), &if_else.cond.0)?)? - // )? - { + if in_frame( + CallLocation::new(&if_else.cond.span), + || "if condition".to_owned(), + || bool::from_untyped(evaluate(ctx.clone(), &if_else.cond.cond)?), + )? { evaluate(ctx, &if_else.cond_then)? } else { match &if_else.cond_else { @@ -637,7 +626,7 @@ ) -> Result> { if let Some(value) = expr { Ok(in_frame( - CallLocation::new(&value.span()), + CallLocation::new(&value.span), || format!("slice {desc}"), || >::from_untyped(evaluate(ctx, value)?), )?) @@ -659,11 +648,11 @@ bail!("computed imports are not supported") }; with_state(|s| { - let span = kind.span(); + let span = &kind.span; let resolved_path = s.resolve_from(span.0.source_path(), path)?; Ok(match &**kind { ImportKind::Normal => in_frame( - CallLocation::new(&span), + CallLocation::new(span), || format!("import {:?}", path.clone()), || s.import_resolved(resolved_path), )?, --- a/crates/jrsonnet-evaluator/src/evaluate/operator.rs +++ b/crates/jrsonnet-evaluator/src/evaluate/operator.rs @@ -1,6 +1,6 @@ use std::cmp::Ordering; -use jrsonnet_ir::{BinaryOpType, Expr, Spanned, UnaryOpType}; +use jrsonnet_ir::{BinaryOpType, Expr, UnaryOpType}; use crate::{ arr::ArrValue, --- a/crates/jrsonnet-evaluator/src/function/mod.rs +++ b/crates/jrsonnet-evaluator/src/function/mod.rs @@ -3,7 +3,7 @@ use educe::Educe; use jrsonnet_gcmodule::{Cc, Trace}; use jrsonnet_interner::IStr; -use jrsonnet_ir::{ArgsDesc, Destruct, Expr, ExprParams, Span, Spanned}; +use jrsonnet_ir::{ArgsDesc, Destruct, Expr, ExprParams, Span}; pub use jrsonnet_macros::builtin; use self::{ --- a/crates/jrsonnet-evaluator/src/lib.rs +++ b/crates/jrsonnet-evaluator/src/lib.rs @@ -42,10 +42,10 @@ pub use import::*; use jrsonnet_gcmodule::{cc_dyn, Cc, Trace}; pub use jrsonnet_interner::{IBytes, IStr}; +pub use jrsonnet_ir as parser; +use jrsonnet_ir::{Expr, Source, SourcePath}; #[doc(hidden)] pub use jrsonnet_macros; -pub use jrsonnet_ir as parser; -use jrsonnet_ir::{Expr, Source, SourcePath, Spanned}; use jrsonnet_peg_parser::ParserSettings; pub use obj::*; pub use rustc_hash; --- /dev/null +++ b/crates/jrsonnet-ir-parser/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "jrsonnet-ir-parser" +authors.workspace = true +edition.workspace = true +license.workspace = true +repository.workspace = true +version.workspace = true + +[dependencies] +insta.workspace = true +jrsonnet-gcmodule.workspace = true +jrsonnet-ir.workspace = true +jrsonnet-lexer = { version = "0.5.0-pre97", path = "../jrsonnet-lexer" } + +[lints] +workspace = true --- /dev/null +++ b/crates/jrsonnet-ir-parser/src/lib.rs @@ -0,0 +1,183 @@ +use std::rc::Rc; + +use insta::assert_snapshot; +use jrsonnet_gcmodule::Acyclic; +use jrsonnet_ir::{ + AssertExpr, AssertStmt, Expr, IfElse, IfSpecData, LiteralType, Slice, SliceDesc, Source, + SourceVirtual, Span, Spanned, +}; +use jrsonnet_lexer::{Lexeme, Lexer, SyntaxKind, T}; + +struct Parser<'a> { + lexemes: Vec>, + offset: usize, + source: Source, +} + +impl<'a> Parser<'a> { + fn new(s: &'a str) -> Self { + Self { + lexemes: Lexer::new(s) + .filter(|l| l.kind != SyntaxKind::WHITESPACE) + .collect(), + offset: 0, + source: Source::new_virtual("".into(), s.into()), + } + } + fn peek(&self) -> SyntaxKind { + self.lexemes[self.offset].kind + } + fn text(&self) -> &str { + self.lexemes[self.offset].text + } + fn at(&self, kind: SyntaxKind) -> bool { + !self.at_eof() && self.peek() == kind + } + fn eat_any(&mut self) { + self.offset += 1 + } + + fn at_eof(&self) -> bool { + self.offset == self.lexemes.len() + } + + fn try_eat(&mut self, t: SyntaxKind) -> bool { + if self.at(t) { + self.eat_any(); + return true; + } + false + } + fn eat(&mut self, t: SyntaxKind) { + assert_eq!(self.peek(), t); + self.eat_any(); + } + + fn span_start(&self) -> u32 { + self.lexemes[self.offset].range.0 + } + fn span_end(&self) -> u32 { + self.lexemes[self.offset - 1].range.1 + } +} + +fn literal(p: &mut Parser<'_>) -> Option { + let t = match p.peek() { + T![self] => LiteralType::This, + T![super] => LiteralType::Super, + T!['$'] => LiteralType::Dollar, + T![null] => LiteralType::Null, + T![true] => LiteralType::True, + T![false] => LiteralType::False, + _ => return None, + }; + p.eat_any(); + Some(t) +} + +fn spanned(p: &mut Parser<'_>, cb: impl FnOnce(&mut Parser<'_>) -> T) -> Spanned { + let start = p.span_start(); + let v = cb(p); + let end = p.span_end(); + + Spanned::new(v, Span(p.source.clone(), start, end)) +} + +fn assert_stmt(p: &mut Parser<'_>) -> AssertStmt { + p.eat(T![assert]); + let cond = spanned(p, expr); + dbg!(p.peek()); + let msg = if p.try_eat(T![:]) { + Some(spanned(p, expr)) + } else { + None + }; + dbg!(AssertStmt(cond, msg)) +} + +fn if_spec_data(p: &mut Parser<'_>) -> IfSpecData { + let v = spanned(p, |p| p.eat(T![if])); + let cond = expr(p); + IfSpecData { span: v.span, cond } +} + +fn if_else(p: &mut Parser<'_>) -> IfElse { + let cond = if_spec_data(p); + p.eat(T![then]); + let cond_then = expr(p); + let cond_else = if p.at(T![else]) { Some(expr(p)) } else { None }; + IfElse { + cond, + cond_then, + cond_else, + } +} + +fn slice_desc(p: &mut Parser<'_>, start: Option>) -> SliceDesc { + // start + p.eat(T![:]); + let end = if !p.at(T![:]) && !p.at(T![']']) { + Some(spanned(p, expr)) + } else { + None + }; + let step = if p.try_eat(T![:]) && !p.at(T![']']) { + Some(spanned(p, expr)) + } else { + None + }; + SliceDesc { start, end, step } +} + +fn expr_simple(p: &mut Parser<'_>) -> Expr { + let mut e = if let Some(literal) = literal(p) { + Expr::Literal(literal) + } else if p.at(T![assert]) { + let assert = assert_stmt(p); + p.eat(T![;]); + let rest = expr(p); + Expr::AssertExpr(Rc::new(AssertExpr { assert, rest })) + } else if p.at(T![if]) { + Expr::IfElse(Box::new(if_else(p))) + } else { + panic!("unexpected token: {:?}", p.peek()); + }; + + dbg!(&e); + + loop { + if p.try_eat(T!['[']) { + if p.at(T![:]) { + let slice = slice_desc(p, None); + e = Expr::Slice(Box::new(Slice { value: e, slice })); + p.eat(T![']']); + continue; + } + + let idx = spanned(p, expr); + if p.at(T![:]) { + let slice = slice_desc(p, Some(idx)); + e = Expr::Slice(Box::new(Slice { value: e, slice })); + } else { + } + p.eat(T![']']); + } else { + break; + } + } + + dbg!(e) +} + +fn expr(p: &mut Parser<'_>) -> Expr { + expr_simple(p) +} + +#[test] +fn basic_test() { + let mut parser = Parser::new(" assert true[false] : false ; true "); + let e = expr(&mut parser); + let l = &parser.lexemes; + + assert_snapshot!(format!("{l:#?}\n\n---\n\n{e:#?}")); +} --- /dev/null +++ b/crates/jrsonnet-ir-parser/src/snapshots/jrsonnet_ir_parser__basic_test.snap @@ -0,0 +1,98 @@ +--- +source: crates/jrsonnet-ir-parser/src/lib.rs +expression: "format!(\"{l:#?}\\n\\n---\\n\\n{e:#?}\")" +--- +[ + Lexeme { + kind: ASSERT_KW, + text: "assert", + range: Span( + 1, + 7, + ), + }, + Lexeme { + kind: TRUE_KW, + text: "true", + range: Span( + 8, + 12, + ), + }, + Lexeme { + kind: L_BRACK, + text: "[", + range: Span( + 12, + 13, + ), + }, + Lexeme { + kind: FALSE_KW, + text: "false", + range: Span( + 13, + 18, + ), + }, + Lexeme { + kind: R_BRACK, + text: "]", + range: Span( + 18, + 19, + ), + }, + Lexeme { + kind: COLON, + text: ":", + range: Span( + 20, + 21, + ), + }, + Lexeme { + kind: FALSE_KW, + text: "false", + range: Span( + 22, + 27, + ), + }, + Lexeme { + kind: SEMI, + text: ";", + range: Span( + 28, + 29, + ), + }, + Lexeme { + kind: TRUE_KW, + text: "true", + range: Span( + 30, + 34, + ), + }, +] + +--- + +AssertExpr( + AssertExpr { + assert: AssertStmt( + Literal( + True, + ) from virtual::8-19, + Some( + Literal( + False, + ) from virtual::22-27, + ), + ), + rest: Literal( + True, + ), + }, +) --- a/crates/jrsonnet-ir/src/expr.rs +++ b/crates/jrsonnet-ir/src/expr.rs @@ -42,7 +42,7 @@ #[derive(Debug, PartialEq, Acyclic)] pub struct FieldMember { - pub name: FieldName, + pub name: Spanned, pub plus: bool, pub params: Option, pub visibility: Visibility, @@ -295,15 +295,21 @@ } #[derive(Debug, PartialEq, Acyclic)] -pub struct IfSpecData(pub Expr); +pub struct IfSpecData { + pub span: Span, + pub cond: Expr, +} #[derive(Debug, PartialEq, Acyclic)] -pub struct ForSpecData(pub Destruct, pub Expr); +pub struct ForSpecData { + pub destruct: Destruct, + pub over: Expr, +} #[derive(Debug, PartialEq, Acyclic)] pub enum CompSpec { - IfSpec(Spanned), - ForSpec(Spanned), + IfSpec(IfSpecData), + ForSpec(ForSpecData), } #[derive(Debug, PartialEq, Acyclic)] @@ -462,21 +468,20 @@ } #[derive(Clone, PartialEq, Acyclic)] -pub struct Spanned(pub T, pub Span); +pub struct Spanned { + pub value: T, + pub span: Span, +} impl Deref for Spanned { type Target = T; fn deref(&self) -> &Self::Target { - &self.0 + &self.value } } impl Spanned { #[inline] - pub fn new(v: T, s: Span) -> Self { - Self(v, s) - } - #[inline] - pub fn span(&self) -> Span { - self.1.clone() + pub fn new(value: T, span: Span) -> Self { + Self { value, span } } } @@ -488,7 +493,7 @@ } else { write!(f, "{:?}", expr)?; } - write!(f, " from {:?}", self.span())?; + write!(f, " from {:?}", self.span)?; Ok(()) } } --- a/crates/jrsonnet-peg-parser/src/lib.rs +++ b/crates/jrsonnet-peg-parser/src/lib.rs @@ -181,14 +181,14 @@ / "::" {Visibility::Hidden} / ":" {Visibility::Normal} pub rule field(s: &ParserSettings) -> FieldMember - = name:field_name(s) _ plus:"+"? _ visibility:visibility() _ value:expr(s) {FieldMember{ + = name:spanned(, s) _ plus:"+"? _ visibility:visibility() _ value:expr(s) {FieldMember{ name, plus: plus.is_some(), params: None, visibility, value: Rc::new(value), }} - / name:field_name(s) _ "(" _ params:params(s) _ ")" _ visibility:visibility() _ value:expr(s) {FieldMember{ + / name:spanned(, s) _ "(" _ params:params(s) _ ")" _ visibility:visibility() _ value:expr(s) {FieldMember{ name, plus: false, params: Some(params), @@ -239,11 +239,11 @@ }) } pub rule ifspec(s: &ParserSettings) -> IfSpecData - = keyword("if") _ expr:expr(s) {IfSpecData(expr)} + = i:spanned(, s) _ cond:expr(s) {IfSpecData { span: i.span, cond }} pub rule forspec(s: &ParserSettings) -> ForSpecData - = keyword("for") _ id:destruct(s) _ keyword("in") _ cond:expr(s) {ForSpecData(id, cond)} + = keyword("for") _ destruct:destruct(s) _ keyword("in") _ over:expr(s) { ForSpecData { destruct, over } } rule compspec(s: &ParserSettings) -> CompSpec - = i:spanned(, s) { CompSpec::IfSpec(i) } / f:spanned(, s) {CompSpec::ForSpec(f)} + = i:ifspec(s) { CompSpec::IfSpec(i) } / f:forspec(s) {CompSpec::ForSpec(f)} pub rule compspecs(s: &ParserSettings) -> Vec = specs:compspec(s) ++ _ {? if !matches!(specs[0], CompSpec::ForSpec(_)) { @@ -319,7 +319,7 @@ assert, rest })) } - / err_kw:spanned(, s) _ expr:expr(s) { Expr::ErrorStmt(err_kw.1, Box::new(expr)) } + / err_kw:spanned(, s) _ expr:expr(s) { Expr::ErrorStmt(err_kw.span, Box::new(expr)) } rule slice_part(s: &ParserSettings) -> Option> = _ e:(e:spanned(, s) _{e})? {e} @@ -396,14 +396,14 @@ } pub rule index_part(s: &ParserSettings) -> IndexPart = n:("?" _ ensure_null_coaelse())? "." _ value:id_loc(s) {IndexPart { - span: value.1, - value: value.0, + span: value.span, + value: value.value, #[cfg(feature = "exp-null-coaelse")] null_coaelse: n.is_some(), }} / n:("?" _ "." _ ensure_null_coaelse())? value:spanned(<"[" _ v:expr(s) _ "]" {v}>, s) {IndexPart { - span: value.1, - value: value.0, + span: value.span, + value: value.value, #[cfg(feature = "exp-null-coaelse")] null_coaelse: n.is_some(), }} @@ -423,140 +423,27 @@ } #[cfg(test)] -pub mod tests { - use insta::assert_snapshot; - use jrsonnet_ir::{IStr, Source}; - - use super::parse; - use crate::ParserSettings; - - fn parsep(s: &str) -> String { - let v = parse( - s, - &ParserSettings { - source: Source::new_virtual("".into(), IStr::empty()), - }, - ) - .unwrap(); - format!("{v:#?}") - } - - macro_rules! parse { - ($s:expr) => { - assert_snapshot!(parsep($s)); - }; - } - - #[test] - fn multiline_string() { - parse!("|||\n Hello world!\n a\n|||"); - parse!("|||\n Hello world!\n a\n|||"); - parse!("|||\n\t\tHello world!\n\t\t\ta\n|||"); - parse!("|||\n Hello world!\n a\n |||"); - } - - #[test] - fn slice() { - parse!("a[1:]"); - parse!("a[1::]"); - parse!("a[:1:]"); - parse!("a[::1]"); - parse!("str[:len - 1]"); - } - - #[test] - fn string_escaping() { - parse!(r#""Hello, \"world\"!""#); - parse!(r#"'Hello \'world\'!'"#); - parse!(r#"'\\\\'"#); - } - - #[test] - fn string_unescaping() { - parse!(r#""Hello\nWorld""#); - } - - #[test] - fn string_verbantim() { - parse!(r#"@"Hello\n""World""""#); - } - - #[test] - fn imports() { - parse!("import \"hello\""); - parse!("importstr \"garnish.txt\""); - parse!("importbin \"garnish.bin\""); - } - - #[test] - fn empty_object() { - parse!("{}"); - } +mod tests { + use std::fs; - #[test] - fn basic_math() { - parse!("2+2*2"); - parse!("2 + 2 * 2 "); - parse!("2+(2+2*2)"); - parse!("2//comment\n+//comment\n3/*test*/*/*test*/4"); - } + use insta::{assert_snapshot, glob}; + use jrsonnet_ir::{IStr, Source}; - #[test] - fn suffix() { - parse!("std.test"); - parse!("std(2)"); - parse!("std.test(2)"); - parse!("a[b]"); - } + use crate::{parse, ParserSettings}; #[test] - fn array_comp() { - parse!("[std.deepJoin(x) for x in arr]"); - } - - #[test] - fn reserved() { - parse!("null"); - parse!("nulla"); - } - - #[test] - fn multiple_args_buf() { - parse!("a(b, null_fields)"); - } - - #[test] - fn infix_precedence() { - parse!("!a && !b"); - parse!("!a / !b"); - } - - #[test] - fn double_negation() { - parse!("!!a"); - } - - #[test] - fn array_test_error() { - parse!("[a for a in b if c for e in f]"); - } - - #[test] - fn missing_newline_between_comment_and_eof() { - parse!( - "{a:1} - - //+213" - ); - } - - #[test] - fn default_param_before_nondefault() { - parse!("local x(foo = 'foo', bar) = null; null"); - } - - #[test] - fn add_location_info_to_all_sub_expressions() { - parse!("{} { local x = 1, x: x } + {}"); + fn snapshots() { + glob!("tests/*.jsonnet", |path| { + let input = fs::read_to_string(path).expect("read test file"); + let v = parse( + &input, + &ParserSettings { + source: Source::new_virtual("".into(), IStr::empty()), + }, + ) + .unwrap(); + let v = format!("{v:#?}"); + assert_snapshot!(v); + }); } } --- a/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__add_location_info_to_all_sub_expressions.snap +++ /dev/null @@ -1,57 +0,0 @@ ---- -source: crates/jrsonnet-peg-parser/src/lib.rs -expression: "parsep(\"{} { local x = 1, x: x } + {}\")" ---- -BinaryOp( - BinaryOp { - lhs: ObjExtend( - Obj( - MemberList( - ObjMembers { - locals: [], - asserts: [], - fields: [], - }, - ), - ) from virtual::0-2, - MemberList( - ObjMembers { - locals: [ - Field { - into: Full( - "x", - ), - value: Num( - 1.0, - ) from virtual::15-16, - }, - ], - asserts: [], - fields: [ - FieldMember { - name: Fixed( - "x", - ), - plus: false, - params: None, - visibility: Normal, - value: Var( - "x", - ) from virtual::21-22, - }, - ], - }, - ), - ) from virtual::0-24, - op: Add, - rhs: Obj( - MemberList( - ObjMembers { - locals: [], - asserts: [], - fields: [], - }, - ), - ) from virtual::27-29, - }, -) from virtual::0-29 --- a/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__array_comp.snap +++ /dev/null @@ -1,41 +0,0 @@ ---- -source: crates/jrsonnet-peg-parser/src/lib.rs -expression: "parsep(\"[std.deepJoin(x) for x in arr]\")" ---- -ArrComp( - Apply( - Index { - indexable: Var( - "std", - ) from virtual::1-4, - parts: [ - IndexPart { - value: Str( - "deepJoin", - ) from virtual::5-13, - }, - ], - } from virtual::1-13, - ArgsDesc { - unnamed: [ - Var( - "x", - ) from virtual::14-15, - ], - named: [], - }, - false, - ) from virtual::1-16, - [ - ForSpec( - ForSpecData( - Full( - "x", - ), - Var( - "arr", - ) from virtual::26-29, - ), - ), - ], -) from virtual::0-30 --- a/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__array_test_error.snap +++ /dev/null @@ -1,38 +0,0 @@ ---- -source: crates/jrsonnet-peg-parser/src/lib.rs -expression: "parsep(\"[a for a in b if c for e in f]\")" ---- -ArrComp( - Var( - "a", - ) from virtual::1-2, - [ - ForSpec( - ForSpecData( - Full( - "a", - ), - Var( - "b", - ) from virtual::12-13, - ), - ), - IfSpec( - IfSpecData( - Var( - "c", - ) from virtual::17-18, - ), - ), - ForSpec( - ForSpecData( - Full( - "e", - ), - Var( - "f", - ) from virtual::28-29, - ), - ), - ], -) from virtual::0-30 --- a/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__basic_math.snap +++ /dev/null @@ -1,23 +0,0 @@ ---- -source: crates/jrsonnet-peg-parser/src/lib.rs -expression: "parsep(\"2+2*2\")" ---- -BinaryOp( - BinaryOp { - lhs: Num( - 2.0, - ) from virtual::0-1, - op: Add, - rhs: BinaryOp( - BinaryOp { - lhs: Num( - 2.0, - ) from virtual::2-3, - op: Mul, - rhs: Num( - 2.0, - ) from virtual::4-5, - }, - ) from virtual::2-5, - }, -) from virtual::0-5 --- a/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__default_param_before_nondefault.snap +++ /dev/null @@ -1,54 +0,0 @@ ---- -source: crates/jrsonnet-peg-parser/src/lib.rs -expression: "parsep(\"local x(foo = 'foo', bar) = null; null\")" ---- -LocalExpr( - [ - Function { - name: "x", - params: ExprParams { - exprs: [ - ExprParam { - destruct: Full( - "foo", - ), - default: Some( - Str( - "foo", - ) from virtual::14-19, - ), - }, - ExprParam { - destruct: Full( - "bar", - ), - default: None, - }, - ], - signature: FunctionSignature( - [ - ParamParse { - name: Named( - "foo", - ), - default: Exists, - }, - ParamParse { - name: Named( - "bar", - ), - default: None, - }, - ], - ), - binds_len: 2, - }, - value: Literal( - Null, - ) from virtual::28-32, - }, - ], - Literal( - Null, - ) from virtual::34-38, -) from virtual::0-38 --- a/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__double_negation.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: crates/jrsonnet-peg-parser/src/lib.rs -expression: "parsep(\"!!a\")" ---- -UnaryOp( - Not, - UnaryOp( - Not, - Var( - "a", - ) from virtual::2-3, - ) from virtual::1-3, -) from virtual::0-3 --- a/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__empty_object.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: crates/jrsonnet-peg-parser/src/lib.rs -expression: "parsep(\"{}\")" ---- -Obj( - MemberList( - ObjMembers { - locals: [], - asserts: [], - fields: [], - }, - ), -) from virtual::0-2 --- a/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__imports.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: crates/jrsonnet-peg-parser/src/lib.rs -expression: "parsep(\"import \\\"hello\\\"\")" ---- -Import( - Normal, - Str( - "hello", - ) from virtual::7-14, -) from virtual::0-14 --- a/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__infix_precedence.snap +++ /dev/null @@ -1,21 +0,0 @@ ---- -source: crates/jrsonnet-peg-parser/src/lib.rs -expression: "parsep(\"!a && !b\")" ---- -BinaryOp( - BinaryOp { - lhs: UnaryOp( - Not, - Var( - "a", - ) from virtual::1-2, - ) from virtual::0-2, - op: And, - rhs: UnaryOp( - Not, - Var( - "b", - ) from virtual::7-8, - ) from virtual::6-8, - }, -) from virtual::0-8 --- a/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__missing_newline_between_comment_and_eof.snap +++ /dev/null @@ -1,25 +0,0 @@ ---- -source: crates/jrsonnet-peg-parser/src/lib.rs -expression: "parsep(\"{a:1}\n\n\t\t\t//+213\")" ---- -Obj( - MemberList( - ObjMembers { - locals: [], - asserts: [], - fields: [ - FieldMember { - name: Fixed( - "a", - ), - plus: false, - params: None, - visibility: Normal, - value: Num( - 1.0, - ) from virtual::3-4, - }, - ], - }, - ), -) from virtual::0-5 --- a/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__multiline_string.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: crates/jrsonnet-peg-parser/src/lib.rs -expression: "parsep(\"|||\\n Hello world!\\n a\\n|||\")" ---- -Str( - "Hello world!\n a\n", -) from virtual::0-31 --- a/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__multiple_args_buf.snap +++ /dev/null @@ -1,21 +0,0 @@ ---- -source: crates/jrsonnet-peg-parser/src/lib.rs -expression: "parsep(\"a(b, null_fields)\")" ---- -Apply( - Var( - "a", - ) from virtual::0-1, - ArgsDesc { - unnamed: [ - Var( - "b", - ) from virtual::2-3, - Var( - "null_fields", - ) from virtual::5-16, - ], - named: [], - }, - false, -) from virtual::0-17 --- a/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__reserved.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: crates/jrsonnet-peg-parser/src/lib.rs -expression: "parsep(\"null\")" ---- -Literal( - Null, -) from virtual::0-4 --- a/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__slice.snap +++ /dev/null @@ -1,20 +0,0 @@ ---- -source: crates/jrsonnet-peg-parser/src/lib.rs -expression: "parsep(\"a[1:]\")" ---- -Slice( - Slice { - value: Var( - "a", - ) from virtual::0-1, - slice: SliceDesc { - start: Some( - Num( - 1.0, - ) from virtual::2-3, - ), - end: None, - step: None, - }, - }, -) from virtual::0-5 --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__snapshots@array_comp.jsonnet.snap @@ -0,0 +1,82 @@ +--- +source: crates/jrsonnet-peg-parser/src/lib.rs +expression: v +input_file: crates/jrsonnet-peg-parser/src/tests/array_comp.jsonnet +--- +Arr( + [ + ArrComp( + Apply( + Index { + indexable: Var( + "std" from virtual::3-6, + ), + parts: [ + IndexPart { + span: virtual::7-15, + value: Str( + "deepJoin", + ), + }, + ], + }, + ArgsDesc { + unnamed: [ + Var( + "x" from virtual::16-17, + ), + ], + named: [], + } from virtual::15-18, + false, + ), + [ + ForSpec( + ForSpecData { + destruct: Full( + "x", + ), + over: Var( + "arr" from virtual::28-31, + ), + }, + ), + ], + ), + ArrComp( + Var( + "a" from virtual::35-36, + ), + [ + ForSpec( + ForSpecData { + destruct: Full( + "a", + ), + over: Var( + "b" from virtual::46-47, + ), + }, + ), + IfSpec( + IfSpecData { + span: virtual::48-50, + cond: Var( + "c" from virtual::51-52, + ), + }, + ), + ForSpec( + ForSpecData { + destruct: Full( + "e", + ), + over: Var( + "f" from virtual::62-63, + ), + }, + ), + ], + ), + ], +) --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__snapshots@basic_math.jsonnet.snap @@ -0,0 +1,120 @@ +--- +source: crates/jrsonnet-peg-parser/src/lib.rs +expression: v +input_file: crates/jrsonnet-peg-parser/src/tests/basic_math.jsonnet +--- +Arr( + [ + BinaryOp( + BinaryOp { + lhs: Num( + 2.0, + ), + op: Add, + rhs: BinaryOp( + BinaryOp { + lhs: Num( + 2.0, + ), + op: Mul, + rhs: Num( + 2.0, + ), + }, + ), + }, + ), + BinaryOp( + BinaryOp { + lhs: Num( + 2.0, + ), + op: Add, + rhs: BinaryOp( + BinaryOp { + lhs: Num( + 2.0, + ), + op: Mul, + rhs: Num( + 2.0, + ), + }, + ), + }, + ), + BinaryOp( + BinaryOp { + lhs: BinaryOp( + BinaryOp { + lhs: Num( + 2.0, + ), + op: Add, + rhs: Num( + 2.0, + ), + }, + ), + op: Add, + rhs: BinaryOp( + BinaryOp { + lhs: Num( + 2.0, + ), + op: Mul, + rhs: Num( + 2.0, + ), + }, + ), + }, + ), + BinaryOp( + BinaryOp { + lhs: Num( + 2.0, + ), + op: Add, + rhs: BinaryOp( + BinaryOp { + lhs: Num( + 2.0, + ), + op: Add, + rhs: BinaryOp( + BinaryOp { + lhs: Num( + 2.0, + ), + op: Mul, + rhs: Num( + 2.0, + ), + }, + ), + }, + ), + }, + ), + BinaryOp( + BinaryOp { + lhs: Num( + 2.0, + ), + op: Add, + rhs: BinaryOp( + BinaryOp { + lhs: Num( + 3.0, + ), + op: Mul, + rhs: Num( + 4.0, + ), + }, + ), + }, + ), + ], +) --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__snapshots@comment_eof.jsonnet.snap @@ -0,0 +1,26 @@ +--- +source: crates/jrsonnet-peg-parser/src/lib.rs +expression: v +input_file: crates/jrsonnet-peg-parser/src/tests/comment_eof.jsonnet +--- +Obj( + MemberList( + ObjMembers { + locals: [], + asserts: [], + fields: [ + FieldMember { + name: Fixed( + "a", + ) from virtual::1-2, + plus: false, + params: None, + visibility: Normal, + value: Num( + 1.0, + ), + }, + ], + }, + ), +) --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__snapshots@default_nondefault.jsonnet.snap @@ -0,0 +1,55 @@ +--- +source: crates/jrsonnet-peg-parser/src/lib.rs +expression: v +input_file: crates/jrsonnet-peg-parser/src/tests/default_nondefault.jsonnet +--- +LocalExpr( + [ + Function { + name: "x", + params: ExprParams { + exprs: [ + ExprParam { + destruct: Full( + "foo", + ), + default: Some( + Str( + "foo", + ), + ), + }, + ExprParam { + destruct: Full( + "bar", + ), + default: None, + }, + ], + signature: FunctionSignature( + [ + ParamParse { + name: Named( + "foo", + ), + default: Exists, + }, + ParamParse { + name: Named( + "bar", + ), + default: None, + }, + ], + ), + binds_len: 2, + }, + value: Literal( + Null, + ), + }, + ], + Literal( + Null, + ), +) --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__snapshots@empty_object.jsonnet.snap @@ -0,0 +1,14 @@ +--- +source: crates/jrsonnet-peg-parser/src/lib.rs +expression: v +input_file: crates/jrsonnet-peg-parser/src/tests/empty_object.jsonnet +--- +Obj( + MemberList( + ObjMembers { + locals: [], + asserts: [], + fields: [], + }, + ), +) --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__snapshots@imports.jsonnet.snap @@ -0,0 +1,27 @@ +--- +source: crates/jrsonnet-peg-parser/src/lib.rs +expression: v +input_file: crates/jrsonnet-peg-parser/src/tests/imports.jsonnet +--- +Arr( + [ + Import( + Normal from virtual::2-8, + Str( + "hello", + ), + ), + Import( + Str from virtual::18-27, + Str( + "garnish.txt", + ), + ), + Import( + Bin from virtual::43-52, + Str( + "garnish.bin", + ), + ), + ], +) --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__snapshots@infix.jsonnet.snap @@ -0,0 +1,52 @@ +--- +source: crates/jrsonnet-peg-parser/src/lib.rs +expression: v +input_file: crates/jrsonnet-peg-parser/src/tests/infix.jsonnet +--- +Arr( + [ + BinaryOp( + BinaryOp { + lhs: UnaryOp( + Not, + Var( + "a" from virtual::3-4, + ), + ), + op: And, + rhs: UnaryOp( + Not, + Var( + "b" from virtual::9-10, + ), + ), + }, + ), + BinaryOp( + BinaryOp { + lhs: UnaryOp( + Not, + Var( + "a" from virtual::13-14, + ), + ), + op: Div, + rhs: UnaryOp( + Not, + Var( + "b" from virtual::18-19, + ), + ), + }, + ), + UnaryOp( + Not, + UnaryOp( + Not, + Var( + "a" from virtual::23-24, + ), + ), + ), + ], +) --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__snapshots@multiline.jsonnet.snap @@ -0,0 +1,21 @@ +--- +source: crates/jrsonnet-peg-parser/src/lib.rs +expression: v +input_file: crates/jrsonnet-peg-parser/src/tests/multiline.jsonnet +--- +Arr( + [ + Str( + "Hello world!\na\n", + ), + Str( + "Hello world!\na\n", + ), + Str( + "Hello world!\n\ta\n", + ), + Str( + "Hello world!\n a\n", + ), + ], +) --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__snapshots@reserved.jsonnet.snap @@ -0,0 +1,32 @@ +--- +source: crates/jrsonnet-peg-parser/src/lib.rs +expression: v +input_file: crates/jrsonnet-peg-parser/src/tests/reserved.jsonnet +--- +Arr( + [ + Literal( + Null, + ), + Var( + "nulla" from virtual::8-13, + ), + Apply( + Var( + "a" from virtual::15-16, + ), + ArgsDesc { + unnamed: [ + Var( + "b" from virtual::17-18, + ), + Var( + "null_fields" from virtual::20-31, + ), + ], + named: [], + } from virtual::16-32, + false, + ), + ], +) --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__snapshots@slice.jsonnet.snap @@ -0,0 +1,97 @@ +--- +source: crates/jrsonnet-peg-parser/src/lib.rs +expression: v +input_file: crates/jrsonnet-peg-parser/src/tests/slice.jsonnet +--- +Arr( + [ + Slice( + Slice { + value: Var( + "a" from virtual::2-3, + ), + slice: SliceDesc { + start: Some( + Num( + 1.0, + ) from virtual::4-5, + ), + end: None, + step: None, + }, + }, + ), + Slice( + Slice { + value: Var( + "a" from virtual::9-10, + ), + slice: SliceDesc { + start: Some( + Num( + 1.0, + ) from virtual::11-12, + ), + end: None, + step: None, + }, + }, + ), + Slice( + Slice { + value: Var( + "a" from virtual::17-18, + ), + slice: SliceDesc { + start: None, + end: Some( + Num( + 1.0, + ) from virtual::20-21, + ), + step: None, + }, + }, + ), + Slice( + Slice { + value: Var( + "a" from virtual::25-26, + ), + slice: SliceDesc { + start: None, + end: None, + step: Some( + Num( + 1.0, + ) from virtual::29-30, + ), + }, + }, + ), + Slice( + Slice { + value: Var( + "str" from virtual::33-36, + ), + slice: SliceDesc { + start: None, + end: Some( + BinaryOp( + BinaryOp { + lhs: Var( + "len" from virtual::38-41, + ), + op: Sub, + rhs: Num( + 1.0, + ), + }, + ) from virtual::38-45, + ), + step: None, + }, + }, + ), + ], +) --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__snapshots@string_escaping.jsonnet.snap @@ -0,0 +1,24 @@ +--- +source: crates/jrsonnet-peg-parser/src/lib.rs +expression: v +input_file: crates/jrsonnet-peg-parser/src/tests/string_escaping.jsonnet +--- +Arr( + [ + Str( + "Hello, \"world\"!", + ), + Str( + "Hello 'world'!", + ), + Str( + "\\\\", + ), + Str( + "Hello\nWorld", + ), + Str( + "Hello\\n\"World\"", + ), + ], +) --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__snapshots@subexp.jsonnet.snap @@ -0,0 +1,58 @@ +--- +source: crates/jrsonnet-peg-parser/src/lib.rs +expression: v +input_file: crates/jrsonnet-peg-parser/src/tests/subexp.jsonnet +--- +BinaryOp( + BinaryOp { + lhs: ObjExtend( + Obj( + MemberList( + ObjMembers { + locals: [], + asserts: [], + fields: [], + }, + ), + ), + MemberList( + ObjMembers { + locals: [ + Field { + into: Full( + "x", + ), + value: Num( + 1.0, + ), + }, + ], + asserts: [], + fields: [ + FieldMember { + name: Fixed( + "x", + ) from virtual::18-19, + plus: false, + params: None, + visibility: Normal, + value: Var( + "x" from virtual::21-22, + ), + }, + ], + }, + ), + ), + op: Add, + rhs: Obj( + MemberList( + ObjMembers { + locals: [], + asserts: [], + fields: [], + }, + ), + ), + }, +) --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__snapshots@suffix.jsonnet.snap @@ -0,0 +1,73 @@ +--- +source: crates/jrsonnet-peg-parser/src/lib.rs +expression: v +input_file: crates/jrsonnet-peg-parser/src/tests/suffix.jsonnet +--- +Arr( + [ + Index { + indexable: Var( + "std" from virtual::2-5, + ), + parts: [ + IndexPart { + span: virtual::6-10, + value: Str( + "test", + ), + }, + ], + }, + Apply( + Var( + "std" from virtual::12-15, + ), + ArgsDesc { + unnamed: [ + Num( + 2.0, + ), + ], + named: [], + } from virtual::15-18, + false, + ), + Apply( + Index { + indexable: Var( + "std" from virtual::20-23, + ), + parts: [ + IndexPart { + span: virtual::24-28, + value: Str( + "test", + ), + }, + ], + }, + ArgsDesc { + unnamed: [ + Num( + 2.0, + ), + ], + named: [], + } from virtual::28-31, + false, + ), + Index { + indexable: Var( + "a" from virtual::33-34, + ), + parts: [ + IndexPart { + span: virtual::34-37, + value: Var( + "b" from virtual::35-36, + ), + }, + ], + }, + ], +) --- a/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__string_escaping.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: crates/jrsonnet-peg-parser/src/lib.rs -expression: "parsep(r#\"\"Hello, \\\"world\\\"!\"\"#)" ---- -Str( - "Hello, \"world\"!", -) from virtual::0-19 --- a/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__string_unescaping.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: crates/jrsonnet-peg-parser/src/lib.rs -expression: "parsep(r#\"\"Hello\\nWorld\"\"#)" ---- -Str( - "Hello\nWorld", -) from virtual::0-14 --- a/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__string_verbantim.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: crates/jrsonnet-peg-parser/src/lib.rs -expression: "parsep(r#\"@\"Hello\\n\"\"World\"\"\"\"#)" ---- -Str( - "Hello\\n\"World\"", -) from virtual::0-19 --- a/crates/jrsonnet-peg-parser/src/snapshots/jrsonnet_peg_parser__tests__suffix.snap +++ /dev/null @@ -1,16 +0,0 @@ ---- -source: crates/jrsonnet-peg-parser/src/lib.rs -expression: "parsep(\"std.test\")" ---- -Index { - indexable: Var( - "std", - ) from virtual::0-3, - parts: [ - IndexPart { - value: Str( - "test", - ) from virtual::4-8, - }, - ], -} from virtual::0-8 --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/tests/array_comp.jsonnet @@ -0,0 +1,4 @@ +[ +[std.deepJoin(x) for x in arr], +[a for a in b if c for e in f], +] --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/tests/basic_math.jsonnet @@ -0,0 +1,9 @@ +[ +2+2*2, +2 + 2 * 2 , +2+2+2*2, +2+(2+2*2), +2//comment ++//comment +3/*test*/*/*test*/4, +] --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/tests/comment_eof.jsonnet @@ -0,0 +1,4 @@ +{a:1} + +//+213 + --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/tests/default_nondefault.jsonnet @@ -0,0 +1 @@ +local x(foo = 'foo', bar) = null; null --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/tests/empty_object.jsonnet @@ -0,0 +1 @@ +{} --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/tests/imports.jsonnet @@ -0,0 +1,5 @@ +[ +import "hello", +importstr "garnish.txt", +importbin "garnish.bin", +] --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/tests/infix.jsonnet @@ -0,0 +1,5 @@ +[ +!a && !b, +!a / !b, +!!a, +] --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/tests/multiline.jsonnet @@ -0,0 +1,18 @@ +[ +||| + Hello world! + a +|||, +||| + Hello world! + a +|||, +||| + Hello world! + a +|||, +||| + Hello world! + a + |||, +] --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/tests/reserved.jsonnet @@ -0,0 +1,5 @@ +[ +null, +nulla, +a(b, null_fields), +] --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/tests/slice.jsonnet @@ -0,0 +1,7 @@ +[ +a[1:], +a[1::], +a[:1:], +a[::1], +str[:len - 1], +] --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/tests/string_escaping.jsonnet @@ -0,0 +1,7 @@ +[ +"Hello, \"world\"!", +'Hello \'world\'!', +'\\\\', +"Hello\nWorld", +@"Hello\n""World""", +] --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/tests/subexp.jsonnet @@ -0,0 +1 @@ +{} { local x = 1, x: x } + {} --- /dev/null +++ b/crates/jrsonnet-peg-parser/src/tests/suffix.jsonnet @@ -0,0 +1,6 @@ +[ +std.test, +std(2), +std.test(2), +a[b], +] --- a/tests/cpp_test_suite_golden_override/error.01.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.01.jsonnet.golden @@ -1,5 +1,5 @@ runtime error: foo - error.01.jsonnet:17:29-41: error statement - error.01.jsonnet:18:29-40: function call - error.01.jsonnet:19:28-39: function call - error.01.jsonnet:20:1-11: function call + error.01.jsonnet:17:29-35: error statement + error.01.jsonnet:18:36-40: function call + error.01.jsonnet:19:35-39: function call + error.01.jsonnet:20:7-11: function call \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.02.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.02.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: Foo. - error.02.jsonnet:17:1-14: error statement + error.02.jsonnet:17:1-7: error statement \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.03.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.03.jsonnet.golden @@ -1,3 +1,3 @@ runtime error: foo - error.03.jsonnet:17:21-33: error statement - error.03.jsonnet:18:8-10: field access + error.03.jsonnet:17:21-27: error statement + error.03.jsonnet:18:8-10: field access \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.04.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.04.jsonnet.golden @@ -1,3 +1,3 @@ runtime error: foo - error.04.jsonnet:17:21-33: error statement - field evaluation + error.04.jsonnet:17:21-27: error statement + field evaluation \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.05.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.05.jsonnet.golden @@ -1,4 +1,4 @@ runtime error: foo - error.05.jsonnet:17:21-33: error statement + error.05.jsonnet:17:21-27: error statement field evaluation - field manifestification + field manifestification \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.06.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.06.jsonnet.golden @@ -1,3 +1,3 @@ attempted to divide by zero error.06.jsonnet:18:22-26: local access - error.06.jsonnet:19:1-5: function call \ No newline at end of file + error.06.jsonnet:19:2-5: function call \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.07.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.07.jsonnet.golden @@ -1,4 +1,4 @@ runtime error: sarcasm - error.07.jsonnet:18:31-47: error statement - error.07.jsonnet:18:15-55: function call + error.07.jsonnet:18:31-37: error statement + error.07.jsonnet:18:20-55: function call error.07.jsonnet:19:1-7: local access \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.08.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.08.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: {"a": 1, "b": 2, "c": 3} - error.08.jsonnet:18:1-9: error statement \ No newline at end of file + error.08.jsonnet:18:1-7: error statement \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.assert_equal_obj.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.assert_equal_obj.jsonnet.golden @@ -5,4 +5,4 @@ B: { "b": 1 } - error.assert_equal_obj.jsonnet:17:1-37: function call \ No newline at end of file + error.assert_equal_obj.jsonnet:17:16-37: function call \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.assert_equal_str.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.assert_equal_str.jsonnet.golden @@ -8,4 +8,4 @@ four - error.assert_equal_str.jsonnet:17:1-46: function call \ No newline at end of file + error.assert_equal_str.jsonnet:17:16-46: function call \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.computed_field_scope.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.computed_field_scope.jsonnet.golden @@ -1,3 +1,3 @@ local is not defined: x error.computed_field_scope.jsonnet:17:21-23: local access - error.computed_field_scope.jsonnet:17:21-23: evaluating field name \ No newline at end of file + error.computed_field_scope.jsonnet:17:20-24: evaluating field name \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.decodeUTF8_float.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.decodeUTF8_float.jsonnet.golden @@ -1,3 +1,3 @@ runtime error: cannot convert number with fractional part to u8 argument evaluation - error.decodeUTF8_float.jsonnet:1:1-24: function call \ No newline at end of file + error.decodeUTF8_float.jsonnet:1:15-24: function call \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.decodeUTF8_nan.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.decodeUTF8_nan.jsonnet.golden @@ -1,4 +1,4 @@ type error: expected BoundedNumber<0, 255>, got string at self[0] array index 0 argument evaluation - error.decodeUTF8_nan.jsonnet:1:1-25: function call \ No newline at end of file + error.decodeUTF8_nan.jsonnet:1:15-25: function call \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.function_duplicate_arg.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.function_duplicate_arg.jsonnet.golden @@ -1,2 +1,2 @@ argument x is already bound - error.function_duplicate_arg.jsonnet:17:1-30: function call \ No newline at end of file + error.function_duplicate_arg.jsonnet:17:21-30: function call \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.function_too_many_args.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.function_too_many_args.jsonnet.golden @@ -1,3 +1,3 @@ too many args, function has 2 Function has the following signature: (a, b) - error.function_too_many_args.jsonnet:19:1-14: function call \ No newline at end of file + error.function_too_many_args.jsonnet:19:4-14: function call \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.import_static-check-failure.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.import_static-check-failure.jsonnet.golden @@ -1,3 +1,3 @@ local is not defined: x - static_check_failure.jsonnet:2:1-3: local access - error.import_static-check-failure.jsonnet:1:1-43: import "lib/static_check_failure.jsonnet" \ No newline at end of file + static_check_failure.jsonnet:2:1-3: local access + error.import_static-check-failure.jsonnet:1:1-8: import "lib/static_check_failure.jsonnet" \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.import_syntax-error.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.import_syntax-error.jsonnet.golden @@ -1,3 +1,3 @@ syntax error: expected one of "\\\\", "\\u", "\\x", ['"'], ['\\'], [_], got "EOF" syntax_error.jsonnet:1:3 - error.import_syntax-error.jsonnet:1:1-35: import "lib/syntax_error.jsonnet" \ No newline at end of file + error.import_syntax-error.jsonnet:1:1-8: import "lib/syntax_error.jsonnet" \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.inside_equals_array.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.inside_equals_array.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: foobar - error.inside_equals_array.jsonnet:18:18-33: error statement \ No newline at end of file + error.inside_equals_array.jsonnet:18:18-24: error statement \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.inside_equals_object.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.inside_equals_object.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: foobar - error.inside_equals_object.jsonnet:18:22-37: error statement \ No newline at end of file + error.inside_equals_object.jsonnet:18:22-28: error statement \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.inside_tostring_array.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.inside_tostring_array.jsonnet.golden @@ -1,3 +1,3 @@ runtime error: foobar - error.inside_tostring_array.jsonnet:17:8-23: error statement + error.inside_tostring_array.jsonnet:17:8-14: error statement elem <2> evaluation \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.inside_tostring_object.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.inside_tostring_object.jsonnet.golden @@ -1,3 +1,3 @@ runtime error: foobar - error.inside_tostring_object.jsonnet:17:12-27: error statement + error.inside_tostring_object.jsonnet:17:12-18: error statement field evaluation \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.invariant.option.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.invariant.option.jsonnet.golden @@ -1,6 +1,6 @@ type error: expected array, got string argument evaluation - error.invariant.option.jsonnet:19:21-56: function call + error.invariant.option.jsonnet:19:33-56: function call argument evaluation - error.invariant.option.jsonnet:19:10-57: function call + error.invariant.option.jsonnet:19:20-57: function call error.invariant.option.jsonnet:19:10-61: assertion condition \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.invariant.simple3.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.invariant.simple3.jsonnet.golden @@ -1,3 +1,3 @@ runtime error: my error message - error.invariant.simple3.jsonnet:18:10-35: error statement + error.invariant.simple3.jsonnet:18:10-16: error statement error.invariant.simple3.jsonnet:18:10-35: assertion condition \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.manifest_toml_null_value.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.manifest_toml_null_value.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: tried to manifest null - error.manifest_toml_null_value.jsonnet:17:1-55: function call \ No newline at end of file + error.manifest_toml_null_value.jsonnet:17:19-55: function call \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.manifest_toml_wrong_type.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.manifest_toml_wrong_type.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected object, got array argument evaluation - error.manifest_toml_wrong_type.jsonnet:17:1-30: function call \ No newline at end of file + error.manifest_toml_wrong_type.jsonnet:17:19-30: function call \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.parse_json.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.parse_json.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: failed to parse json: expected value at line 1 column 1 - error.parse_json.jsonnet:1:1-30: function call \ No newline at end of file + error.parse_json.jsonnet:1:14-30: function call \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.recursive_function_nonterm.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.recursive_function_nonterm.jsonnet.golden @@ -1,201 +1,201 @@ stack overflow, try to reduce recursion, or set --max-stack to bigger value - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:18:3-8: function call - error.recursive_function_nonterm.jsonnet:20:1-7: function call \ No newline at end of file + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:18:4-8: function call + error.recursive_function_nonterm.jsonnet:20:2-7: function call \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.recursive_import.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.recursive_import.jsonnet.golden @@ -1,2 +1,2 @@ infinite recursion detected - error.recursive_import.jsonnet:17:15-55: import "error.recursive_import.jsonnet" \ No newline at end of file + error.recursive_import.jsonnet:17:15-22: import "error.recursive_import.jsonnet" \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.sanity.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.sanity.jsonnet.golden @@ -1,4 +1,4 @@ runtime error: assertion failed: A != B A: 1 B: 2 - error.sanity.jsonnet:17:1-23: function call \ No newline at end of file + error.sanity.jsonnet:17:16-23: function call \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.std_join_types1.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.std_join_types1.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: in std.join all items should be strings - error.std_join_types1.jsonnet:17:1-27: function call \ No newline at end of file + error.std_join_types1.jsonnet:17:9-27: function call \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.std_join_types2.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.std_join_types2.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: in std.join all items should be arrays - error.std_join_types2.jsonnet:17:1-32: function call \ No newline at end of file + error.std_join_types2.jsonnet:17:9-32: function call \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.std_makeArray_negative.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.std_makeArray_negative.jsonnet.golden @@ -1,3 +1,3 @@ type error: number out of bounds: -10 not in 0..2147483647 argument evaluation - error.std_makeArray_negative.jsonnet:17:1-38: function call \ No newline at end of file + error.std_makeArray_negative.jsonnet:17:14-38: function call \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.std_maxArray.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.std_maxArray.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: expected non-empty array - error.std_maxArray.jsonnet:1:1-18: function call \ No newline at end of file + error.std_maxArray.jsonnet:1:13-18: function call \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.std_minArray.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.std_minArray.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: expected non-empty array - error.std_minArray.jsonnet:1:1-18: function call \ No newline at end of file + error.std_minArray.jsonnet:1:13-18: function call \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.std_parseJson.nodigitsep.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.std_parseJson.nodigitsep.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: failed to parse json: trailing characters at line 1 column 4 - error.std_parseJson.nodigitsep.jsonnet:1:1-26: function call \ No newline at end of file + error.std_parseJson.nodigitsep.jsonnet:1:14-26: function call \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.trace_three_param.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.trace_three_param.jsonnet.golden @@ -1,5 +1,5 @@ too many args, function has 2 Function has the following signature: (str, rest = ) - error.trace_three_param.jsonnet:17:11-33: function call + error.trace_three_param.jsonnet:17:20-33: function call error.trace_three_param.jsonnet:19:6-8: local access field evaluation \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.trace_zero_param.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.trace_zero_param.jsonnet.golden @@ -1,5 +1,5 @@ function argument is not passed: str Function has the following signature: (str, rest = ) - error.trace_zero_param.jsonnet:17:11-23: function call + error.trace_zero_param.jsonnet:17:20-23: function call error.trace_zero_param.jsonnet:19:6-8: local access field evaluation \ No newline at end of file --- a/tests/cpp_test_suite_golden_override/error.wrong_type.jsonnet.golden +++ b/tests/cpp_test_suite_golden_override/error.wrong_type.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected char, got number argument evaluation - error.wrong_type.jsonnet:1:1-19: function call \ No newline at end of file + error.wrong_type.jsonnet:1:14-19: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/arrcomp_if6.jsonnet.golden +++ b/tests/go_testdata_golden_override/arrcomp_if6.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: x - arrcomp_if6.jsonnet:1:20-30: error statement \ No newline at end of file + arrcomp_if6.jsonnet:1:20-26: error statement \ No newline at end of file --- a/tests/go_testdata_golden_override/assert_equal4.jsonnet.golden +++ b/tests/go_testdata_golden_override/assert_equal4.jsonnet.golden @@ -5,4 +5,4 @@ B: { "x": 2 } - assert_equal4.jsonnet:1:1-33: function call \ No newline at end of file + assert_equal4.jsonnet:1:16-33: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/assert_equal5.jsonnet.golden +++ b/tests/go_testdata_golden_override/assert_equal5.jsonnet.golden @@ -7,4 +7,4 @@ - assert_equal5.jsonnet:1:1-30: function call \ No newline at end of file + assert_equal5.jsonnet:1:16-30: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/assert_equal6.jsonnet.golden +++ b/tests/go_testdata_golden_override/assert_equal6.jsonnet.golden @@ -5,4 +5,4 @@ B: - assert_equal6.jsonnet:1:1-35: function call \ No newline at end of file + assert_equal6.jsonnet:1:16-35: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/bad_function_call.jsonnet.golden +++ b/tests/go_testdata_golden_override/bad_function_call.jsonnet.golden @@ -1,3 +1,3 @@ function argument is not passed: x Function has the following signature: (x) - bad_function_call.jsonnet:1:1-19: function call \ No newline at end of file + bad_function_call.jsonnet:1:16-19: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/bad_function_call2.jsonnet.golden +++ b/tests/go_testdata_golden_override/bad_function_call2.jsonnet.golden @@ -1,3 +1,3 @@ too many args, function has 1 Function has the following signature: (x) - bad_function_call2.jsonnet:1:1-23: function call \ No newline at end of file + bad_function_call2.jsonnet:1:16-23: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/bad_function_call_and_error.jsonnet.golden +++ b/tests/go_testdata_golden_override/bad_function_call_and_error.jsonnet.golden @@ -1,3 +1,3 @@ too many args, function has 1 Function has the following signature: (x) - bad_function_call_and_error.jsonnet:1:1-39: function call \ No newline at end of file + bad_function_call_and_error.jsonnet:1:16-39: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/bitwise_and4.jsonnet.golden +++ b/tests/go_testdata_golden_override/bitwise_and4.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: x - bitwise_and4.jsonnet:1:5-15: error statement \ No newline at end of file + bitwise_and4.jsonnet:1:5-11: error statement \ No newline at end of file --- a/tests/go_testdata_golden_override/bitwise_xor7.jsonnet.golden +++ b/tests/go_testdata_golden_override/bitwise_xor7.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: x - bitwise_xor7.jsonnet:1:5-15: error statement \ No newline at end of file + bitwise_xor7.jsonnet:1:5-11: error statement \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinBase64DecodeBytes_high_codepoint.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinBase64DecodeBytes_high_codepoint.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: invalid base64: Invalid symbol 196, offset 0. - builtinBase64DecodeBytes_high_codepoint.jsonnet:1:1-30: function call \ No newline at end of file + builtinBase64DecodeBytes_high_codepoint.jsonnet:1:22-30: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinBase64DecodeBytes_invalid_base64_data.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinBase64DecodeBytes_invalid_base64_data.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: invalid base64: Invalid input length: 5 - builtinBase64DecodeBytes_invalid_base64_data.jsonnet:1:1-32: function call \ No newline at end of file + builtinBase64DecodeBytes_invalid_base64_data.jsonnet:1:22-32: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinBase64DecodeBytes_wrong_type.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinBase64DecodeBytes_wrong_type.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected string, got number argument evaluation - builtinBase64DecodeBytes_wrong_type.jsonnet:1:1-26: function call \ No newline at end of file + builtinBase64DecodeBytes_wrong_type.jsonnet:1:22-26: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinBase64Decode_high_codepoint.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinBase64Decode_high_codepoint.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: invalid base64: Invalid symbol 196, offset 0. - builtinBase64Decode_high_codepoint.jsonnet:1:1-25: function call \ No newline at end of file + builtinBase64Decode_high_codepoint.jsonnet:1:17-25: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinBase64Decode_invalid_base64_data.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinBase64Decode_invalid_base64_data.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: invalid base64: Invalid input length: 5 - builtinBase64Decode_invalid_base64_data.jsonnet:1:1-27: function call \ No newline at end of file + builtinBase64Decode_invalid_base64_data.jsonnet:1:17-27: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinBase64Decode_wrong_type.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinBase64Decode_wrong_type.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected string, got number argument evaluation - builtinBase64Decode_wrong_type.jsonnet:1:1-21: function call \ No newline at end of file + builtinBase64Decode_wrong_type.jsonnet:1:17-21: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinBase64_invalid_byte_array.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinBase64_invalid_byte_array.jsonnet.golden @@ -2,4 +2,4 @@ - expected string, got array - expected BoundedNumber<0, 255>, got string at self[1] argument evaluation - builtinBase64_invalid_byte_array.jsonnet:1:1-24: function call \ No newline at end of file + builtinBase64_invalid_byte_array.jsonnet:1:11-24: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinBase64_invalid_byte_array1.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinBase64_invalid_byte_array1.jsonnet.golden @@ -2,4 +2,4 @@ - expected string, got array - number out of bounds: -1 not in 0..255 at self[1] argument evaluation - builtinBase64_invalid_byte_array1.jsonnet:1:1-21: function call \ No newline at end of file + builtinBase64_invalid_byte_array1.jsonnet:1:11-21: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinBase64_invalid_byte_array2.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinBase64_invalid_byte_array2.jsonnet.golden @@ -2,4 +2,4 @@ - expected string, got array - number out of bounds: 256 not in 0..255 at self[1] argument evaluation - builtinBase64_invalid_byte_array2.jsonnet:1:1-22: function call \ No newline at end of file + builtinBase64_invalid_byte_array2.jsonnet:1:11-22: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinBase64_non_string_non_array.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinBase64_non_string_non_array.jsonnet.golden @@ -2,4 +2,4 @@ - expected string, got number - expected Array>, got number argument evaluation - builtinBase64_non_string_non_array.jsonnet:1:1-15: function call \ No newline at end of file + builtinBase64_non_string_non_array.jsonnet:1:11-15: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinChar3.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinChar3.jsonnet.golden @@ -1,3 +1,3 @@ type error: number out of bounds: -1 not in 0..4294967295 argument evaluation - builtinChar3.jsonnet:1:1-14: function call \ No newline at end of file + builtinChar3.jsonnet:1:9-14: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinChar5.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinChar5.jsonnet.golden @@ -1,2 +1,2 @@ invalid unicode codepoint: 1114112 - builtinChar5.jsonnet:2:1-19: function call \ No newline at end of file + builtinChar5.jsonnet:2:9-19: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinChar7.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinChar7.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected BoundedNumber<0, 4294967295>, got string argument evaluation - builtinChar7.jsonnet:1:1-17: function call \ No newline at end of file + builtinChar7.jsonnet:1:9-17: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinIsEmpty2.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinIsEmpty2.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected string, got number argument evaluation - builtinIsEmpty2.jsonnet:1:1-17: function call \ No newline at end of file + builtinIsEmpty2.jsonnet:1:12-17: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinObjectFieldsEx_bad.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinObjectFieldsEx_bad.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected object, got number argument evaluation - builtinObjectFieldsEx_bad.jsonnet:1:1-30: function call \ No newline at end of file + builtinObjectFieldsEx_bad.jsonnet:1:19-30: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinObjectFieldsEx_bad2.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinObjectFieldsEx_bad2.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected boolean, got string argument evaluation - builtinObjectFieldsEx_bad2.jsonnet:1:1-31: function call \ No newline at end of file + builtinObjectFieldsEx_bad2.jsonnet:1:19-31: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinObjectHasExBadBoolean.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinObjectHasExBadBoolean.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected boolean, got string argument evaluation - builtinObjectHasExBadBoolean.jsonnet:1:1-35: function call \ No newline at end of file + builtinObjectHasExBadBoolean.jsonnet:1:16-35: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinObjectHasExBadField.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinObjectHasExBadField.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected string, got number argument evaluation - builtinObjectHasExBadField.jsonnet:1:1-32: function call \ No newline at end of file + builtinObjectHasExBadField.jsonnet:1:16-32: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinObjectHasExBadObject.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinObjectHasExBadObject.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected object, got number argument evaluation - builtinObjectHasExBadObject.jsonnet:1:1-33: function call \ No newline at end of file + builtinObjectHasExBadObject.jsonnet:1:16-33: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinReverse_not_array.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinReverse_not_array.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected array, got boolean argument evaluation - builtinReverse_not_array.jsonnet:1:1-20: function call \ No newline at end of file + builtinReverse_not_array.jsonnet:1:12-20: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinSplitLimitR5.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinSplitLimitR5.jsonnet.golden @@ -2,4 +2,4 @@ - number out of bounds: -2 not in 0..9007199254740991 - number out of bounds: -2 not in -1..-1 argument evaluation - builtinSplitLimitR5.jsonnet:1:1-45: function call \ No newline at end of file + builtinSplitLimitR5.jsonnet:1:16-45: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinSubStr_first_param_not_string.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinSubStr_first_param_not_string.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected string, got number argument evaluation - builtinSubStr_first_param_not_string.jsonnet:1:1-21: function call \ No newline at end of file + builtinSubStr_first_param_not_string.jsonnet:1:11-21: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinSubStr_second_parameter_not_integer.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinSubStr_second_parameter_not_integer.jsonnet.golden @@ -1,3 +1,3 @@ runtime error: cannot convert number with fractional part to usize argument evaluation - builtinSubStr_second_parameter_not_integer.jsonnet:1:1-29: function call \ No newline at end of file + builtinSubStr_second_parameter_not_integer.jsonnet:1:11-29: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinSubStr_second_parameter_not_number.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinSubStr_second_parameter_not_number.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected BoundedNumber<0, 9007199254740991>, got string argument evaluation - builtinSubStr_second_parameter_not_number.jsonnet:1:1-31: function call \ No newline at end of file + builtinSubStr_second_parameter_not_number.jsonnet:1:11-31: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinSubStr_third_parameter_less_then_zero.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinSubStr_third_parameter_less_then_zero.jsonnet.golden @@ -1,3 +1,3 @@ type error: number out of bounds: -1 not in 0..9007199254740991 argument evaluation - builtinSubStr_third_parameter_less_then_zero.jsonnet:1:1-28: function call \ No newline at end of file + builtinSubStr_third_parameter_less_then_zero.jsonnet:1:11-28: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinSubStr_third_parameter_not_integer.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinSubStr_third_parameter_not_integer.jsonnet.golden @@ -1,3 +1,3 @@ runtime error: cannot convert number with fractional part to usize argument evaluation - builtinSubStr_third_parameter_not_integer.jsonnet:1:1-29: function call \ No newline at end of file + builtinSubStr_third_parameter_not_integer.jsonnet:1:11-29: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinSubStr_third_parameter_not_number.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinSubStr_third_parameter_not_number.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected BoundedNumber<0, 9007199254740991>, got string argument evaluation - builtinSubStr_third_parameter_not_number.jsonnet:1:1-31: function call \ No newline at end of file + builtinSubStr_third_parameter_not_number.jsonnet:1:11-31: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinTrim4.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinTrim4.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected string, got number argument evaluation - builtinTrim4.jsonnet:1:1-14: function call \ No newline at end of file + builtinTrim4.jsonnet:1:9-14: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinXnor2.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinXnor2.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected boolean, got string argument evaluation - builtinXnor2.jsonnet:1:1-25: function call \ No newline at end of file + builtinXnor2.jsonnet:1:9-25: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtinXor2.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtinXor2.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected boolean, got string argument evaluation - builtinXor2.jsonnet:1:1-24: function call \ No newline at end of file + builtinXor2.jsonnet:1:8-24: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtin_exp3.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtin_exp3.jsonnet.golden @@ -1,2 +1,2 @@ convert num value: non-finite - builtin_exp3.jsonnet:1:1-15: function call \ No newline at end of file + builtin_exp3.jsonnet:1:8-15: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtin_exp5.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtin_exp5.jsonnet.golden @@ -1,2 +1,2 @@ convert num value: non-finite - builtin_exp5.jsonnet:1:1-32: function call \ No newline at end of file + builtin_exp5.jsonnet:1:8-32: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtin_log5.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtin_log5.jsonnet.golden @@ -1,2 +1,2 @@ convert num value: non-finite - builtin_log5.jsonnet:1:1-12: function call \ No newline at end of file + builtin_log5.jsonnet:1:8-12: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtin_log7.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtin_log7.jsonnet.golden @@ -1,2 +1,2 @@ convert num value: non-finite - builtin_log7.jsonnet:1:1-13: function call \ No newline at end of file + builtin_log7.jsonnet:1:8-13: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtin_log8.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtin_log8.jsonnet.golden @@ -1,2 +1,2 @@ convert num value: non-finite - builtin_log8.jsonnet:1:1-25: function call \ No newline at end of file + builtin_log8.jsonnet:1:8-25: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtin_manifestTomlEx_array.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtin_manifestTomlEx_array.jsonnet.golden @@ -1,4 +1,4 @@ type error: expected object, got array argument evaluation - builtin_manifestTomlEx_array.jsonnet:11:10-42: function call + builtin_manifestTomlEx_array.jsonnet:11:28-42: function call field evaluation \ No newline at end of file --- a/tests/go_testdata_golden_override/builtin_manifestTomlEx_null.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtin_manifestTomlEx_null.jsonnet.golden @@ -1,4 +1,4 @@ type error: expected object, got null argument evaluation - builtin_manifestTomlEx_null.jsonnet:2:11-43: function call + builtin_manifestTomlEx_null.jsonnet:2:29-43: function call field evaluation \ No newline at end of file --- a/tests/go_testdata_golden_override/builtin_member_object_invalid.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtin_member_object_invalid.jsonnet.golden @@ -2,4 +2,4 @@ - expected array, got object - expected string, got object argument evaluation - builtin_member_object_invalid.jsonnet:1:1-32: function call \ No newline at end of file + builtin_member_object_invalid.jsonnet:1:11-32: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtin_parseInt_invalid.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtin_parseInt_invalid.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: "hello" is not a base 10 integer - builtin_parseInt_invalid.jsonnet:1:1-23: function call \ No newline at end of file + builtin_parseInt_invalid.jsonnet:1:13-23: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtin_parseInt_invalid_decimal.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtin_parseInt_invalid_decimal.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: "123.12" is not a base 10 integer - builtin_parseInt_invalid_decimal.jsonnet:1:1-24: function call \ No newline at end of file + builtin_parseInt_invalid_decimal.jsonnet:1:13-24: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtin_parseInt_invalid_hexadecimal.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtin_parseInt_invalid_hexadecimal.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: "7B316" is not a base 10 integer - builtin_parseInt_invalid_hexadecimal.jsonnet:1:1-23: function call \ No newline at end of file + builtin_parseInt_invalid_hexadecimal.jsonnet:1:13-23: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtin_sqrt2.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtin_sqrt2.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected BoundedNumber<0, open>, got string argument evaluation - builtin_sqrt2.jsonnet:1:1-20: function call \ No newline at end of file + builtin_sqrt2.jsonnet:1:9-20: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/builtin_stripChars_invalid.jsonnet.golden +++ b/tests/go_testdata_golden_override/builtin_stripChars_invalid.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected string, got object argument evaluation - builtin_stripChars_invalid.jsonnet:1:1-4133: function call \ No newline at end of file + builtin_stripChars_invalid.jsonnet:1:15-4133: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/double_thunk.jsonnet.golden +++ b/tests/go_testdata_golden_override/double_thunk.jsonnet.golden @@ -1,4 +1,4 @@ runtime error: xxx - double_thunk.jsonnet:1:21-33: error statement + double_thunk.jsonnet:1:21-27: error statement double_thunk.jsonnet:1:34-36: local access double_thunk.jsonnet:1:37-39: local access \ No newline at end of file --- a/tests/go_testdata_golden_override/error.jsonnet.golden +++ b/tests/go_testdata_golden_override/error.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: 42 - error.jsonnet:1:1-12: error statement \ No newline at end of file + error.jsonnet:1:1-7: error statement \ No newline at end of file --- a/tests/go_testdata_golden_override/error_from_array.jsonnet.golden +++ b/tests/go_testdata_golden_override/error_from_array.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: xxx - error_from_array.jsonnet:1:2-14: error statement \ No newline at end of file + error_from_array.jsonnet:1:2-8: error statement \ No newline at end of file --- a/tests/go_testdata_golden_override/error_from_func.jsonnet.golden +++ b/tests/go_testdata_golden_override/error_from_func.jsonnet.golden @@ -1,3 +1,3 @@ runtime error: xxx - error_from_func.jsonnet:1:25-33: error statement - error_from_func.jsonnet:1:34-45: function call \ No newline at end of file + error_from_func.jsonnet:1:25-31: error statement + error_from_func.jsonnet:1:37-45: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/error_function_fail.jsonnet.golden +++ b/tests/go_testdata_golden_override/error_function_fail.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: tried to manifest function - error_function_fail.jsonnet:1:1-24: error statement \ No newline at end of file + error_function_fail.jsonnet:1:1-7: error statement \ No newline at end of file --- a/tests/go_testdata_golden_override/error_in_method.jsonnet.golden +++ b/tests/go_testdata_golden_override/error_in_method.jsonnet.golden @@ -1,3 +1,3 @@ runtime error: xxx - error_in_method.jsonnet:1:23-31: error statement - error_in_method.jsonnet:1:34-49: function call \ No newline at end of file + error_in_method.jsonnet:1:23-29: error statement + error_in_method.jsonnet:1:41-49: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/error_in_object_local.jsonnet.golden +++ b/tests/go_testdata_golden_override/error_in_object_local.jsonnet.golden @@ -1,4 +1,4 @@ runtime error: xxx - error_in_object_local.jsonnet:1:20-30: error statement - error_in_object_local.jsonnet:1:36-47: function call + error_in_object_local.jsonnet:1:20-26: error statement + error_in_object_local.jsonnet:1:39-47: function call field evaluation \ No newline at end of file --- a/tests/go_testdata_golden_override/error_object.jsonnet.golden +++ b/tests/go_testdata_golden_override/error_object.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: {"blah": 42} - error_object.jsonnet:1:1-22: error statement \ No newline at end of file + error_object.jsonnet:1:1-7: error statement \ No newline at end of file --- a/tests/go_testdata_golden_override/extvar_error.jsonnet.golden +++ b/tests/go_testdata_golden_override/extvar_error.jsonnet.golden @@ -1,2 +1,2 @@ external variable is not defined: errorVar - extvar_error.jsonnet:1:1-24: function call \ No newline at end of file + extvar_error.jsonnet:1:11-24: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/extvar_hermetic.jsonnet.golden +++ b/tests/go_testdata_golden_override/extvar_hermetic.jsonnet.golden @@ -1,2 +1,2 @@ external variable is not defined: UndeclaredX - extvar_hermetic.jsonnet:1:15-41: function call \ No newline at end of file + extvar_hermetic.jsonnet:1:25-41: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/extvar_not_a_string.jsonnet.golden +++ b/tests/go_testdata_golden_override/extvar_not_a_string.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected string, got number argument evaluation - extvar_not_a_string.jsonnet:1:1-16: function call \ No newline at end of file + extvar_not_a_string.jsonnet:1:11-16: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/extvar_static_error.jsonnet.golden +++ b/tests/go_testdata_golden_override/extvar_static_error.jsonnet.golden @@ -1,2 +1,2 @@ external variable is not defined: staticErrorVar - extvar_static_error.jsonnet:1:1-30: function call \ No newline at end of file + extvar_static_error.jsonnet:1:11-30: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/extvar_unknown.jsonnet.golden +++ b/tests/go_testdata_golden_override/extvar_unknown.jsonnet.golden @@ -1,2 +1,2 @@ external variable is not defined: UNKNOWN - extvar_unknown.jsonnet:1:1-23: function call \ No newline at end of file + extvar_unknown.jsonnet:1:11-23: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/fieldname_not_string.jsonnet.golden +++ b/tests/go_testdata_golden_override/fieldname_not_string.jsonnet.golden @@ -1,2 +1,2 @@ type error: expected string, got number - fieldname_not_string.jsonnet:1:4-9: evaluating field name \ No newline at end of file + fieldname_not_string.jsonnet:1:3-10: evaluating field name \ No newline at end of file --- a/tests/go_testdata_golden_override/import_syntax_error.jsonnet.golden +++ b/tests/go_testdata_golden_override/import_syntax_error.jsonnet.golden @@ -1,3 +1,3 @@ syntax error: expected one of "(", "[", "{", , , , , ['"'], ['\''], got "EOF" syntax_error.jsonnet:1:5 - import_syntax_error.jsonnet:1:1-31: import "syntax_error.jsonnet" \ No newline at end of file + import_syntax_error.jsonnet:1:1-8: import "syntax_error.jsonnet" \ No newline at end of file --- a/tests/go_testdata_golden_override/lazy_operator2.jsonnet.golden +++ b/tests/go_testdata_golden_override/lazy_operator2.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: should happen - lazy_operator2.jsonnet:1:9-31: error statement \ No newline at end of file + lazy_operator2.jsonnet:1:9-15: error statement \ No newline at end of file --- a/tests/go_testdata_golden_override/object_comp_assert.jsonnet.golden +++ b/tests/go_testdata_golden_override/object_comp_assert.jsonnet.golden @@ -1,2 +1,2 @@ -syntax error: expected one of "(", ".", "?", "[", "{", "}", , got "f" - object_comp_assert.jsonnet:1:32 \ No newline at end of file +syntax error: expected one of "(", ".", "?", "[", "{", , got "}" + object_comp_assert.jsonnet:1:46 \ No newline at end of file --- a/tests/go_testdata_golden_override/object_comp_bad_field.jsonnet.golden +++ b/tests/go_testdata_golden_override/object_comp_bad_field.jsonnet.golden @@ -1,2 +1,3 @@ -syntax error: expected one of "(", ".", "?", "[", "{", "}", , got "f" - object_comp_bad_field.jsonnet:1:9 \ No newline at end of file +{ + "x": 42 +} \ No newline at end of file --- a/tests/go_testdata_golden_override/object_comp_bad_field2.jsonnet.golden +++ b/tests/go_testdata_golden_override/object_comp_bad_field2.jsonnet.golden @@ -1,2 +1,3 @@ -syntax error: expected one of "(", ".", "?", "[", "{", "}", , got "f" - object_comp_bad_field2.jsonnet:1:11 \ No newline at end of file +{ + "x": 42 +} \ No newline at end of file --- a/tests/go_testdata_golden_override/object_comp_duplicate.jsonnet.golden +++ b/tests/go_testdata_golden_override/object_comp_duplicate.jsonnet.golden @@ -1,2 +1,2 @@ duplicate field name: x - object_comp_duplicate.jsonnet:1:8-10: field initializtion \ No newline at end of file + object_comp_duplicate.jsonnet:1:3-7: field initializtion \ No newline at end of file --- a/tests/go_testdata_golden_override/object_comp_err_elem.jsonnet.golden +++ b/tests/go_testdata_golden_override/object_comp_err_elem.jsonnet.golden @@ -1,3 +1,3 @@ runtime error: xxx - object_comp_err_elem.jsonnet:1:11-23: error statement + object_comp_err_elem.jsonnet:1:11-17: error statement field evaluation \ No newline at end of file --- a/tests/go_testdata_golden_override/object_comp_err_index.jsonnet.golden +++ b/tests/go_testdata_golden_override/object_comp_err_index.jsonnet.golden @@ -1,3 +1,3 @@ runtime error: xxx - object_comp_err_index.jsonnet:1:4-16: error statement - object_comp_err_index.jsonnet:1:4-16: evaluating field name \ No newline at end of file + object_comp_err_index.jsonnet:1:4-10: error statement + object_comp_err_index.jsonnet:1:3-17: evaluating field name \ No newline at end of file --- a/tests/go_testdata_golden_override/object_comp_illegal.jsonnet.golden +++ b/tests/go_testdata_golden_override/object_comp_illegal.jsonnet.golden @@ -1,2 +1,2 @@ -syntax error: expected one of "(", ".", "?", "[", "{", "}", , got "f" - object_comp_illegal.jsonnet:1:15 \ No newline at end of file +syntax error: expected one of "(", ".", "?", "[", "{", , got "}" + object_comp_illegal.jsonnet:1:34 \ No newline at end of file --- a/tests/go_testdata_golden_override/object_comp_int_index.jsonnet.golden +++ b/tests/go_testdata_golden_override/object_comp_int_index.jsonnet.golden @@ -1,2 +1,2 @@ type error: expected string, got number - object_comp_int_index.jsonnet:1:4-6: evaluating field name \ No newline at end of file + object_comp_int_index.jsonnet:1:3-7: evaluating field name \ No newline at end of file --- a/tests/go_testdata_golden_override/object_invariant13.jsonnet.golden +++ b/tests/go_testdata_golden_override/object_invariant13.jsonnet.golden @@ -1,3 +1,3 @@ runtime error: x - object_invariant13.jsonnet:1:10-20: error statement + object_invariant13.jsonnet:1:10-16: error statement object_invariant13.jsonnet:1:10-20: assertion condition \ No newline at end of file --- a/tests/go_testdata_golden_override/optional_args11.jsonnet.golden +++ b/tests/go_testdata_golden_override/optional_args11.jsonnet.golden @@ -1,2 +1,2 @@ argument x is already bound - optional_args11.jsonnet:1:1-31: function call \ No newline at end of file + optional_args11.jsonnet:1:20-31: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/optional_args13.jsonnet.golden +++ b/tests/go_testdata_golden_override/optional_args13.jsonnet.golden @@ -1,3 +1,3 @@ function argument is not passed: y Function has the following signature: (x, y) - optional_args13.jsonnet:1:1-27: function call \ No newline at end of file + optional_args13.jsonnet:1:20-27: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/optional_args8.jsonnet.golden +++ b/tests/go_testdata_golden_override/optional_args8.jsonnet.golden @@ -1,2 +1,2 @@ parameter y is not defined - optional_args8.jsonnet:2:1-11: function call \ No newline at end of file + optional_args8.jsonnet:2:4-11: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/optional_args9.jsonnet.golden +++ b/tests/go_testdata_golden_override/optional_args9.jsonnet.golden @@ -1,2 +1,2 @@ argument x is already bound - optional_args9.jsonnet:1:1-27: function call \ No newline at end of file + optional_args9.jsonnet:1:16-27: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/or4.jsonnet.golden +++ b/tests/go_testdata_golden_override/or4.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: xxx - or4.jsonnet:1:10-22: error statement \ No newline at end of file + or4.jsonnet:1:10-16: error statement \ No newline at end of file --- a/tests/go_testdata_golden_override/pow4.jsonnet.golden +++ b/tests/go_testdata_golden_override/pow4.jsonnet.golden @@ -1,2 +1,2 @@ convert num value: non-finite - pow4.jsonnet:1:1-18: function call \ No newline at end of file + pow4.jsonnet:1:8-18: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/pow7.jsonnet.golden +++ b/tests/go_testdata_golden_override/pow7.jsonnet.golden @@ -1,2 +1,2 @@ convert num value: non-finite - pow7.jsonnet:2:1-24: function call \ No newline at end of file + pow7.jsonnet:2:8-24: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/pow8.jsonnet.golden +++ b/tests/go_testdata_golden_override/pow8.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected number, got string argument evaluation - pow8.jsonnet:1:1-20: function call \ No newline at end of file + pow8.jsonnet:1:8-20: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/pow9.jsonnet.golden +++ b/tests/go_testdata_golden_override/pow9.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected number, got string argument evaluation - pow9.jsonnet:1:1-20: function call \ No newline at end of file + pow9.jsonnet:1:8-20: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/recursive_thunk.jsonnet.golden +++ b/tests/go_testdata_golden_override/recursive_thunk.jsonnet.golden @@ -1,10 +1,10 @@ runtime error: xxx - recursive_thunk.jsonnet:1:35-47: error statement - recursive_thunk.jsonnet:2:16-39: function call - recursive_thunk.jsonnet:2:20-31: function call + recursive_thunk.jsonnet:1:35-41: error statement + recursive_thunk.jsonnet:2:19-39: function call + recursive_thunk.jsonnet:2:23-31: function call recursive_thunk.jsonnet:1:52-55: local access - recursive_thunk.jsonnet:2:16-39: function call - recursive_thunk.jsonnet:2:20-31: function call + recursive_thunk.jsonnet:2:19-39: function call + recursive_thunk.jsonnet:2:23-31: function call recursive_thunk.jsonnet:1:52-55: local access - recursive_thunk.jsonnet:2:16-39: function call - recursive_thunk.jsonnet:3:1-8: function call \ No newline at end of file + recursive_thunk.jsonnet:2:19-39: function call + recursive_thunk.jsonnet:3:4-8: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.codepoint3.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.codepoint3.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected char, got string argument evaluation - std.codepoint3.jsonnet:1:1-21: function call \ No newline at end of file + std.codepoint3.jsonnet:1:14-21: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.codepoint6.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.codepoint6.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected char, got string argument evaluation - std.codepoint6.jsonnet:1:1-19: function call \ No newline at end of file + std.codepoint6.jsonnet:1:14-19: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.codepoint8.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.codepoint8.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected char, got number argument evaluation - std.codepoint8.jsonnet:1:1-19: function call \ No newline at end of file + std.codepoint8.jsonnet:1:14-19: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.filter2.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.filter2.jsonnet.golden @@ -1,4 +1,4 @@ runtime error: x - std.filter2.jsonnet:1:12-22: error statement + std.filter2.jsonnet:1:12-18: error statement argument evaluation - std.filter2.jsonnet:1:1-27: function call \ No newline at end of file + std.filter2.jsonnet:1:11-27: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.filter4.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.filter4.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected function, got number argument evaluation - std.filter4.jsonnet:1:1-20: function call \ No newline at end of file + std.filter4.jsonnet:1:11-20: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.filter5.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.filter5.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected array, got number argument evaluation - std.filter5.jsonnet:1:1-32: function call \ No newline at end of file + std.filter5.jsonnet:1:11-32: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.filter6.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.filter6.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected function, got number argument evaluation - std.filter6.jsonnet:1:1-22: function call \ No newline at end of file + std.filter6.jsonnet:1:11-22: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.filter8.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.filter8.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected function, got array argument evaluation - std.filter8.jsonnet:1:1-37: function call \ No newline at end of file + std.filter8.jsonnet:1:11-37: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.filter_swapped_args.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.filter_swapped_args.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected function, got array argument evaluation - std.filter_swapped_args.jsonnet:1:1-39: function call \ No newline at end of file + std.filter_swapped_args.jsonnet:1:11-39: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.flatmap5.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.flatmap5.jsonnet.golden @@ -1,5 +1,5 @@ runtime error: a - std.flatmap5.jsonnet:1:21-29: error statement - std.flatmap5.jsonnet:2:10-49: function call + std.flatmap5.jsonnet:1:21-27: error statement + std.flatmap5.jsonnet:2:21-49: function call argument evaluation - std.flatmap5.jsonnet:2:1-50: function call \ No newline at end of file + std.flatmap5.jsonnet:2:9-50: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.join7.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.join7.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: in std.join all items should be strings - std.join7.jsonnet:1:1-28: function call \ No newline at end of file + std.join7.jsonnet:1:9-28: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.join8.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.join8.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: in std.join all items should be arrays - std.join8.jsonnet:1:1-34: function call \ No newline at end of file + std.join8.jsonnet:1:9-34: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.makeArrayNamed3.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.makeArrayNamed3.jsonnet.golden @@ -1,2 +1,2 @@ parameter blahblah is not defined - std.makeArrayNamed3.jsonnet:1:1-55: function call \ No newline at end of file + std.makeArrayNamed3.jsonnet:1:14-55: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.makeArray_bad.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.makeArray_bad.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected BoundedNumber<0, 2147483647>, got string argument evaluation - std.makeArray_bad.jsonnet:1:1-37: function call \ No newline at end of file + std.makeArray_bad.jsonnet:1:14-37: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.makeArray_bad2.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.makeArray_bad2.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected function, got string argument evaluation - std.makeArray_bad2.jsonnet:1:1-26: function call \ No newline at end of file + std.makeArray_bad2.jsonnet:1:14-26: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.makeArray_noninteger.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.makeArray_noninteger.jsonnet.golden @@ -1,3 +1,3 @@ runtime error: cannot convert number with fractional part to i32 argument evaluation - std.makeArray_noninteger.jsonnet:1:1-35: function call \ No newline at end of file + std.makeArray_noninteger.jsonnet:1:14-35: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.makeArray_noninteger_big.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.makeArray_noninteger_big.jsonnet.golden @@ -1,3 +1,3 @@ type error: number out of bounds: 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 not in 0..2147483647 argument evaluation - std.makeArray_noninteger_big.jsonnet:1:1-37: function call \ No newline at end of file + std.makeArray_noninteger_big.jsonnet:1:14-37: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.manifestYamlDoc_error.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.manifestYamlDoc_error.jsonnet.golden @@ -1,5 +1,5 @@ runtime error: foo - std.manifestYamlDoc_error.jsonnet:1:31-43: error statement + std.manifestYamlDoc_error.jsonnet:1:31-37: error statement field evaluation field manifestification - std.manifestYamlDoc_error.jsonnet:1:1-48: function call \ No newline at end of file + std.manifestYamlDoc_error.jsonnet:1:20-48: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.maxArrayOnEmpty.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.maxArrayOnEmpty.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: expected non-empty array - std.maxArrayOnEmpty.jsonnet:1:1-18: function call \ No newline at end of file + std.maxArrayOnEmpty.jsonnet:1:13-18: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.md5_6.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.md5_6.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected string, got number argument evaluation - std.md5_6.jsonnet:1:1-13: function call \ No newline at end of file + std.md5_6.jsonnet:1:8-13: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.minArrayOnEmpty.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.minArrayOnEmpty.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: expected non-empty array - std.minArrayOnEmpty.jsonnet:1:1-18: function call \ No newline at end of file + std.minArrayOnEmpty.jsonnet:1:13-18: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.modulo2.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.modulo2.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected number, got string argument evaluation - std.modulo2.jsonnet:1:1-23: function call \ No newline at end of file + std.modulo2.jsonnet:1:11-23: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.modulo3.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.modulo3.jsonnet.golden @@ -1,3 +1,3 @@ type error: expected number, got string argument evaluation - std.modulo3.jsonnet:1:1-23: function call \ No newline at end of file + std.modulo3.jsonnet:1:11-23: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.primitiveEquals10.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.primitiveEquals10.jsonnet.golden @@ -1,4 +1,4 @@ runtime error: x - std.primitiveEquals10.jsonnet:1:21-31: error statement + std.primitiveEquals10.jsonnet:1:21-27: error statement argument evaluation - std.primitiveEquals10.jsonnet:1:1-36: function call \ No newline at end of file + std.primitiveEquals10.jsonnet:1:20-36: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.primitiveEquals13.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.primitiveEquals13.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: primitiveEquals operates on primitive types, got array - std.primitiveEquals13.jsonnet:1:1-29: function call \ No newline at end of file + std.primitiveEquals13.jsonnet:1:20-29: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.primitiveEquals6.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.primitiveEquals6.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: primitiveEquals operates on primitive types, got object - std.primitiveEquals6.jsonnet:1:1-29: function call \ No newline at end of file + std.primitiveEquals6.jsonnet:1:20-29: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.primitiveEquals7.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.primitiveEquals7.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: cannot test equality of functions - std.primitiveEquals7.jsonnet:1:1-51: function call \ No newline at end of file + std.primitiveEquals7.jsonnet:1:20-51: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.primitiveEquals9.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.primitiveEquals9.jsonnet.golden @@ -1,4 +1,4 @@ runtime error: x - std.primitiveEquals9.jsonnet:1:25-35: error statement + std.primitiveEquals9.jsonnet:1:25-31: error statement argument evaluation - std.primitiveEquals9.jsonnet:1:1-36: function call \ No newline at end of file + std.primitiveEquals9.jsonnet:1:20-36: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.sort3.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.sort3.jsonnet.golden @@ -1,3 +1,3 @@ runtime error: foo - std.sort3.jsonnet:1:16-28: error statement - std.sort3.jsonnet:1:1-30: function call \ No newline at end of file + std.sort3.jsonnet:1:16-22: error statement + std.sort3.jsonnet:1:9-30: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.sort4.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.sort4.jsonnet.golden @@ -1,2 +1,2 @@ binary operation array < number is not implemented - std.sort4.jsonnet:1:1-30: function call \ No newline at end of file + std.sort4.jsonnet:1:9-30: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/std.toString5.jsonnet.golden +++ b/tests/go_testdata_golden_override/std.toString5.jsonnet.golden @@ -1,4 +1,4 @@ runtime error: x - std.toString5.jsonnet:1:14-24: error statement + std.toString5.jsonnet:1:14-20: error statement argument evaluation - std.toString5.jsonnet:1:1-25: function call \ No newline at end of file + std.toString5.jsonnet:1:13-25: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/strReplace3.jsonnet.golden +++ b/tests/go_testdata_golden_override/strReplace3.jsonnet.golden @@ -1,2 +1,2 @@ runtime error: 'from' string must not be zero length - strReplace3.jsonnet:1:1-36: function call \ No newline at end of file + strReplace3.jsonnet:1:15-36: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/tailstrict2.jsonnet.golden +++ b/tests/go_testdata_golden_override/tailstrict2.jsonnet.golden @@ -1,3 +1,3 @@ runtime error: xxx - tailstrict2.jsonnet:1:13-21: error statement - tailstrict2.jsonnet:2:14-19: function call \ No newline at end of file + tailstrict2.jsonnet:1:13-19: error statement + tailstrict2.jsonnet:2:15-19: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/too_many_arguments.jsonnet.golden +++ b/tests/go_testdata_golden_override/too_many_arguments.jsonnet.golden @@ -1,3 +1,3 @@ too many args, function has 3 Function has the following signature: (x, y, z) - too_many_arguments.jsonnet:1:1-36: function call \ No newline at end of file + too_many_arguments.jsonnet:1:23-36: function call \ No newline at end of file --- a/tests/go_testdata_golden_override/type_error.jsonnet.golden +++ b/tests/go_testdata_golden_override/type_error.jsonnet.golden @@ -1,4 +1,4 @@ runtime error: xxx - type_error.jsonnet:1:10-22: error statement + type_error.jsonnet:1:10-16: error statement argument evaluation - type_error.jsonnet:1:1-23: function call \ No newline at end of file + type_error.jsonnet:1:9-23: function call \ No newline at end of file --- a/tests/tests/snapshots/golden__golden@issue187.rev.jsonnet.snap +++ b/tests/tests/snapshots/golden__golden@issue187.rev.jsonnet.snap @@ -4,4 +4,4 @@ input_file: tests/golden/issue187.rev.jsonnet --- runtime error: bad utf8 - issue187.rev.jsonnet:1:1-92: function call + issue187.rev.jsonnet:1:15-92: function call --- a/tests/tests/snapshots/golden__golden@issue23.jsonnet.snap +++ b/tests/tests/snapshots/golden__golden@issue23.jsonnet.snap @@ -4,4 +4,4 @@ input_file: tests/golden/issue23.jsonnet --- infinite recursion detected - issue23.jsonnet:1:1-26: import "issue23.jsonnet" + issue23.jsonnet:1:1-8: import "issue23.jsonnet" --- a/tests/tests/snapshots/golden__golden@issue40.jsonnet.snap +++ b/tests/tests/snapshots/golden__golden@issue40.jsonnet.snap @@ -5,4 +5,4 @@ --- assert failed: is number issue40.jsonnet:6:10-31: assertion failure - issue40.jsonnet:9:1-32: function call + issue40.jsonnet:9:19-32: function call --- a/tests/tests/snapshots/golden__golden@test_assertThrow.jsonnet.snap +++ b/tests/tests/snapshots/golden__golden@test_assertThrow.jsonnet.snap @@ -4,4 +4,4 @@ input_file: tests/golden/test_assertThrow.jsonnet --- runtime error: expected argument to throw on evaluation, but it returned instead - test_assertThrow.jsonnet:2:1-26: function call + test_assertThrow.jsonnet:2:17-26: function call -- gitstuff