From 5a21a2e9327c51cf996314878d683042a19549c3 Mon Sep 17 00:00:00 2001 From: Yaroslav Bolyukin Date: Sat, 23 Jul 2022 21:59:18 +0000 Subject: [PATCH] refactor(parser)!: remove intrinsic syntax There was special support to refer to native functions for stdlib, as otherwise `std.native` was not implementable. However, now evaluator contains support for fancy builtins, and it is possible to reimplement standard library without any parser magic. BREAKING CHANGE: This syntax no longer works: $intrinsic(name), $intrinsicId, $intrinsicThisFile --- --- a/crates/jrsonnet-parser/src/expr.rs +++ b/crates/jrsonnet-parser/src/expr.rs @@ -341,12 +341,6 @@ Index(LocExpr, LocExpr), /// function(x) x Function(ParamsDesc, LocExpr), - /// std.thisFile - IntrinsicThisFile, - /// std.id, - IntrinsicId, - /// std.primitiveEquals - Intrinsic(IStr), /// if true == false then 1 else 2 IfElse { cond: IfSpecData, --- a/crates/jrsonnet-parser/src/lib.rs +++ b/crates/jrsonnet-parser/src/lib.rs @@ -252,10 +252,6 @@ pub rule expr_basic(s: &ParserSettings) -> Expr = literal(s) - / quiet!{"$intrinsicThisFile" {Expr::IntrinsicThisFile}} - / quiet!{"$intrinsicId" {Expr::IntrinsicId}} - / quiet!{"$intrinsic(" name:id() ")" {Expr::Intrinsic(name)}} - / string_expr(s) / number_expr(s) / array_expr(s) / obj_expr(s) --- a/crates/jrsonnet-parser/src/source.rs +++ b/crates/jrsonnet-parser/src/source.rs @@ -51,12 +51,6 @@ pub fn short_display(&self) -> ShortDisplay { ShortDisplay(self.clone()) } - pub fn full_path(&self) -> String { - match self.inner() { - Inner::Real(r) => r.display().to_string(), - Inner::Virtual(v) => v.to_string(), - } - } /// Returns None if file is virtual pub fn path(&self) -> Option<&Path> { -- gitstuff