difftreelog
fix(parser) allow zero length strings
in: master
1 file changed
crates/jsonnet-parser/src/lib.rsdiffbeforeafterboth53 / 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() -> String56 = "\"" 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::FieldName59 = 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)}