difftreelog
fix incorrect doccomment parsing
in: master
8 files changed
crates/jrsonnet-lexer/src/generated/syntax_kinds.rsdiffbeforeafterboth--- a/crates/jrsonnet-lexer/src/generated/syntax_kinds.rs
+++ b/crates/jrsonnet-lexer/src/generated/syntax_kinds.rs
@@ -128,7 +128,7 @@
SINGLE_LINE_SLASH_COMMENT,
#[regex("#[^\\r\\n]*?(\\r\\n|\\n)?")]
SINGLE_LINE_HASH_COMMENT,
- #[regex("/\\*([^*]|\\*[^/])*\\*/")]
+ #[regex("/\\*([^*]|\\*+[^*/])*\\*+/")]
MULTI_LINE_COMMENT,
#[regex("/\\*/")]
ERROR_COMMENT_TOO_SHORT,
crates/jrsonnet-rowan-parser/src/snapshots/jrsonnet_rowan_parser__tests__multi_line_comment_doc.snapdiffbeforeafterboth--- /dev/null
+++ b/crates/jrsonnet-rowan-parser/src/snapshots/jrsonnet_rowan_parser__tests__multi_line_comment_doc.snap
@@ -0,0 +1,39 @@
+---
+source: crates/jrsonnet-rowan-parser/src/tests.rs
+expression: "{ a:: 1, /** doc **/ b:: 2 }\n"
+---
+SOURCE_FILE@0..29
+ EXPR@0..28
+ EXPR_OBJECT@0..28
+ OBJ_BODY_MEMBER_LIST@0..28
+ L_BRACE@0..1 "{"
+ WHITESPACE@1..2 " "
+ MEMBER_FIELD_NORMAL@2..7
+ FIELD_NAME_FIXED@2..3
+ NAME@2..3
+ IDENT@2..3 "a"
+ VISIBILITY@3..5
+ COLON@3..4 ":"
+ COLON@4..5 ":"
+ WHITESPACE@5..6 " "
+ EXPR@6..7
+ EXPR_NUMBER@6..7
+ FLOAT@6..7 "1"
+ COMMA@7..8 ","
+ WHITESPACE@8..9 " "
+ MULTI_LINE_COMMENT@9..20 "/** doc **/"
+ WHITESPACE@20..21 " "
+ MEMBER_FIELD_NORMAL@21..26
+ FIELD_NAME_FIXED@21..22
+ NAME@21..22
+ IDENT@21..22 "b"
+ VISIBILITY@22..24
+ COLON@22..23 ":"
+ COLON@23..24 ":"
+ WHITESPACE@24..25 " "
+ EXPR@25..26
+ EXPR_NUMBER@25..26
+ FLOAT@25..26 "2"
+ WHITESPACE@26..27 " "
+ R_BRACE@27..28 "}"
+ WHITESPACE@28..29 "\n"
crates/jrsonnet-rowan-parser/src/snapshots/jrsonnet_rowan_parser__tests__multi_line_comment_empty.snapdiffbeforeafterboth--- /dev/null
+++ b/crates/jrsonnet-rowan-parser/src/snapshots/jrsonnet_rowan_parser__tests__multi_line_comment_empty.snap
@@ -0,0 +1,11 @@
+---
+source: crates/jrsonnet-rowan-parser/src/tests.rs
+expression: "/**/ 1\n"
+---
+SOURCE_FILE@0..7
+ MULTI_LINE_COMMENT@0..4 "/**/"
+ WHITESPACE@4..5 " "
+ EXPR@5..6
+ EXPR_NUMBER@5..6
+ FLOAT@5..6 "1"
+ WHITESPACE@6..7 "\n"
crates/jrsonnet-rowan-parser/src/snapshots/jrsonnet_rowan_parser__tests__multi_line_comment_inner_star.snapdiffbeforeafterboth--- /dev/null
+++ b/crates/jrsonnet-rowan-parser/src/snapshots/jrsonnet_rowan_parser__tests__multi_line_comment_inner_star.snap
@@ -0,0 +1,11 @@
+---
+source: crates/jrsonnet-rowan-parser/src/tests.rs
+expression: "/* * */ 3\n"
+---
+SOURCE_FILE@0..10
+ MULTI_LINE_COMMENT@0..7 "/* * */"
+ WHITESPACE@7..8 " "
+ EXPR@8..9
+ EXPR_NUMBER@8..9
+ FLOAT@8..9 "3"
+ WHITESPACE@9..10 "\n"
crates/jrsonnet-rowan-parser/src/snapshots/jrsonnet_rowan_parser__tests__multi_line_comment_too_short.snapdiffbeforeafterboth1---2source: crates/jrsonnet-rowan-parser/src/tests.rs3expression: "/*/\n"4---5SOURCE_FILE@0..46 ERROR_COMMENT_TOO_SHORT@0..3 "/*/"7 WHITESPACE@3..4 "\n"8 EXPR@4..49 ERROR_MISSING_TOKEN@4..410===11LocatedSyntaxError { error: Missing { expected: Named("expression") }, range: 4..4 }12===13 · ╭── missing expression141 │ /*/crates/jrsonnet-rowan-parser/src/snapshots/jrsonnet_rowan_parser__tests__multi_line_comment_triple_star.snapdiffbeforeafterboth--- /dev/null
+++ b/crates/jrsonnet-rowan-parser/src/snapshots/jrsonnet_rowan_parser__tests__multi_line_comment_triple_star.snap
@@ -0,0 +1,11 @@
+---
+source: crates/jrsonnet-rowan-parser/src/tests.rs
+expression: "/***/ 2\n"
+---
+SOURCE_FILE@0..8
+ MULTI_LINE_COMMENT@0..5 "/***/"
+ WHITESPACE@5..6 " "
+ EXPR@6..7
+ EXPR_NUMBER@6..7
+ FLOAT@6..7 "2"
+ WHITESPACE@7..8 "\n"
crates/jrsonnet-rowan-parser/src/snapshots/jrsonnet_rowan_parser__tests__multi_line_comment_unterminated.snapdiffbeforeafterboth--- /dev/null
+++ b/crates/jrsonnet-rowan-parser/src/snapshots/jrsonnet_rowan_parser__tests__multi_line_comment_unterminated.snap
@@ -0,0 +1,13 @@
+---
+source: crates/jrsonnet-rowan-parser/src/tests.rs
+expression: "/** unterminated\n"
+---
+SOURCE_FILE@0..17
+ ERROR_COMMENT_UNTERMINATED@0..17 "/** unterminated\n"
+ EXPR@17..17
+ ERROR_MISSING_TOKEN@17..17
+===
+LocatedSyntaxError { error: Missing { expected: Named("expression") }, range: 17..17 }
+===
+ · ╭── missing expression
+1 │ /** unterminated
crates/jrsonnet-rowan-parser/src/tests.rsdiffbeforeafterboth--- a/crates/jrsonnet-rowan-parser/src/tests.rs
+++ b/crates/jrsonnet-rowan-parser/src/tests.rs
@@ -241,6 +241,25 @@
for_obj_spec_value_destruct => r#"
{ [k]: a + b for [k]: [a, b] in obj }
"#
+
+ multi_line_comment_doc => r#"
+ { a:: 1, /** doc **/ b:: 2 }
+ "#
+ multi_line_comment_empty => r#"
+ /**/ 1
+ "#
+ multi_line_comment_triple_star => r#"
+ /***/ 2
+ "#
+ multi_line_comment_inner_star => r#"
+ /* * */ 3
+ "#
+ multi_line_comment_too_short => r#"
+ /*/
+ "#
+ multi_line_comment_unterminated => r#"
+ /** unterminated
+ "#
);
#[test]