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.rsdiffbeforeafterboth977 Minus,977 Minus,978 Not,978 Not,979 BitNot,979 BitNot,980 Plus,980}981}981982982#[derive(Debug, Clone, PartialEq, Eq, Hash)]983#[derive(Debug, Clone, PartialEq, Eq, Hash)]2494impl UnaryOperatorKind {2495impl UnaryOperatorKind {2495 fn can_cast(kind: SyntaxKind) -> bool {2496 fn can_cast(kind: SyntaxKind) -> bool {2496 match kind {2497 match kind {2497 MINUS | NOT | BIT_NOT => true,2498 MINUS | NOT | BIT_NOT | PLUS => true,2498 _ => false,2499 _ => false,2499 }2500 }2500 }2501 }2503 MINUS => Self::Minus,2504 MINUS => Self::Minus,2504 NOT => Self::Not,2505 NOT => Self::Not,2505 BIT_NOT => Self::BitNot,2506 BIT_NOT => Self::BitNot,2507 PLUS => Self::Plus,2506 _ => return None,2508 _ => return None,2507 };2509 };2508 Some(res)2510 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.snapdiffbeforeafterboth--- a/crates/jrsonnet-rowan-parser/src/snapshots/jrsonnet_rowan_parser__tests__no_lhs.snap
+++ b/crates/jrsonnet-rowan-parser/src/snapshots/jrsonnet_rowan_parser__tests__no_lhs.snap
@@ -1,12 +1,13 @@
---
source: crates/jrsonnet-rowan-parser/src/tests.rs
-expression: "+ 2\n"
+assertion_line: 60
+expression: "* 2\n"
---
SOURCE_FILE@0..4
EXPR@0..0
ERROR_MISSING_TOKEN@0..0
ERROR_CUSTOM@0..3
- PLUS@0..1 "+"
+ MUL@0..1 "*"
WHITESPACE@1..2 " "
FLOAT@2..3 "2"
WHITESPACE@3..4 "\n"
@@ -15,5 +16,5 @@
LocatedSyntaxError { error: Custom { error: "unexpected tokens after end" }, range: 0..3 }
===
· ╭── missing expression
-1 │ + 2
+1 │ * 2
· ╰───── unexpected tokens after end
crates/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