difftreelog
fix(rowan) unary plus
in: master
5 files changed
crates/jrsonnet-rowan-parser/jsonnet.ungramdiffbeforeafterboth--- a/crates/jrsonnet-rowan-parser/jsonnet.ungram
+++ b/crates/jrsonnet-rowan-parser/jsonnet.ungram
@@ -131,7 +131,7 @@
| 'ERROR_NO_OPERATOR!'
UnaryOperator =
- '-' | '!' | '~'
+ '-' | '!' | '~' | '+'
SliceDescEnd=Expr
SliceDescStep=Expr
crates/jrsonnet-rowan-parser/src/generated/nodes.rsdiffbeforeafterboth--- a/crates/jrsonnet-rowan-parser/src/generated/nodes.rs
+++ b/crates/jrsonnet-rowan-parser/src/generated/nodes.rs
@@ -977,6 +977,7 @@
Minus,
Not,
BitNot,
+ Plus,
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -2494,7 +2495,7 @@
impl UnaryOperatorKind {
fn can_cast(kind: SyntaxKind) -> bool {
match kind {
- MINUS | NOT | BIT_NOT => true,
+ MINUS | NOT | BIT_NOT | PLUS => true,
_ => false,
}
}
@@ -2503,6 +2504,7 @@
MINUS => Self::Minus,
NOT => Self::Not,
BIT_NOT => Self::BitNot,
+ PLUS => Self::Plus,
_ => return None,
};
Some(res)
crates/jrsonnet-rowan-parser/src/precedence.rsdiffbeforeafterboth--- a/crates/jrsonnet-rowan-parser/src/precedence.rs
+++ b/crates/jrsonnet-rowan-parser/src/precedence.rs
@@ -22,7 +22,7 @@
impl UnaryOperatorKind {
pub fn binding_power(&self) -> ((), u8) {
match self {
- Self::Minus | Self::Not | Self::BitNot => ((), 20),
+ Self::Minus | Self::Not | Self::BitNot | Self::Plus => ((), 20),
}
}
}
crates/jrsonnet-rowan-parser/src/snapshots/jrsonnet_rowan_parser__tests__no_lhs.snapdiffbeforeafterboth1---1---2source: crates/jrsonnet-rowan-parser/src/tests.rs2source: crates/jrsonnet-rowan-parser/src/tests.rs3assertion_line: 603expression: "+ 2\n"4expression: "* 2\n"4---5---5SOURCE_FILE@0..46SOURCE_FILE@0..46 EXPR@0..07 EXPR@0..07 ERROR_MISSING_TOKEN@0..08 ERROR_MISSING_TOKEN@0..08 ERROR_CUSTOM@0..39 ERROR_CUSTOM@0..39 PLUS@0..1 "+"10 MUL@0..1 "*"10 WHITESPACE@1..2 " "11 WHITESPACE@1..2 " "11 FLOAT@2..3 "2"12 FLOAT@2..3 "2"12 WHITESPACE@3..4 "\n"13 WHITESPACE@3..4 "\n"15LocatedSyntaxError { error: Custom { error: "unexpected tokens after end" }, range: 0..3 }16LocatedSyntaxError { error: Custom { error: "unexpected tokens after end" }, range: 0..3 }16===17===17 · ╭── missing expression18 · ╭── missing expression181 │ + 2191 │ * 219 · ╰───── unexpected tokens after end20 · ╰───── unexpected tokens after end2021crates/jrsonnet-rowan-parser/src/tests.rsdiffbeforeafterboth--- a/crates/jrsonnet-rowan-parser/src/tests.rs
+++ b/crates/jrsonnet-rowan-parser/src/tests.rs
@@ -85,7 +85,7 @@
a +
"#
no_lhs => r#"
- + 2
+ * 2
"#
no_operator => "
2 2