difftreelog
fix(rowan) unary wrapping
in: master
4 files changed
crates/jrsonnet-rowan-parser/src/parser.rsdiffbeforeafterboth918 let m = p.start();918 let m = p.start();919 p.bump();919 p.bump();920 let _ = expr_binding_power(p, right_binding_power);920 let _ = expr_binding_power(p, right_binding_power)921 .map(|v| v.precede(p).complete(p, EXPR));921 m.complete(p, EXPR_UNARY)922 m.complete(p, EXPR_UNARY)922 } else if p.at(T!['(']) {923 } else if p.at(T!['(']) {923 let m = p.start();924 let m = p.start();crates/jrsonnet-rowan-parser/src/snapshots/jrsonnet_rowan_parser__tests__unary_not.snapdiffbeforeafterboth--- /dev/null
+++ b/crates/jrsonnet-rowan-parser/src/snapshots/jrsonnet_rowan_parser__tests__unary_not.snap
@@ -0,0 +1,12 @@
+---
+source: crates/jrsonnet-rowan-parser/src/tests.rs
+expression: "!false\n"
+---
+SOURCE_FILE@0..7
+ EXPR@0..6
+ EXPR_UNARY@0..6
+ NOT@0..1 "!"
+ EXPR@1..6
+ EXPR_LITERAL@1..6
+ FALSE_KW@1..6 "false"
+ WHITESPACE@6..7 "\n"
crates/jrsonnet-rowan-parser/src/snapshots/jrsonnet_rowan_parser__tests__unary_not_in_call.snapdiffbeforeafterboth--- /dev/null
+++ b/crates/jrsonnet-rowan-parser/src/snapshots/jrsonnet_rowan_parser__tests__unary_not_in_call.snap
@@ -0,0 +1,31 @@
+---
+source: crates/jrsonnet-rowan-parser/src/tests.rs
+expression: "std.assertEqual(!false, true)\n"
+---
+SOURCE_FILE@0..30
+ EXPR@0..29
+ EXPR_VAR@0..3
+ NAME@0..3
+ IDENT@0..3 "std"
+ SUFFIX_INDEX@3..15
+ DOT@3..4 "."
+ NAME@4..15
+ IDENT@4..15 "assertEqual"
+ SUFFIX_APPLY@15..29
+ ARGS_DESC@15..29
+ L_PAREN@15..16 "("
+ ARG@16..22
+ EXPR@16..22
+ EXPR_UNARY@16..22
+ NOT@16..17 "!"
+ EXPR@17..22
+ EXPR_LITERAL@17..22
+ FALSE_KW@17..22 "false"
+ COMMA@22..23 ","
+ WHITESPACE@23..24 " "
+ ARG@24..28
+ EXPR@24..28
+ EXPR_LITERAL@24..28
+ TRUE_KW@24..28 "true"
+ R_PAREN@28..29 ")"
+ WHITESPACE@29..30 "\n"
crates/jrsonnet-rowan-parser/src/tests.rsdiffbeforeafterboth--- a/crates/jrsonnet-rowan-parser/src/tests.rs
+++ b/crates/jrsonnet-rowan-parser/src/tests.rs
@@ -216,6 +216,14 @@
unhide::: 3,
}
"#
+
+ unary_not => r#"
+ !false
+ "#
+
+ unary_not_in_call => r#"
+ std.assertEqual(!false, true)
+ "#
);
#[test]