git.delta.rocks / jrsonnet / refs/commits / 431f2ab123a5

difftreelog

fix(parser) allow zero length strings

Лач2020-05-16parent: #ee033ba.patch.diff
in: master

1 file changed

modifiedcrates/jsonnet-parser/src/lib.rsdiffbeforeafterboth
53 / name:id() __() "(" __() params:params() __() ")" __() "=" __() expr:boxed_expr() {expr::Bind::Function(name, params, expr)}53 / name:id() __() "(" __() params:params() __() ")" __() "=" __() expr:boxed_expr() {expr::Bind::Function(name, params, expr)}
54 pub rule assertion() -> expr::AssertStmt = "assert" _() cond:boxed_expr() msg:(__() ":" __() e:boxed_expr() {e})? { expr::AssertStmt(cond, msg) }54 pub rule assertion() -> expr::AssertStmt = "assert" _() cond:boxed_expr() msg:(__() ":" __() e:boxed_expr() {e})? { expr::AssertStmt(cond, msg) }
55 pub rule string() -> String55 pub rule string() -> String
56 = "\"" str:$((!['"'][_])+) "\"" {str.to_owned()}56 = "\"" str:$((!['"'][_])*) "\"" {str.to_owned()}
57 / "'" str:$((!['\''][_])+) "'" {str.to_owned()}57 / "'" str:$((!['\''][_])*) "'" {str.to_owned()}
58 pub rule field_name() -> expr::FieldName58 pub rule field_name() -> expr::FieldName
59 = name:id() {expr::FieldName::Fixed(name)}59 = name:id() {expr::FieldName::Fixed(name)}
60 / name:string() {expr::FieldName::Fixed(name)}60 / name:string() {expr::FieldName::Fixed(name)}