diff --git a/crates/libeditor/src/symbols.rs b/crates/libeditor/src/symbols.rs index b2b05bc6a2..37cef63899 100644 --- a/crates/libeditor/src/symbols.rs +++ b/crates/libeditor/src/symbols.rs @@ -93,7 +93,7 @@ fn structure_node(node: SyntaxNodeRef) -> Option { visitor() .visit(decl::) .visit(decl::) - .visit(decl::) + .visit(decl::) .visit(decl::) .visit(decl::) .visit(decl::) diff --git a/crates/libeditor/tests/test.rs b/crates/libeditor/tests/test.rs index 858c6c4a64..4f7c2e07a8 100644 --- a/crates/libeditor/tests/test.rs +++ b/crates/libeditor/tests/test.rs @@ -104,7 +104,7 @@ impl fmt::Debug for E {} let symbols = file_structure(&file); assert_eq_dbg( r#"[StructureNode { parent: None, label: "Foo", navigation_range: [8; 11), node_range: [1; 26), kind: STRUCT_DEF }, - StructureNode { parent: Some(0), label: "x", navigation_range: [18; 19), node_range: [18; 24), kind: NAMED_FIELD }, + StructureNode { parent: Some(0), label: "x", navigation_range: [18; 19), node_range: [18; 24), kind: NAMED_FIELD_DEF }, StructureNode { parent: None, label: "m", navigation_range: [32; 33), node_range: [28; 53), kind: MODULE }, StructureNode { parent: Some(2), label: "bar", navigation_range: [43; 46), node_range: [40; 51), kind: FN_DEF }, StructureNode { parent: None, label: "E", navigation_range: [60; 61), node_range: [55; 75), kind: ENUM_DEF }, diff --git a/crates/libsyntax2/src/ast/generated.rs b/crates/libsyntax2/src/ast/generated.rs index 5edb9faaaa..8eb91c1df9 100644 --- a/crates/libsyntax2/src/ast/generated.rs +++ b/crates/libsyntax2/src/ast/generated.rs @@ -283,25 +283,25 @@ impl<'a> AstNode<'a> for NameRef<'a> { impl<'a> NameRef<'a> {} -// NamedField +// NamedFieldDef #[derive(Debug, Clone, Copy)] -pub struct NamedField<'a> { +pub struct NamedFieldDef<'a> { syntax: SyntaxNodeRef<'a>, } -impl<'a> AstNode<'a> for NamedField<'a> { +impl<'a> AstNode<'a> for NamedFieldDef<'a> { fn cast(syntax: SyntaxNodeRef<'a>) -> Option { match syntax.kind() { - NAMED_FIELD => Some(NamedField { syntax }), + NAMED_FIELD_DEF => Some(NamedFieldDef { syntax }), _ => None, } } fn syntax(self) -> SyntaxNodeRef<'a> { self.syntax } } -impl<'a> ast::NameOwner<'a> for NamedField<'a> {} -impl<'a> ast::AttrsOwner<'a> for NamedField<'a> {} -impl<'a> NamedField<'a> {} +impl<'a> ast::NameOwner<'a> for NamedFieldDef<'a> {} +impl<'a> ast::AttrsOwner<'a> for NamedFieldDef<'a> {} +impl<'a> NamedFieldDef<'a> {} // NeverType #[derive(Debug, Clone, Copy)] @@ -498,7 +498,7 @@ impl<'a> ast::NameOwner<'a> for StructDef<'a> {} impl<'a> ast::TypeParamsOwner<'a> for StructDef<'a> {} impl<'a> ast::AttrsOwner<'a> for StructDef<'a> {} impl<'a> StructDef<'a> { - pub fn fields(self) -> impl Iterator> + 'a { + pub fn fields(self) -> impl Iterator> + 'a { super::children(self) } } diff --git a/crates/libsyntax2/src/grammar.ron b/crates/libsyntax2/src/grammar.ron index 52764e6646..f4792df1d2 100644 --- a/crates/libsyntax2/src/grammar.ron +++ b/crates/libsyntax2/src/grammar.ron @@ -149,6 +149,7 @@ Grammar( "PLACEHOLDER_PAT", "PATH_PAT", "STRUCT_PAT", + "FIELD_PAT_LIST", "TUPLE_STRUCT_PAT", "TUPLE_PAT", "SLICE_PAT", @@ -170,10 +171,12 @@ Grammar( "BLOCK_EXPR", "RETURN_EXPR", "MATCH_EXPR", + "MATCH_ARM_LIST", "MATCH_ARM", "MATCH_GUARD", "STRUCT_LIT", - "STRUCT_LIT_FIELD", + "NAMED_FIELD_LIST", + "NAMED_FIELD", // postfix "CALL_EXPR", @@ -190,14 +193,20 @@ Grammar( "RANGE_EXPR", // just weird "BIN_EXPR", - - "EXTERN_BLOCK_EXPR", + "BLOCK", + "EXTERN_BLOCK", + "EXTERN_ITEM_LIST", "ENUM_VARIANT", - "NAMED_FIELD", + "NAMED_FIELD_DEF_LIST", + "NAMED_FIELD_DEF", + "POS_FIELD_LIST", "POS_FIELD", + "ENUM_VARIANT_LIST", + "ITEM_LIST", "ATTR", "META_ITEM", // not an item actually "USE_TREE", + "USE_TREE_LIST", "PATH", "PATH_SEGMENT", "LITERAL", @@ -244,10 +253,10 @@ Grammar( "AttrsOwner", ], collections: [ - ["fields", "NamedField"] + ["fields", "NamedFieldDef"] ] ), - "NamedField": ( traits: ["NameOwner", "AttrsOwner"] ), + "NamedFieldDef": ( traits: ["NameOwner", "AttrsOwner"] ), "EnumDef": ( traits: [ "NameOwner", "TypeParamsOwner", diff --git a/crates/libsyntax2/src/grammar/expressions/atom.rs b/crates/libsyntax2/src/grammar/expressions/atom.rs index 9d98340af3..417366026b 100644 --- a/crates/libsyntax2/src/grammar/expressions/atom.rs +++ b/crates/libsyntax2/src/grammar/expressions/atom.rs @@ -148,7 +148,11 @@ fn lambda_expr(p: &mut Parser) -> CompletedMarker { p.eat(MOVE_KW); params::param_list_opt_types(p); if opt_fn_ret_type(p) { - block(p); + if p.at(L_CURLY) { + block(p); + } else { + p.error("expected a block"); + } } else { expr(p); } @@ -254,6 +258,17 @@ fn match_expr(p: &mut Parser) -> CompletedMarker { let m = p.start(); p.bump(); expr_no_struct(p); + if p.at(L_CURLY) { + match_arm_list(p); + } else { + p.error("expected `{`") + } + m.complete(p, MATCH_EXPR) +} + +fn match_arm_list(p: &mut Parser) { + assert!(p.at(L_CURLY)); + let m = p.start(); p.eat(L_CURLY); while !p.at(EOF) && !p.at(R_CURLY) { // test match_arms_commas @@ -271,7 +286,7 @@ fn match_expr(p: &mut Parser) -> CompletedMarker { } } p.expect(R_CURLY); - m.complete(p, MATCH_EXPR) + m.complete(p, MATCH_ARM_LIST); } // test match_arm @@ -307,62 +322,10 @@ pub(super) fn block_expr(p: &mut Parser) -> CompletedMarker { assert!(p.at(L_CURLY) || p.at(UNSAFE_KW) && p.nth(1) == L_CURLY); let m = p.start(); p.eat(UNSAFE_KW); - p.bump(); - while !p.at(EOF) && !p.at(R_CURLY) { - match p.current() { - LET_KW => let_stmt(p), - _ => { - // test block_items - // fn a() { fn b() {} } - let m = p.start(); - match items::maybe_item(p, items::ItemFlavor::Mod) { - items::MaybeItem::Item(kind) => { - m.complete(p, kind); - } - items::MaybeItem::Modifiers => { - m.abandon(p); - p.error("expected an item"); - } - // test pub_expr - // fn foo() { pub 92; } //FIXME - items::MaybeItem::None => { - let is_blocklike = expressions::expr_stmt(p) == BlockLike::Block; - if p.eat(SEMI) || (is_blocklike && !p.at(R_CURLY)) { - m.complete(p, EXPR_STMT); - } else { - m.abandon(p); - } - } - } - } - } - } - p.expect(R_CURLY); + block(p); m.complete(p, BLOCK_EXPR) } -// test let_stmt; -// fn foo() { -// let a; -// let b: i32; -// let c = 92; -// let d: i32 = 92; -// } -fn let_stmt(p: &mut Parser) { - assert!(p.at(LET_KW)); - let m = p.start(); - p.bump(); - patterns::pattern(p); - if p.at(COLON) { - types::ascription(p); - } - if p.eat(EQ) { - expressions::expr(p); - } - p.expect(SEMI); - m.complete(p, LET_STMT); -} - // test return_expr // fn foo() { // return; diff --git a/crates/libsyntax2/src/grammar/expressions/mod.rs b/crates/libsyntax2/src/grammar/expressions/mod.rs index 9ce0c1f8fe..e133c1d9b9 100644 --- a/crates/libsyntax2/src/grammar/expressions/mod.rs +++ b/crates/libsyntax2/src/grammar/expressions/mod.rs @@ -26,11 +26,62 @@ fn expr_no_struct(p: &mut Parser) { // fn c() { 1; 2; } // fn d() { 1; 2 } pub(super) fn block(p: &mut Parser) { - if !p.at(L_CURLY) { - p.error("expected block"); - return; + assert!(p.at(L_CURLY)); + let m = p.start(); + p.bump(); + while !p.at(EOF) && !p.at(R_CURLY) { + match p.current() { + LET_KW => let_stmt(p), + _ => { + // test block_items + // fn a() { fn b() {} } + let m = p.start(); + match items::maybe_item(p, items::ItemFlavor::Mod) { + items::MaybeItem::Item(kind) => { + m.complete(p, kind); + } + items::MaybeItem::Modifiers => { + m.abandon(p); + p.error("expected an item"); + } + // test pub_expr + // fn foo() { pub 92; } //FIXME + items::MaybeItem::None => { + let is_blocklike = expressions::expr_stmt(p) == BlockLike::Block; + if p.eat(SEMI) || (is_blocklike && !p.at(R_CURLY)) { + m.complete(p, EXPR_STMT); + } else { + m.abandon(p); + } + } + } + } + } + } + p.expect(R_CURLY); + m.complete(p, BLOCK); + + // test let_stmt; + // fn foo() { + // let a; + // let b: i32; + // let c = 92; + // let d: i32 = 92; + // } + fn let_stmt(p: &mut Parser) { + assert!(p.at(LET_KW)); + let m = p.start(); + p.bump(); + patterns::pattern(p); + if p.at(COLON) { + types::ascription(p); + } + if p.eat(EQ) { + expressions::expr(p); + } + p.expect(SEMI); + m.complete(p, LET_STMT); } - atom::block_expr(p); } #[derive(Clone, Copy)] @@ -339,7 +390,7 @@ fn path_expr(p: &mut Parser, r: Restrictions) -> CompletedMarker { paths::expr_path(p); match p.current() { L_CURLY if !r.forbid_structs => { - struct_lit(p); + named_field_list(p); m.complete(p, STRUCT_LIT) } EXCL => { @@ -356,8 +407,9 @@ fn path_expr(p: &mut Parser, r: Restrictions) -> CompletedMarker { // S { x, y: 32, }; // S { x, y: 32, ..Default::default() }; // } -fn struct_lit(p: &mut Parser) { +fn named_field_list(p: &mut Parser) { assert!(p.at(L_CURLY)); + let m = p.start(); p.bump(); while !p.at(EOF) && !p.at(R_CURLY) { match p.current() { @@ -367,7 +419,7 @@ fn struct_lit(p: &mut Parser) { if p.eat(COLON) { expr(p); } - m.complete(p, STRUCT_LIT_FIELD); + m.complete(p, NAMED_FIELD); } DOTDOT => { p.bump(); @@ -380,4 +432,5 @@ fn struct_lit(p: &mut Parser) { } } p.expect(R_CURLY); + m.complete(p, NAMED_FIELD_LIST); } diff --git a/crates/libsyntax2/src/grammar/items/mod.rs b/crates/libsyntax2/src/grammar/items/mod.rs index 18b681ee21..d236fb5067 100644 --- a/crates/libsyntax2/src/grammar/items/mod.rs +++ b/crates/libsyntax2/src/grammar/items/mod.rs @@ -194,8 +194,8 @@ fn items_without_modifiers(p: &mut Parser) -> Option { // extern {} EXTERN_KW if la == L_CURLY || ((la == STRING || la == RAW_STRING) && p.nth(2) == L_CURLY) => { abi(p); - extern_block(p); - EXTERN_BLOCK_EXPR + extern_item_list(p); + EXTERN_BLOCK } _ => return None, }; @@ -212,10 +212,12 @@ fn extern_crate_item(p: &mut Parser) { p.expect(SEMI); } -fn extern_block(p: &mut Parser) { +fn extern_item_list(p: &mut Parser) { assert!(p.at(L_CURLY)); + let m = p.start(); p.bump(); p.expect(R_CURLY); + m.complete(p, EXTERN_ITEM_LIST); } fn function(p: &mut Parser, flavor: ItemFlavor) { @@ -284,14 +286,22 @@ fn mod_item(p: &mut Parser) { p.bump(); name(p); - if !p.eat(SEMI) { - if p.expect(L_CURLY) { - mod_contents(p, true); - p.expect(R_CURLY); - } + if p.at(L_CURLY) { + mod_item_list(p); + } else if !p.eat(SEMI) { + p.error("expected `;` or `{`"); } } +fn mod_item_list(p: &mut Parser) { + assert!(p.at(L_CURLY)); + let m = p.start(); + p.bump(); + mod_contents(p, true); + p.expect(R_CURLY); + m.complete(p, ITEM_LIST); +} + fn macro_call(p: &mut Parser) -> BlockLike { assert!(paths::is_path_start(p)); paths::use_path(p); diff --git a/crates/libsyntax2/src/grammar/items/structs.rs b/crates/libsyntax2/src/grammar/items/structs.rs index cde9d0ae63..ca027d718e 100644 --- a/crates/libsyntax2/src/grammar/items/structs.rs +++ b/crates/libsyntax2/src/grammar/items/structs.rs @@ -14,7 +14,7 @@ pub(super) fn struct_def(p: &mut Parser) { p.bump(); return; } - L_CURLY => named_fields(p), + L_CURLY => named_field_def_list(p), _ => { //TODO: special case `(` error message p.error("expected `;` or `{`"); @@ -26,9 +26,9 @@ pub(super) fn struct_def(p: &mut Parser) { p.bump(); return; } - L_CURLY => named_fields(p), + L_CURLY => named_field_def_list(p), L_PAREN => { - pos_fields(p); + pos_field_list(p); p.expect(SEMI); } _ => { @@ -44,46 +44,58 @@ pub(super) fn enum_def(p: &mut Parser) { name(p); type_params::opt_type_param_list(p); type_params::opt_where_clause(p); - if p.expect(L_CURLY) { - while !p.at(EOF) && !p.at(R_CURLY) { - let var = p.start(); - attributes::outer_attributes(p); - if p.at(IDENT) { - name(p); - match p.current() { - L_CURLY => named_fields(p), - L_PAREN => pos_fields(p), - EQ => { - p.bump(); - expressions::expr(p); - } - _ => (), - } - var.complete(p, ENUM_VARIANT); - } else { - var.abandon(p); - p.err_and_bump("expected enum variant"); - } - if !p.at(R_CURLY) { - p.expect(COMMA); - } - } - p.expect(R_CURLY); + if p.at(L_CURLY) { + enum_variant_list(p); + } else { + p.error("expected `{`") } } -fn named_fields(p: &mut Parser) { +fn enum_variant_list(p: &mut Parser) { assert!(p.at(L_CURLY)); + let m = p.start(); p.bump(); - while !p.at(R_CURLY) && !p.at(EOF) { - named_field(p); + while !p.at(EOF) && !p.at(R_CURLY) { + let var = p.start(); + attributes::outer_attributes(p); + if p.at(IDENT) { + name(p); + match p.current() { + L_CURLY => named_field_def_list(p), + L_PAREN => pos_field_list(p), + EQ => { + p.bump(); + expressions::expr(p); + } + _ => (), + } + var.complete(p, ENUM_VARIANT); + } else { + var.abandon(p); + p.err_and_bump("expected enum variant"); + } if !p.at(R_CURLY) { p.expect(COMMA); } } p.expect(R_CURLY); + m.complete(p, ENUM_VARIANT_LIST); +} - fn named_field(p: &mut Parser) { +fn named_field_def_list(p: &mut Parser) { + assert!(p.at(L_CURLY)); + let m = p.start(); + p.bump(); + while !p.at(R_CURLY) && !p.at(EOF) { + named_field_def(p); + if !p.at(R_CURLY) { + p.expect(COMMA); + } + } + p.expect(R_CURLY); + m.complete(p, NAMED_FIELD_DEF_LIST); + + fn named_field_def(p: &mut Parser) { let m = p.start(); // test field_attrs // struct S { @@ -96,7 +108,7 @@ fn named_fields(p: &mut Parser) { name(p); p.expect(COLON); types::type_(p); - m.complete(p, NAMED_FIELD); + m.complete(p, NAMED_FIELD_DEF); } else { m.abandon(p); p.err_and_bump("expected field declaration"); @@ -104,7 +116,9 @@ fn named_fields(p: &mut Parser) { } } -fn pos_fields(p: &mut Parser) { +fn pos_field_list(p: &mut Parser) { + assert!(p.at(L_PAREN)); + let m = p.start(); if !p.expect(L_PAREN) { return; } @@ -119,4 +133,5 @@ fn pos_fields(p: &mut Parser) { } } p.expect(R_PAREN); + m.complete(p, POS_FIELD_LIST); } diff --git a/crates/libsyntax2/src/grammar/items/traits.rs b/crates/libsyntax2/src/grammar/items/traits.rs index 73ecd4bef9..3853ccaab7 100644 --- a/crates/libsyntax2/src/grammar/items/traits.rs +++ b/crates/libsyntax2/src/grammar/items/traits.rs @@ -11,18 +11,29 @@ pub(super) fn trait_def(p: &mut Parser) { type_params::bounds(p); } type_params::opt_where_clause(p); - p.expect(L_CURLY); - // test trait_item_items - // impl F { - // type A: Clone; - // const B: i32; - // fn foo() {} - // fn bar(&self); - // } + if p.at(L_CURLY) { + trait_item_list(p); + } else { + p.error("expected `{`"); + } +} + +// test trait_item_list +// impl F { +// type A: Clone; +// const B: i32; +// fn foo() {} +// fn bar(&self); +// } +fn trait_item_list(p: &mut Parser) { + assert!(p.at(L_CURLY)); + let m = p.start(); + p.bump(); while !p.at(EOF) && !p.at(R_CURLY) { item_or_macro(p, true, ItemFlavor::Trait); } p.expect(R_CURLY); + m.complete(p, ITEM_LIST); } // test impl_item @@ -45,19 +56,30 @@ pub(super) fn impl_item(p: &mut Parser) { types::type_(p); } type_params::opt_where_clause(p); - p.expect(L_CURLY); + if p.at(L_CURLY) { + impl_item_list(p); + } else { + p.error("expected `{`"); + } +} + +// test impl_item_list +// impl F { +// type A = i32; +// const B: i32 = 92; +// fn foo() {} +// fn bar(&self) {} +// } +fn impl_item_list(p: &mut Parser) { + assert!(p.at(L_CURLY)); + let m = p.start(); + p.bump(); - // test impl_item_items - // impl F { - // type A = i32; - // const B: i32 = 92; - // fn foo() {} - // fn bar(&self) {} - // } while !p.at(EOF) && !p.at(R_CURLY) { item_or_macro(p, true, ItemFlavor::Mod); } p.expect(R_CURLY); + m.complete(p, ITEM_LIST); } fn choose_type_params_over_qpath(p: &Parser) -> bool { diff --git a/crates/libsyntax2/src/grammar/items/use_item.rs b/crates/libsyntax2/src/grammar/items/use_item.rs index 3da40a6292..2fbf2234af 100644 --- a/crates/libsyntax2/src/grammar/items/use_item.rs +++ b/crates/libsyntax2/src/grammar/items/use_item.rs @@ -20,7 +20,7 @@ fn use_tree(p: &mut Parser) { if p.at(COLONCOLON) { p.bump(); } - nested_trees(p); + use_tree_list(p); } _ if paths::is_path_start(p) => { paths::use_path(p); @@ -34,7 +34,7 @@ fn use_tree(p: &mut Parser) { STAR => { p.bump(); } - L_CURLY => nested_trees(p), + L_CURLY => use_tree_list(p), _ => { // is this unreachable? p.error("expected `{` or `*`"); @@ -53,8 +53,9 @@ fn use_tree(p: &mut Parser) { m.complete(p, USE_TREE); } -fn nested_trees(p: &mut Parser) { +fn use_tree_list(p: &mut Parser) { assert!(p.at(L_CURLY)); + let m = p.start(); p.bump(); while !p.at(EOF) && !p.at(R_CURLY) { use_tree(p); @@ -63,4 +64,5 @@ fn nested_trees(p: &mut Parser) { } } p.expect(R_CURLY); + m.complete(p, USE_TREE_LIST); } diff --git a/crates/libsyntax2/src/grammar/mod.rs b/crates/libsyntax2/src/grammar/mod.rs index 25887921b2..0f118f12da 100644 --- a/crates/libsyntax2/src/grammar/mod.rs +++ b/crates/libsyntax2/src/grammar/mod.rs @@ -144,18 +144,21 @@ fn name_ref(p: &mut Parser) { } fn error_block(p: &mut Parser, message: &str) { - assert!(p.at(L_CURLY)); - let err = p.start(); - p.error(message); - p.bump(); - let mut level: u32 = 1; - while level > 0 && !p.at(EOF) { - match p.current() { - L_CURLY => level += 1, - R_CURLY => level -= 1, - _ => (), + go(p, Some(message)); + fn go(p: &mut Parser, message: Option<&str>) { + assert!(p.at(L_CURLY)); + let m = p.start(); + if let Some(message) = message { + p.error(message); } p.bump(); + while !p.at(EOF) && !p.at(R_CURLY) { + match p.current() { + L_CURLY => go(p, None), + _ => p.bump(), + } + } + p.eat(R_CURLY); + m.complete(p, ERROR); } - err.complete(p, ERROR); } diff --git a/crates/libsyntax2/src/grammar/patterns.rs b/crates/libsyntax2/src/grammar/patterns.rs index 71a1d5445f..7ddbfa318a 100644 --- a/crates/libsyntax2/src/grammar/patterns.rs +++ b/crates/libsyntax2/src/grammar/patterns.rs @@ -69,7 +69,7 @@ fn path_pat(p: &mut Parser) -> CompletedMarker { TUPLE_STRUCT_PAT } L_CURLY => { - struct_pat_fields(p); + field_pat_list(p); STRUCT_PAT } _ => PATH_PAT @@ -99,15 +99,16 @@ fn tuple_pat_fields(p: &mut Parser) { p.expect(R_PAREN); } -// test struct_pat_fields +// test field_pat_list // fn foo() { // let S {} = (); // let S { f, ref mut g } = (); // let S { h: _, ..} = (); // let S { h: _, } = (); // } -fn struct_pat_fields(p: &mut Parser) { +fn field_pat_list(p: &mut Parser) { assert!(p.at(L_CURLY)); + let m = p.start(); p.bump(); while !p.at(EOF) && !p.at(R_CURLY) { match p.current() { @@ -126,6 +127,7 @@ fn struct_pat_fields(p: &mut Parser) { } } p.expect(R_CURLY); + m.complete(p, FIELD_PAT_LIST); } // test placeholder_pat diff --git a/crates/libsyntax2/src/lib.rs b/crates/libsyntax2/src/lib.rs index 53ae189889..d3ecbe4704 100644 --- a/crates/libsyntax2/src/lib.rs +++ b/crates/libsyntax2/src/lib.rs @@ -53,5 +53,31 @@ pub use { pub fn parse(text: &str) -> SyntaxNode { let tokens = tokenize(&text); - parser_impl::parse::(text, &tokens) + let res = parser_impl::parse::(text, &tokens); + validate_block_structure(res.borrowed()); + res +} + +fn validate_block_structure(root: SyntaxNodeRef) { + let mut stack = Vec::new(); + for node in algo::walk::preorder(root) { + match node.kind() { + SyntaxKind::L_CURLY => { + stack.push(node) + } + SyntaxKind::R_CURLY => { + if let Some(pair) = stack.pop() { + assert_eq!(node.parent(), pair.parent()); + assert!( + node.next_sibling().is_none() && pair.prev_sibling().is_none(), + "floating curlys at {:?}\nfile:\n{}\nerror:\n{}\n", + node, + root.text(), + node.text(), + ); + } + } + _ => (), + } + } } diff --git a/crates/libsyntax2/src/syntax_kinds/generated.rs b/crates/libsyntax2/src/syntax_kinds/generated.rs index 61d527f936..6c7f44aee6 100644 --- a/crates/libsyntax2/src/syntax_kinds/generated.rs +++ b/crates/libsyntax2/src/syntax_kinds/generated.rs @@ -147,6 +147,7 @@ pub enum SyntaxKind { PLACEHOLDER_PAT, PATH_PAT, STRUCT_PAT, + FIELD_PAT_LIST, TUPLE_STRUCT_PAT, TUPLE_PAT, SLICE_PAT, @@ -166,10 +167,12 @@ pub enum SyntaxKind { BLOCK_EXPR, RETURN_EXPR, MATCH_EXPR, + MATCH_ARM_LIST, MATCH_ARM, MATCH_GUARD, STRUCT_LIT, - STRUCT_LIT_FIELD, + NAMED_FIELD_LIST, + NAMED_FIELD, CALL_EXPR, INDEX_EXPR, METHOD_CALL_EXPR, @@ -180,13 +183,20 @@ pub enum SyntaxKind { PREFIX_EXPR, RANGE_EXPR, BIN_EXPR, - EXTERN_BLOCK_EXPR, + BLOCK, + EXTERN_BLOCK, + EXTERN_ITEM_LIST, ENUM_VARIANT, - NAMED_FIELD, + NAMED_FIELD_DEF_LIST, + NAMED_FIELD_DEF, + POS_FIELD_LIST, POS_FIELD, + ENUM_VARIANT_LIST, + ITEM_LIST, ATTR, META_ITEM, USE_TREE, + USE_TREE_LIST, PATH, PATH_SEGMENT, LITERAL, @@ -397,6 +407,7 @@ impl SyntaxKind { PLACEHOLDER_PAT => &SyntaxInfo { name: "PLACEHOLDER_PAT" }, PATH_PAT => &SyntaxInfo { name: "PATH_PAT" }, STRUCT_PAT => &SyntaxInfo { name: "STRUCT_PAT" }, + FIELD_PAT_LIST => &SyntaxInfo { name: "FIELD_PAT_LIST" }, TUPLE_STRUCT_PAT => &SyntaxInfo { name: "TUPLE_STRUCT_PAT" }, TUPLE_PAT => &SyntaxInfo { name: "TUPLE_PAT" }, SLICE_PAT => &SyntaxInfo { name: "SLICE_PAT" }, @@ -416,10 +427,12 @@ impl SyntaxKind { BLOCK_EXPR => &SyntaxInfo { name: "BLOCK_EXPR" }, RETURN_EXPR => &SyntaxInfo { name: "RETURN_EXPR" }, MATCH_EXPR => &SyntaxInfo { name: "MATCH_EXPR" }, + MATCH_ARM_LIST => &SyntaxInfo { name: "MATCH_ARM_LIST" }, MATCH_ARM => &SyntaxInfo { name: "MATCH_ARM" }, MATCH_GUARD => &SyntaxInfo { name: "MATCH_GUARD" }, STRUCT_LIT => &SyntaxInfo { name: "STRUCT_LIT" }, - STRUCT_LIT_FIELD => &SyntaxInfo { name: "STRUCT_LIT_FIELD" }, + NAMED_FIELD_LIST => &SyntaxInfo { name: "NAMED_FIELD_LIST" }, + NAMED_FIELD => &SyntaxInfo { name: "NAMED_FIELD" }, CALL_EXPR => &SyntaxInfo { name: "CALL_EXPR" }, INDEX_EXPR => &SyntaxInfo { name: "INDEX_EXPR" }, METHOD_CALL_EXPR => &SyntaxInfo { name: "METHOD_CALL_EXPR" }, @@ -430,13 +443,20 @@ impl SyntaxKind { PREFIX_EXPR => &SyntaxInfo { name: "PREFIX_EXPR" }, RANGE_EXPR => &SyntaxInfo { name: "RANGE_EXPR" }, BIN_EXPR => &SyntaxInfo { name: "BIN_EXPR" }, - EXTERN_BLOCK_EXPR => &SyntaxInfo { name: "EXTERN_BLOCK_EXPR" }, + BLOCK => &SyntaxInfo { name: "BLOCK" }, + EXTERN_BLOCK => &SyntaxInfo { name: "EXTERN_BLOCK" }, + EXTERN_ITEM_LIST => &SyntaxInfo { name: "EXTERN_ITEM_LIST" }, ENUM_VARIANT => &SyntaxInfo { name: "ENUM_VARIANT" }, - NAMED_FIELD => &SyntaxInfo { name: "NAMED_FIELD" }, + NAMED_FIELD_DEF_LIST => &SyntaxInfo { name: "NAMED_FIELD_DEF_LIST" }, + NAMED_FIELD_DEF => &SyntaxInfo { name: "NAMED_FIELD_DEF" }, + POS_FIELD_LIST => &SyntaxInfo { name: "POS_FIELD_LIST" }, POS_FIELD => &SyntaxInfo { name: "POS_FIELD" }, + ENUM_VARIANT_LIST => &SyntaxInfo { name: "ENUM_VARIANT_LIST" }, + ITEM_LIST => &SyntaxInfo { name: "ITEM_LIST" }, ATTR => &SyntaxInfo { name: "ATTR" }, META_ITEM => &SyntaxInfo { name: "META_ITEM" }, USE_TREE => &SyntaxInfo { name: "USE_TREE" }, + USE_TREE_LIST => &SyntaxInfo { name: "USE_TREE_LIST" }, PATH => &SyntaxInfo { name: "PATH" }, PATH_SEGMENT => &SyntaxInfo { name: "PATH_SEGMENT" }, LITERAL => &SyntaxInfo { name: "LITERAL" }, diff --git a/crates/libsyntax2/tests/data/parser/err/0000_struct_field_missing_comma.txt b/crates/libsyntax2/tests/data/parser/err/0000_struct_field_missing_comma.txt index cd9cf54c63..8ab435821f 100644 --- a/crates/libsyntax2/tests/data/parser/err/0000_struct_field_missing_comma.txt +++ b/crates/libsyntax2/tests/data/parser/err/0000_struct_field_missing_comma.txt @@ -5,29 +5,30 @@ FILE@[0; 34) NAME@[7; 8) IDENT@[7; 8) "S" WHITESPACE@[8; 9) - L_CURLY@[9; 10) - WHITESPACE@[10; 15) - NAMED_FIELD@[15; 21) - NAME@[15; 16) - IDENT@[15; 16) "a" - COLON@[16; 17) - WHITESPACE@[17; 18) - PATH_TYPE@[18; 21) - PATH@[18; 21) - PATH_SEGMENT@[18; 21) - NAME_REF@[18; 21) - IDENT@[18; 21) "u32" - err: `expected COMMA` - WHITESPACE@[21; 26) - NAMED_FIELD@[26; 32) - NAME@[26; 27) - IDENT@[26; 27) "b" - COLON@[27; 28) - WHITESPACE@[28; 29) - PATH_TYPE@[29; 32) - PATH@[29; 32) - PATH_SEGMENT@[29; 32) - NAME_REF@[29; 32) - IDENT@[29; 32) "u32" - WHITESPACE@[32; 33) - R_CURLY@[33; 34) + NAMED_FIELD_DEF_LIST@[9; 34) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + NAMED_FIELD_DEF@[15; 21) + NAME@[15; 16) + IDENT@[15; 16) "a" + COLON@[16; 17) + WHITESPACE@[17; 18) + PATH_TYPE@[18; 21) + PATH@[18; 21) + PATH_SEGMENT@[18; 21) + NAME_REF@[18; 21) + IDENT@[18; 21) "u32" + err: `expected COMMA` + WHITESPACE@[21; 26) + NAMED_FIELD_DEF@[26; 32) + NAME@[26; 27) + IDENT@[26; 27) "b" + COLON@[27; 28) + WHITESPACE@[28; 29) + PATH_TYPE@[29; 32) + PATH@[29; 32) + PATH_SEGMENT@[29; 32) + NAME_REF@[29; 32) + IDENT@[29; 32) "u32" + WHITESPACE@[32; 33) + R_CURLY@[33; 34) diff --git a/crates/libsyntax2/tests/data/parser/err/0001_item_recovery_in_file.txt b/crates/libsyntax2/tests/data/parser/err/0001_item_recovery_in_file.txt index e974b6e8c1..9c0394e25d 100644 --- a/crates/libsyntax2/tests/data/parser/err/0001_item_recovery_in_file.txt +++ b/crates/libsyntax2/tests/data/parser/err/0001_item_recovery_in_file.txt @@ -13,5 +13,6 @@ FILE@[0; 21) NAME@[17; 18) IDENT@[17; 18) "S" WHITESPACE@[18; 19) - L_CURLY@[19; 20) - R_CURLY@[20; 21) + NAMED_FIELD_DEF_LIST@[19; 21) + L_CURLY@[19; 20) + R_CURLY@[20; 21) diff --git a/crates/libsyntax2/tests/data/parser/err/0003_C++_semicolon.txt b/crates/libsyntax2/tests/data/parser/err/0003_C++_semicolon.txt index 01d12a646d..13558d07e4 100644 --- a/crates/libsyntax2/tests/data/parser/err/0003_C++_semicolon.txt +++ b/crates/libsyntax2/tests/data/parser/err/0003_C++_semicolon.txt @@ -5,34 +5,35 @@ FILE@[0; 40) NAME@[7; 8) IDENT@[7; 8) "S" WHITESPACE@[8; 9) - L_CURLY@[9; 10) - WHITESPACE@[10; 15) - NAMED_FIELD@[15; 21) - NAME@[15; 16) - IDENT@[15; 16) "a" - COLON@[16; 17) - WHITESPACE@[17; 18) - PATH_TYPE@[18; 21) - PATH@[18; 21) - PATH_SEGMENT@[18; 21) - NAME_REF@[18; 21) - IDENT@[18; 21) "i32" - COMMA@[21; 22) - WHITESPACE@[22; 27) - NAMED_FIELD@[27; 36) - NAME@[27; 28) - IDENT@[27; 28) "b" - COLON@[28; 29) - WHITESPACE@[29; 30) - PATH_TYPE@[30; 36) - PATH@[30; 36) - PATH_SEGMENT@[30; 36) - NAME_REF@[30; 36) - IDENT@[30; 36) "String" - COMMA@[36; 37) - WHITESPACE@[37; 38) - R_CURLY@[38; 39) - err: `expected item, found `;` + NAMED_FIELD_DEF_LIST@[9; 39) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + NAMED_FIELD_DEF@[15; 21) + NAME@[15; 16) + IDENT@[15; 16) "a" + COLON@[16; 17) + WHITESPACE@[17; 18) + PATH_TYPE@[18; 21) + PATH@[18; 21) + PATH_SEGMENT@[18; 21) + NAME_REF@[18; 21) + IDENT@[18; 21) "i32" + COMMA@[21; 22) + WHITESPACE@[22; 27) + NAMED_FIELD_DEF@[27; 36) + NAME@[27; 28) + IDENT@[27; 28) "b" + COLON@[28; 29) + WHITESPACE@[29; 30) + PATH_TYPE@[30; 36) + PATH@[30; 36) + PATH_SEGMENT@[30; 36) + NAME_REF@[30; 36) + IDENT@[30; 36) "String" + COMMA@[36; 37) + WHITESPACE@[37; 38) + R_CURLY@[38; 39) + err: `expected item, found `;` consider removing this semicolon` ERROR@[39; 40) SEMI@[39; 40) diff --git a/crates/libsyntax2/tests/data/parser/err/0005_attribute_recover.txt b/crates/libsyntax2/tests/data/parser/err/0005_attribute_recover.txt index 12451c892e..8843e83721 100644 --- a/crates/libsyntax2/tests/data/parser/err/0005_attribute_recover.txt +++ b/crates/libsyntax2/tests/data/parser/err/0005_attribute_recover.txt @@ -25,7 +25,7 @@ FILE@[0; 54) L_PAREN@[25; 26) R_PAREN@[26; 27) WHITESPACE@[27; 28) - BLOCK_EXPR@[28; 31) + BLOCK@[28; 31) L_CURLY@[28; 29) WHITESPACE@[29; 30) R_CURLY@[30; 31) diff --git a/crates/libsyntax2/tests/data/parser/err/0006_named_field_recovery.txt b/crates/libsyntax2/tests/data/parser/err/0006_named_field_recovery.txt index 0b6fa65df8..e6e33cdbd4 100644 --- a/crates/libsyntax2/tests/data/parser/err/0006_named_field_recovery.txt +++ b/crates/libsyntax2/tests/data/parser/err/0006_named_field_recovery.txt @@ -5,69 +5,70 @@ FILE@[0; 74) NAME@[7; 8) IDENT@[7; 8) "S" WHITESPACE@[8; 9) - L_CURLY@[9; 10) - WHITESPACE@[10; 15) - NAMED_FIELD@[15; 21) - NAME@[15; 16) - IDENT@[15; 16) "f" - COLON@[16; 17) - WHITESPACE@[17; 18) - PATH_TYPE@[18; 21) - PATH@[18; 21) - PATH_SEGMENT@[18; 21) - NAME_REF@[18; 21) - IDENT@[18; 21) "u32" - COMMA@[21; 22) - WHITESPACE@[22; 27) - VISIBILITY@[27; 30) - PUB_KW@[27; 30) - WHITESPACE@[30; 31) - err: `expected field declaration` - ERROR@[31; 33) - INT_NUMBER@[31; 33) "92" - err: `expected COMMA` - WHITESPACE@[33; 38) - err: `expected field declaration` - ERROR@[38; 39) - PLUS@[38; 39) - err: `expected COMMA` - WHITESPACE@[39; 40) - err: `expected field declaration` - ERROR@[40; 41) - MINUS@[40; 41) - err: `expected COMMA` - WHITESPACE@[41; 42) - err: `expected field declaration` - ERROR@[42; 43) - STAR@[42; 43) - err: `expected COMMA` - WHITESPACE@[43; 48) - NAMED_FIELD@[48; 58) - VISIBILITY@[48; 51) - PUB_KW@[48; 51) - WHITESPACE@[51; 52) - NAME@[52; 53) - IDENT@[52; 53) "x" - COLON@[53; 54) - WHITESPACE@[54; 55) - PATH_TYPE@[55; 58) - PATH@[55; 58) - PATH_SEGMENT@[55; 58) - NAME_REF@[55; 58) - IDENT@[55; 58) "u32" - COMMA@[58; 59) - WHITESPACE@[59; 64) - NAMED_FIELD@[64; 70) - NAME@[64; 65) - IDENT@[64; 65) "z" - COLON@[65; 66) - WHITESPACE@[66; 67) - PATH_TYPE@[67; 70) - PATH@[67; 70) - PATH_SEGMENT@[67; 70) - NAME_REF@[67; 70) - IDENT@[67; 70) "f64" - COMMA@[70; 71) - WHITESPACE@[71; 72) - R_CURLY@[72; 73) + NAMED_FIELD_DEF_LIST@[9; 73) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + NAMED_FIELD_DEF@[15; 21) + NAME@[15; 16) + IDENT@[15; 16) "f" + COLON@[16; 17) + WHITESPACE@[17; 18) + PATH_TYPE@[18; 21) + PATH@[18; 21) + PATH_SEGMENT@[18; 21) + NAME_REF@[18; 21) + IDENT@[18; 21) "u32" + COMMA@[21; 22) + WHITESPACE@[22; 27) + VISIBILITY@[27; 30) + PUB_KW@[27; 30) + WHITESPACE@[30; 31) + err: `expected field declaration` + ERROR@[31; 33) + INT_NUMBER@[31; 33) "92" + err: `expected COMMA` + WHITESPACE@[33; 38) + err: `expected field declaration` + ERROR@[38; 39) + PLUS@[38; 39) + err: `expected COMMA` + WHITESPACE@[39; 40) + err: `expected field declaration` + ERROR@[40; 41) + MINUS@[40; 41) + err: `expected COMMA` + WHITESPACE@[41; 42) + err: `expected field declaration` + ERROR@[42; 43) + STAR@[42; 43) + err: `expected COMMA` + WHITESPACE@[43; 48) + NAMED_FIELD_DEF@[48; 58) + VISIBILITY@[48; 51) + PUB_KW@[48; 51) + WHITESPACE@[51; 52) + NAME@[52; 53) + IDENT@[52; 53) "x" + COLON@[53; 54) + WHITESPACE@[54; 55) + PATH_TYPE@[55; 58) + PATH@[55; 58) + PATH_SEGMENT@[55; 58) + NAME_REF@[55; 58) + IDENT@[55; 58) "u32" + COMMA@[58; 59) + WHITESPACE@[59; 64) + NAMED_FIELD_DEF@[64; 70) + NAME@[64; 65) + IDENT@[64; 65) "z" + COLON@[65; 66) + WHITESPACE@[66; 67) + PATH_TYPE@[67; 70) + PATH@[67; 70) + PATH_SEGMENT@[67; 70) + NAME_REF@[67; 70) + IDENT@[67; 70) "f64" + COMMA@[70; 71) + WHITESPACE@[71; 72) + R_CURLY@[72; 73) WHITESPACE@[73; 74) diff --git a/crates/libsyntax2/tests/data/parser/err/0007_stray_curly_in_file.txt b/crates/libsyntax2/tests/data/parser/err/0007_stray_curly_in_file.txt index cff8353d44..9642ed5bc3 100644 --- a/crates/libsyntax2/tests/data/parser/err/0007_stray_curly_in_file.txt +++ b/crates/libsyntax2/tests/data/parser/err/0007_stray_curly_in_file.txt @@ -22,7 +22,7 @@ FILE@[0; 31) PARAM_LIST@[23; 25) L_PAREN@[23; 24) R_PAREN@[24; 25) - BLOCK_EXPR@[25; 27) + BLOCK@[25; 27) L_CURLY@[25; 26) R_CURLY@[26; 27) WHITESPACE@[27; 29) diff --git a/crates/libsyntax2/tests/data/parser/err/0008_item_block_recovery.txt b/crates/libsyntax2/tests/data/parser/err/0008_item_block_recovery.txt index 68f2b8aa5c..5a062acabe 100644 --- a/crates/libsyntax2/tests/data/parser/err/0008_item_block_recovery.txt +++ b/crates/libsyntax2/tests/data/parser/err/0008_item_block_recovery.txt @@ -8,7 +8,7 @@ FILE@[0; 95) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 12) + BLOCK@[9; 12) L_CURLY@[9; 10) WHITESPACE@[10; 11) R_CURLY@[11; 12) @@ -32,23 +32,25 @@ FILE@[0; 95) WHITESPACE@[28; 29) TRUE_KW@[29; 33) WHITESPACE@[33; 34) - L_CURLY@[34; 35) - WHITESPACE@[35; 44) - INT_NUMBER@[44; 45) "1" - WHITESPACE@[45; 50) - R_CURLY@[50; 51) + ERROR@[34; 51) + L_CURLY@[34; 35) + WHITESPACE@[35; 44) + INT_NUMBER@[44; 45) "1" + WHITESPACE@[45; 50) + R_CURLY@[50; 51) WHITESPACE@[51; 52) ELSE_KW@[52; 56) WHITESPACE@[56; 57) - L_CURLY@[57; 58) - WHITESPACE@[58; 67) - INT_NUMBER@[67; 68) "2" - WHITESPACE@[68; 69) - PLUS@[69; 70) - WHITESPACE@[70; 71) - INT_NUMBER@[71; 72) "3" - WHITESPACE@[72; 77) - R_CURLY@[77; 78) + ERROR@[57; 78) + L_CURLY@[57; 58) + WHITESPACE@[58; 67) + INT_NUMBER@[67; 68) "2" + WHITESPACE@[68; 69) + PLUS@[69; 70) + WHITESPACE@[70; 71) + INT_NUMBER@[71; 72) "3" + WHITESPACE@[72; 77) + R_CURLY@[77; 78) WHITESPACE@[78; 79) R_CURLY@[79; 80) WHITESPACE@[80; 82) @@ -61,7 +63,7 @@ FILE@[0; 95) L_PAREN@[88; 89) R_PAREN@[89; 90) WHITESPACE@[90; 91) - BLOCK_EXPR@[91; 94) + BLOCK@[91; 94) L_CURLY@[91; 92) WHITESPACE@[92; 93) R_CURLY@[93; 94) diff --git a/crates/libsyntax2/tests/data/parser/err/0010_unsafe_lambda_block.txt b/crates/libsyntax2/tests/data/parser/err/0010_unsafe_lambda_block.txt index b18de3a9cb..e453c36515 100644 --- a/crates/libsyntax2/tests/data/parser/err/0010_unsafe_lambda_block.txt +++ b/crates/libsyntax2/tests/data/parser/err/0010_unsafe_lambda_block.txt @@ -8,7 +8,7 @@ FILE@[0; 42) L_PAREN@[7; 8) R_PAREN@[8; 9) WHITESPACE@[9; 10) - BLOCK_EXPR@[10; 41) + BLOCK@[10; 41) L_CURLY@[10; 11) WHITESPACE@[11; 16) LAMBDA_EXPR@[16; 24) @@ -21,19 +21,20 @@ FILE@[0; 42) TUPLE_TYPE@[22; 24) L_PAREN@[22; 23) R_PAREN@[23; 24) - err: `expected block` + err: `expected a block` WHITESPACE@[24; 25) EXPR_STMT@[25; 39) BLOCK_EXPR@[25; 38) UNSAFE_KW@[25; 31) WHITESPACE@[31; 32) - L_CURLY@[32; 33) - WHITESPACE@[33; 34) - TUPLE_EXPR@[34; 36) - L_PAREN@[34; 35) - R_PAREN@[35; 36) - WHITESPACE@[36; 37) - R_CURLY@[37; 38) + BLOCK@[32; 38) + L_CURLY@[32; 33) + WHITESPACE@[33; 34) + TUPLE_EXPR@[34; 36) + L_PAREN@[34; 35) + R_PAREN@[35; 36) + WHITESPACE@[36; 37) + R_CURLY@[37; 38) SEMI@[38; 39) WHITESPACE@[39; 40) R_CURLY@[40; 41) diff --git a/crates/libsyntax2/tests/data/parser/err/0013_invalid_type.txt b/crates/libsyntax2/tests/data/parser/err/0013_invalid_type.txt index 3ec4be9fa8..7f48502da1 100644 --- a/crates/libsyntax2/tests/data/parser/err/0013_invalid_type.txt +++ b/crates/libsyntax2/tests/data/parser/err/0013_invalid_type.txt @@ -7,76 +7,77 @@ FILE@[0; 86) WHITESPACE@[10; 11) NAME@[11; 16) IDENT@[11; 16) "Cache" - L_PAREN@[16; 17) - WHITESPACE@[17; 22) - POS_FIELD@[22; 68) - PATH_TYPE@[22; 68) - PATH@[22; 68) - PATH_SEGMENT@[22; 68) - NAME_REF@[22; 29) - IDENT@[22; 29) "RefCell" - TYPE_ARG_LIST@[29; 68) - L_ANGLE@[29; 30) - TYPE_ARG@[30; 68) - PATH_TYPE@[30; 68) - PATH@[30; 68) - PATH_SEGMENT@[30; 68) - NAME_REF@[30; 37) - IDENT@[30; 37) "HashMap" - TYPE_ARG_LIST@[37; 68) - L_ANGLE@[37; 38) - WHITESPACE@[38; 47) - TYPE_ARG@[47; 53) - PATH_TYPE@[47; 53) - PATH@[47; 53) - PATH_SEGMENT@[47; 53) - NAME_REF@[47; 53) - IDENT@[47; 53) "TypeId" - COMMA@[53; 54) - WHITESPACE@[54; 63) - TYPE_ARG@[63; 68) - PATH_TYPE@[63; 68) - PATH@[63; 68) - PATH_SEGMENT@[63; 68) - NAME_REF@[63; 66) - IDENT@[63; 66) "Box" - TYPE_ARG_LIST@[66; 68) - L_ANGLE@[66; 67) - err: `expected type` - TYPE_ARG@[67; 68) - ERROR@[67; 68) - AT@[67; 68) - err: `expected COMMA` - err: `expected R_ANGLE` - err: `expected COMMA` - err: `expected R_ANGLE` - err: `expected COMMA` - err: `expected R_ANGLE` - err: `expected COMMA` - WHITESPACE@[68; 69) - POS_FIELD@[69; 72) - PATH_TYPE@[69; 72) - PATH@[69; 72) - PATH_SEGMENT@[69; 72) - NAME_REF@[69; 72) - IDENT@[69; 72) "Any" - err: `expected COMMA` - err: `expected type` - POS_FIELD@[72; 73) - ERROR@[72; 73) - R_ANGLE@[72; 73) - COMMA@[73; 74) - WHITESPACE@[74; 79) - err: `expected type` - POS_FIELD@[79; 80) - ERROR@[79; 80) - R_ANGLE@[79; 80) - err: `expected COMMA` - err: `expected type` - POS_FIELD@[80; 81) - ERROR@[80; 81) - R_ANGLE@[80; 81) - WHITESPACE@[81; 82) - R_PAREN@[82; 83) + POS_FIELD_LIST@[16; 83) + L_PAREN@[16; 17) + WHITESPACE@[17; 22) + POS_FIELD@[22; 68) + PATH_TYPE@[22; 68) + PATH@[22; 68) + PATH_SEGMENT@[22; 68) + NAME_REF@[22; 29) + IDENT@[22; 29) "RefCell" + TYPE_ARG_LIST@[29; 68) + L_ANGLE@[29; 30) + TYPE_ARG@[30; 68) + PATH_TYPE@[30; 68) + PATH@[30; 68) + PATH_SEGMENT@[30; 68) + NAME_REF@[30; 37) + IDENT@[30; 37) "HashMap" + TYPE_ARG_LIST@[37; 68) + L_ANGLE@[37; 38) + WHITESPACE@[38; 47) + TYPE_ARG@[47; 53) + PATH_TYPE@[47; 53) + PATH@[47; 53) + PATH_SEGMENT@[47; 53) + NAME_REF@[47; 53) + IDENT@[47; 53) "TypeId" + COMMA@[53; 54) + WHITESPACE@[54; 63) + TYPE_ARG@[63; 68) + PATH_TYPE@[63; 68) + PATH@[63; 68) + PATH_SEGMENT@[63; 68) + NAME_REF@[63; 66) + IDENT@[63; 66) "Box" + TYPE_ARG_LIST@[66; 68) + L_ANGLE@[66; 67) + err: `expected type` + TYPE_ARG@[67; 68) + ERROR@[67; 68) + AT@[67; 68) + err: `expected COMMA` + err: `expected R_ANGLE` + err: `expected COMMA` + err: `expected R_ANGLE` + err: `expected COMMA` + err: `expected R_ANGLE` + err: `expected COMMA` + WHITESPACE@[68; 69) + POS_FIELD@[69; 72) + PATH_TYPE@[69; 72) + PATH@[69; 72) + PATH_SEGMENT@[69; 72) + NAME_REF@[69; 72) + IDENT@[69; 72) "Any" + err: `expected COMMA` + err: `expected type` + POS_FIELD@[72; 73) + ERROR@[72; 73) + R_ANGLE@[72; 73) + COMMA@[73; 74) + WHITESPACE@[74; 79) + err: `expected type` + POS_FIELD@[79; 80) + ERROR@[79; 80) + R_ANGLE@[79; 80) + err: `expected COMMA` + err: `expected type` + POS_FIELD@[80; 81) + ERROR@[80; 81) + R_ANGLE@[80; 81) + WHITESPACE@[81; 82) + R_PAREN@[82; 83) SEMI@[83; 84) WHITESPACE@[84; 86) diff --git a/crates/libsyntax2/tests/data/parser/err/0014_where_no_bounds.txt b/crates/libsyntax2/tests/data/parser/err/0014_where_no_bounds.txt index 37b16a5669..cef20327c6 100644 --- a/crates/libsyntax2/tests/data/parser/err/0014_where_no_bounds.txt +++ b/crates/libsyntax2/tests/data/parser/err/0014_where_no_bounds.txt @@ -25,7 +25,7 @@ FILE@[0; 23) IDENT@[18; 19) "T" err: `expected colon` WHITESPACE@[19; 20) - BLOCK_EXPR@[20; 22) + BLOCK@[20; 22) L_CURLY@[20; 21) R_CURLY@[21; 22) WHITESPACE@[22; 23) diff --git a/crates/libsyntax2/tests/data/parser/inline/0001_const_unsafe_fn.txt b/crates/libsyntax2/tests/data/parser/inline/0001_const_unsafe_fn.txt index 234c3c748f..29c479f8b7 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0001_const_unsafe_fn.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0001_const_unsafe_fn.txt @@ -12,7 +12,7 @@ FILE@[0; 25) L_PAREN@[19; 20) R_PAREN@[20; 21) WHITESPACE@[21; 22) - BLOCK_EXPR@[22; 24) + BLOCK@[22; 24) L_CURLY@[22; 23) R_CURLY@[23; 24) WHITESPACE@[24; 25) diff --git a/crates/libsyntax2/tests/data/parser/inline/0002_const_fn.txt b/crates/libsyntax2/tests/data/parser/inline/0002_const_fn.txt index c7d66b2e12..a2f94eb142 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0002_const_fn.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0002_const_fn.txt @@ -10,7 +10,7 @@ FILE@[0; 18) L_PAREN@[12; 13) R_PAREN@[13; 14) WHITESPACE@[14; 15) - BLOCK_EXPR@[15; 17) + BLOCK@[15; 17) L_CURLY@[15; 16) R_CURLY@[16; 17) WHITESPACE@[17; 18) diff --git a/crates/libsyntax2/tests/data/parser/inline/0003_extern_block.txt b/crates/libsyntax2/tests/data/parser/inline/0003_extern_block.txt index cbe9a1ebca..ab9bc04633 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0003_extern_block.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0003_extern_block.txt @@ -1,8 +1,9 @@ FILE@[0; 10) - EXTERN_BLOCK_EXPR@[0; 9) + EXTERN_BLOCK@[0; 9) ABI@[0; 6) EXTERN_KW@[0; 6) WHITESPACE@[6; 7) - L_CURLY@[7; 8) - R_CURLY@[8; 9) + EXTERN_ITEM_LIST@[7; 9) + L_CURLY@[7; 8) + R_CURLY@[8; 9) WHITESPACE@[9; 10) diff --git a/crates/libsyntax2/tests/data/parser/inline/0004_extern_fn.txt b/crates/libsyntax2/tests/data/parser/inline/0004_extern_fn.txt index 161af9c7d4..9cf20991a1 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0004_extern_fn.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0004_extern_fn.txt @@ -11,7 +11,7 @@ FILE@[0; 19) L_PAREN@[13; 14) R_PAREN@[14; 15) WHITESPACE@[15; 16) - BLOCK_EXPR@[16; 18) + BLOCK@[16; 18) L_CURLY@[16; 17) R_CURLY@[17; 18) WHITESPACE@[18; 19) diff --git a/crates/libsyntax2/tests/data/parser/inline/0007_unsafe_trait.txt b/crates/libsyntax2/tests/data/parser/inline/0007_unsafe_trait.txt index e75f188024..d7e20db703 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0007_unsafe_trait.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0007_unsafe_trait.txt @@ -7,6 +7,7 @@ FILE@[0; 18) NAME@[13; 14) IDENT@[13; 14) "T" WHITESPACE@[14; 15) - L_CURLY@[15; 16) - R_CURLY@[16; 17) + ITEM_LIST@[15; 17) + L_CURLY@[15; 16) + R_CURLY@[16; 17) WHITESPACE@[17; 18) diff --git a/crates/libsyntax2/tests/data/parser/inline/0008_unsafe_impl.txt b/crates/libsyntax2/tests/data/parser/inline/0008_unsafe_impl.txt index 6fd3f868f6..20c0c2de43 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0008_unsafe_impl.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0008_unsafe_impl.txt @@ -10,6 +10,7 @@ FILE@[0; 19) NAME_REF@[12; 15) IDENT@[12; 15) "Foo" WHITESPACE@[15; 16) - L_CURLY@[16; 17) - R_CURLY@[17; 18) + ITEM_LIST@[16; 18) + L_CURLY@[16; 17) + R_CURLY@[17; 18) WHITESPACE@[18; 19) diff --git a/crates/libsyntax2/tests/data/parser/inline/0009_unsafe_auto_trait.txt b/crates/libsyntax2/tests/data/parser/inline/0009_unsafe_auto_trait.txt index 78d0331d0f..fe296aef66 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0009_unsafe_auto_trait.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0009_unsafe_auto_trait.txt @@ -9,6 +9,7 @@ FILE@[0; 23) NAME@[18; 19) IDENT@[18; 19) "T" WHITESPACE@[19; 20) - L_CURLY@[20; 21) - R_CURLY@[21; 22) + ITEM_LIST@[20; 22) + L_CURLY@[20; 21) + R_CURLY@[21; 22) WHITESPACE@[22; 23) diff --git a/crates/libsyntax2/tests/data/parser/inline/0010_unsafe_default_impl.txt b/crates/libsyntax2/tests/data/parser/inline/0010_unsafe_default_impl.txt index ab12d5fc06..11e0041f5e 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0010_unsafe_default_impl.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0010_unsafe_default_impl.txt @@ -12,6 +12,7 @@ FILE@[0; 27) NAME_REF@[20; 23) IDENT@[20; 23) "Foo" WHITESPACE@[23; 24) - L_CURLY@[24; 25) - R_CURLY@[25; 26) + ITEM_LIST@[24; 26) + L_CURLY@[24; 25) + R_CURLY@[25; 26) WHITESPACE@[26; 27) diff --git a/crates/libsyntax2/tests/data/parser/inline/0011_unsafe_fn.txt b/crates/libsyntax2/tests/data/parser/inline/0011_unsafe_fn.txt index 3f9672f54d..54d4441820 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0011_unsafe_fn.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0011_unsafe_fn.txt @@ -10,7 +10,7 @@ FILE@[0; 19) L_PAREN@[13; 14) R_PAREN@[14; 15) WHITESPACE@[15; 16) - BLOCK_EXPR@[16; 18) + BLOCK@[16; 18) L_CURLY@[16; 17) R_CURLY@[17; 18) WHITESPACE@[18; 19) diff --git a/crates/libsyntax2/tests/data/parser/inline/0012_unsafe_extern_fn.txt b/crates/libsyntax2/tests/data/parser/inline/0012_unsafe_extern_fn.txt index 27c807aea7..e71a86d646 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0012_unsafe_extern_fn.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0012_unsafe_extern_fn.txt @@ -15,7 +15,7 @@ FILE@[0; 30) L_PAREN@[24; 25) R_PAREN@[25; 26) WHITESPACE@[26; 27) - BLOCK_EXPR@[27; 29) + BLOCK@[27; 29) L_CURLY@[27; 28) R_CURLY@[28; 29) WHITESPACE@[29; 30) diff --git a/crates/libsyntax2/tests/data/parser/inline/0013_unsafe_block_in_mod.txt b/crates/libsyntax2/tests/data/parser/inline/0013_unsafe_block_in_mod.txt index 4cd9b579c4..3718caba58 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0013_unsafe_block_in_mod.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0013_unsafe_block_in_mod.txt @@ -7,7 +7,7 @@ FILE@[0; 33) PARAM_LIST@[6; 8) L_PAREN@[6; 7) R_PAREN@[7; 8) - BLOCK_EXPR@[8; 10) + BLOCK@[8; 10) L_CURLY@[8; 9) R_CURLY@[9; 10) WHITESPACE@[10; 11) @@ -29,7 +29,7 @@ FILE@[0; 33) PARAM_LIST@[28; 30) L_PAREN@[28; 29) R_PAREN@[29; 30) - BLOCK_EXPR@[30; 32) + BLOCK@[30; 32) L_CURLY@[30; 31) R_CURLY@[31; 32) WHITESPACE@[32; 33) diff --git a/crates/libsyntax2/tests/data/parser/inline/0034_bind_pat.txt b/crates/libsyntax2/tests/data/parser/inline/0034_bind_pat.txt index 54396c247e..d9fd29ccac 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0034_bind_pat.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0034_bind_pat.txt @@ -8,7 +8,7 @@ FILE@[0; 146) L_PAREN@[7; 8) R_PAREN@[8; 9) WHITESPACE@[9; 10) - BLOCK_EXPR@[10; 145) + BLOCK@[10; 145) L_CURLY@[10; 11) WHITESPACE@[11; 16) LET_STMT@[16; 27) diff --git a/crates/libsyntax2/tests/data/parser/inline/0035_ref_pat.txt b/crates/libsyntax2/tests/data/parser/inline/0035_ref_pat.txt index ef2e2e7487..01187c3637 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0035_ref_pat.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0035_ref_pat.txt @@ -8,7 +8,7 @@ FILE@[0; 52) L_PAREN@[7; 8) R_PAREN@[8; 9) WHITESPACE@[9; 10) - BLOCK_EXPR@[10; 51) + BLOCK@[10; 51) L_CURLY@[10; 11) WHITESPACE@[11; 16) LET_STMT@[16; 28) diff --git a/crates/libsyntax2/tests/data/parser/inline/0036_placeholder_pat.txt b/crates/libsyntax2/tests/data/parser/inline/0036_placeholder_pat.txt index 7cf2b43a7f..4fff927b52 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0036_placeholder_pat.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0036_placeholder_pat.txt @@ -8,7 +8,7 @@ FILE@[0; 26) L_PAREN@[7; 8) R_PAREN@[8; 9) WHITESPACE@[9; 10) - BLOCK_EXPR@[10; 25) + BLOCK@[10; 25) L_CURLY@[10; 11) WHITESPACE@[11; 12) LET_STMT@[12; 23) diff --git a/crates/libsyntax2/tests/data/parser/inline/0038_function_ret_type.txt b/crates/libsyntax2/tests/data/parser/inline/0038_function_ret_type.txt index 66e3e1bba3..73e91856d3 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0038_function_ret_type.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0038_function_ret_type.txt @@ -8,7 +8,7 @@ FILE@[0; 30) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 11) + BLOCK@[9; 11) L_CURLY@[9; 10) R_CURLY@[10; 11) WHITESPACE@[11; 12) @@ -27,7 +27,7 @@ FILE@[0; 30) L_PAREN@[24; 25) R_PAREN@[25; 26) WHITESPACE@[26; 27) - BLOCK_EXPR@[27; 29) + BLOCK@[27; 29) L_CURLY@[27; 28) R_CURLY@[28; 29) WHITESPACE@[29; 30) diff --git a/crates/libsyntax2/tests/data/parser/inline/0039_path_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0039_path_expr.txt index 629a8ec9bc..98b4bebd89 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0039_path_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0039_path_expr.txt @@ -8,7 +8,7 @@ FILE@[0; 91) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 90) + BLOCK@[9; 90) L_CURLY@[9; 10) WHITESPACE@[10; 15) LET_STMT@[15; 25) diff --git a/crates/libsyntax2/tests/data/parser/inline/0040_expr_literals.txt b/crates/libsyntax2/tests/data/parser/inline/0040_expr_literals.txt index 78cd614a7e..3948c8fdca 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0040_expr_literals.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0040_expr_literals.txt @@ -8,7 +8,7 @@ FILE@[0; 189) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 188) + BLOCK@[9; 188) L_CURLY@[9; 10) WHITESPACE@[10; 15) LET_STMT@[15; 28) diff --git a/crates/libsyntax2/tests/data/parser/inline/0043_call_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0043_call_expr.txt index 59b920560b..0dedcc0d1c 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0043_call_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0043_call_expr.txt @@ -8,7 +8,7 @@ FILE@[0; 57) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 56) + BLOCK@[9; 56) L_CURLY@[9; 10) WHITESPACE@[10; 15) LET_STMT@[15; 27) diff --git a/crates/libsyntax2/tests/data/parser/inline/0044_ref_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0044_ref_expr.txt index f9e0260d09..b762f8f18e 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0044_ref_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0044_ref_expr.txt @@ -8,7 +8,7 @@ FILE@[0; 52) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 51) + BLOCK@[9; 51) L_CURLY@[9; 10) WHITESPACE@[10; 15) LET_STMT@[15; 26) diff --git a/crates/libsyntax2/tests/data/parser/inline/0045_block.txt b/crates/libsyntax2/tests/data/parser/inline/0045_block.txt index 14e43f4812..b2fe68f5da 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0045_block.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0045_block.txt @@ -8,7 +8,7 @@ FILE@[0; 65) L_PAREN@[4; 5) R_PAREN@[5; 6) WHITESPACE@[6; 7) - BLOCK_EXPR@[7; 9) + BLOCK@[7; 9) L_CURLY@[7; 8) R_CURLY@[8; 9) WHITESPACE@[9; 10) @@ -21,7 +21,7 @@ FILE@[0; 65) L_PAREN@[14; 15) R_PAREN@[15; 16) WHITESPACE@[16; 17) - BLOCK_EXPR@[17; 31) + BLOCK@[17; 31) L_CURLY@[17; 18) WHITESPACE@[18; 19) LET_STMT@[19; 29) @@ -47,7 +47,7 @@ FILE@[0; 65) L_PAREN@[36; 37) R_PAREN@[37; 38) WHITESPACE@[38; 39) - BLOCK_EXPR@[39; 48) + BLOCK@[39; 48) L_CURLY@[39; 40) WHITESPACE@[40; 41) EXPR_STMT@[41; 43) @@ -71,7 +71,7 @@ FILE@[0; 65) L_PAREN@[53; 54) R_PAREN@[54; 55) WHITESPACE@[55; 56) - BLOCK_EXPR@[56; 64) + BLOCK@[56; 64) L_CURLY@[56; 57) WHITESPACE@[57; 58) EXPR_STMT@[58; 60) diff --git a/crates/libsyntax2/tests/data/parser/inline/0046_default_impl.txt b/crates/libsyntax2/tests/data/parser/inline/0046_default_impl.txt index d5a27baf74..12584a5287 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0046_default_impl.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0046_default_impl.txt @@ -10,6 +10,7 @@ FILE@[0; 20) NAME_REF@[13; 16) IDENT@[13; 16) "Foo" WHITESPACE@[16; 17) - L_CURLY@[17; 18) - R_CURLY@[18; 19) + ITEM_LIST@[17; 19) + L_CURLY@[17; 18) + R_CURLY@[18; 19) WHITESPACE@[19; 20) diff --git a/crates/libsyntax2/tests/data/parser/inline/0047_impl_item.txt b/crates/libsyntax2/tests/data/parser/inline/0047_impl_item.txt index 76b29f95d3..0850b299e5 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0047_impl_item.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0047_impl_item.txt @@ -8,6 +8,7 @@ FILE@[0; 12) NAME_REF@[5; 8) IDENT@[5; 8) "Foo" WHITESPACE@[8; 9) - L_CURLY@[9; 10) - R_CURLY@[10; 11) + ITEM_LIST@[9; 11) + L_CURLY@[9; 10) + R_CURLY@[10; 11) WHITESPACE@[11; 12) diff --git a/crates/libsyntax2/tests/data/parser/inline/0048_impl_item_neg.txt b/crates/libsyntax2/tests/data/parser/inline/0048_impl_item_neg.txt index 2d01419c0c..b90a0d1336 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0048_impl_item_neg.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0048_impl_item_neg.txt @@ -17,6 +17,7 @@ FILE@[0; 20) NAME_REF@[15; 16) IDENT@[15; 16) "X" WHITESPACE@[16; 17) - L_CURLY@[17; 18) - R_CURLY@[18; 19) + ITEM_LIST@[17; 19) + L_CURLY@[17; 18) + R_CURLY@[18; 19) WHITESPACE@[19; 20) diff --git a/crates/libsyntax2/tests/data/parser/inline/0050_let_stmt;.txt b/crates/libsyntax2/tests/data/parser/inline/0050_let_stmt;.txt index fa77091516..7f99ecb13b 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0050_let_stmt;.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0050_let_stmt;.txt @@ -8,7 +8,7 @@ FILE@[0; 77) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 76) + BLOCK@[9; 76) L_CURLY@[9; 10) WHITESPACE@[10; 15) LET_STMT@[15; 21) diff --git a/crates/libsyntax2/tests/data/parser/inline/0051_method_call_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0051_method_call_expr.txt index 9edfabc64c..25a61e8487 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0051_method_call_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0051_method_call_expr.txt @@ -8,7 +8,7 @@ FILE@[0; 49) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 48) + BLOCK@[9; 48) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 23) diff --git a/crates/libsyntax2/tests/data/parser/inline/0052_field_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0052_field_expr.txt index 465f7abba7..096ed32114 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0052_field_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0052_field_expr.txt @@ -8,7 +8,7 @@ FILE@[0; 37) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 36) + BLOCK@[9; 36) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 21) diff --git a/crates/libsyntax2/tests/data/parser/inline/0053_block_items.txt b/crates/libsyntax2/tests/data/parser/inline/0053_block_items.txt index add5eab893..ff432e1d37 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0053_block_items.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0053_block_items.txt @@ -8,7 +8,7 @@ FILE@[0; 21) L_PAREN@[4; 5) R_PAREN@[5; 6) WHITESPACE@[6; 7) - BLOCK_EXPR@[7; 20) + BLOCK@[7; 20) L_CURLY@[7; 8) WHITESPACE@[8; 9) FN_DEF@[9; 18) @@ -20,7 +20,7 @@ FILE@[0; 21) L_PAREN@[13; 14) R_PAREN@[14; 15) WHITESPACE@[15; 16) - BLOCK_EXPR@[16; 18) + BLOCK@[16; 18) L_CURLY@[16; 17) R_CURLY@[17; 18) WHITESPACE@[18; 19) diff --git a/crates/libsyntax2/tests/data/parser/inline/0054_impl_item_items.txt b/crates/libsyntax2/tests/data/parser/inline/0054_impl_item_items.txt index 0b75f6466c..e0d5e01073 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0054_impl_item_items.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0054_impl_item_items.txt @@ -8,70 +8,71 @@ FILE@[0; 89) NAME_REF@[5; 6) IDENT@[5; 6) "F" WHITESPACE@[6; 7) - L_CURLY@[7; 8) - WHITESPACE@[8; 13) - TYPE_DEF@[13; 26) - TYPE_KW@[13; 17) - WHITESPACE@[17; 18) - NAME@[18; 19) - IDENT@[18; 19) "A" - WHITESPACE@[19; 20) - EQ@[20; 21) - WHITESPACE@[21; 22) - PATH_TYPE@[22; 25) - PATH@[22; 25) - PATH_SEGMENT@[22; 25) - NAME_REF@[22; 25) - IDENT@[22; 25) "i32" - SEMI@[25; 26) - WHITESPACE@[26; 31) - CONST_DEF@[31; 49) - CONST_KW@[31; 36) - WHITESPACE@[36; 37) - NAME@[37; 38) - IDENT@[37; 38) "B" - COLON@[38; 39) - WHITESPACE@[39; 40) - PATH_TYPE@[40; 43) - PATH@[40; 43) - PATH_SEGMENT@[40; 43) - NAME_REF@[40; 43) - IDENT@[40; 43) "i32" - WHITESPACE@[43; 44) - EQ@[44; 45) - WHITESPACE@[45; 46) - LITERAL@[46; 48) - INT_NUMBER@[46; 48) "92" - SEMI@[48; 49) - WHITESPACE@[49; 54) - FN_DEF@[54; 65) - FN_KW@[54; 56) - WHITESPACE@[56; 57) - NAME@[57; 60) - IDENT@[57; 60) "foo" - PARAM_LIST@[60; 62) - L_PAREN@[60; 61) - R_PAREN@[61; 62) - WHITESPACE@[62; 63) - BLOCK_EXPR@[63; 65) - L_CURLY@[63; 64) - R_CURLY@[64; 65) - WHITESPACE@[65; 70) - FN_DEF@[70; 86) - FN_KW@[70; 72) - WHITESPACE@[72; 73) - NAME@[73; 76) - IDENT@[73; 76) "bar" - PARAM_LIST@[76; 83) - L_PAREN@[76; 77) - SELF_PARAM@[77; 82) - AMP@[77; 78) - SELF_KW@[78; 82) - R_PAREN@[82; 83) - WHITESPACE@[83; 84) - BLOCK_EXPR@[84; 86) - L_CURLY@[84; 85) - R_CURLY@[85; 86) - WHITESPACE@[86; 87) - R_CURLY@[87; 88) + ITEM_LIST@[7; 88) + L_CURLY@[7; 8) + WHITESPACE@[8; 13) + TYPE_DEF@[13; 26) + TYPE_KW@[13; 17) + WHITESPACE@[17; 18) + NAME@[18; 19) + IDENT@[18; 19) "A" + WHITESPACE@[19; 20) + EQ@[20; 21) + WHITESPACE@[21; 22) + PATH_TYPE@[22; 25) + PATH@[22; 25) + PATH_SEGMENT@[22; 25) + NAME_REF@[22; 25) + IDENT@[22; 25) "i32" + SEMI@[25; 26) + WHITESPACE@[26; 31) + CONST_DEF@[31; 49) + CONST_KW@[31; 36) + WHITESPACE@[36; 37) + NAME@[37; 38) + IDENT@[37; 38) "B" + COLON@[38; 39) + WHITESPACE@[39; 40) + PATH_TYPE@[40; 43) + PATH@[40; 43) + PATH_SEGMENT@[40; 43) + NAME_REF@[40; 43) + IDENT@[40; 43) "i32" + WHITESPACE@[43; 44) + EQ@[44; 45) + WHITESPACE@[45; 46) + LITERAL@[46; 48) + INT_NUMBER@[46; 48) "92" + SEMI@[48; 49) + WHITESPACE@[49; 54) + FN_DEF@[54; 65) + FN_KW@[54; 56) + WHITESPACE@[56; 57) + NAME@[57; 60) + IDENT@[57; 60) "foo" + PARAM_LIST@[60; 62) + L_PAREN@[60; 61) + R_PAREN@[61; 62) + WHITESPACE@[62; 63) + BLOCK@[63; 65) + L_CURLY@[63; 64) + R_CURLY@[64; 65) + WHITESPACE@[65; 70) + FN_DEF@[70; 86) + FN_KW@[70; 72) + WHITESPACE@[72; 73) + NAME@[73; 76) + IDENT@[73; 76) "bar" + PARAM_LIST@[76; 83) + L_PAREN@[76; 77) + SELF_PARAM@[77; 82) + AMP@[77; 78) + SELF_KW@[78; 82) + R_PAREN@[82; 83) + WHITESPACE@[83; 84) + BLOCK@[84; 86) + L_CURLY@[84; 85) + R_CURLY@[85; 86) + WHITESPACE@[86; 87) + R_CURLY@[87; 88) WHITESPACE@[88; 89) diff --git a/crates/libsyntax2/tests/data/parser/inline/0055_self_param.txt b/crates/libsyntax2/tests/data/parser/inline/0055_self_param.txt index dd21dfe94d..99a9f63acd 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0055_self_param.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0055_self_param.txt @@ -8,108 +8,109 @@ FILE@[0; 128) NAME_REF@[5; 6) IDENT@[5; 6) "S" WHITESPACE@[6; 7) - L_CURLY@[7; 8) - WHITESPACE@[8; 13) - FN_DEF@[13; 26) - FN_KW@[13; 15) - WHITESPACE@[15; 16) - NAME@[16; 17) - IDENT@[16; 17) "a" - PARAM_LIST@[17; 23) - L_PAREN@[17; 18) - SELF_PARAM@[18; 22) - SELF_KW@[18; 22) - R_PAREN@[22; 23) - WHITESPACE@[23; 24) - BLOCK_EXPR@[24; 26) - L_CURLY@[24; 25) - R_CURLY@[25; 26) - WHITESPACE@[26; 31) - FN_DEF@[31; 46) - FN_KW@[31; 33) - WHITESPACE@[33; 34) - NAME@[34; 35) - IDENT@[34; 35) "b" - PARAM_LIST@[35; 43) - L_PAREN@[35; 36) - SELF_PARAM@[36; 41) - AMP@[36; 37) - SELF_KW@[37; 41) - COMMA@[41; 42) - R_PAREN@[42; 43) - WHITESPACE@[43; 44) - BLOCK_EXPR@[44; 46) - L_CURLY@[44; 45) - R_CURLY@[45; 46) - WHITESPACE@[46; 51) - FN_DEF@[51; 69) - FN_KW@[51; 53) - WHITESPACE@[53; 54) - NAME@[54; 55) - IDENT@[54; 55) "c" - PARAM_LIST@[55; 66) - L_PAREN@[55; 56) - SELF_PARAM@[56; 64) - AMP@[56; 57) - LIFETIME@[57; 59) "'a" - WHITESPACE@[59; 60) - SELF_KW@[60; 64) - COMMA@[64; 65) - R_PAREN@[65; 66) - WHITESPACE@[66; 67) - BLOCK_EXPR@[67; 69) - L_CURLY@[67; 68) - R_CURLY@[68; 69) - WHITESPACE@[69; 74) - FN_DEF@[74; 103) - FN_KW@[74; 76) - WHITESPACE@[76; 77) - NAME@[77; 78) - IDENT@[77; 78) "d" - PARAM_LIST@[78; 100) - L_PAREN@[78; 79) - SELF_PARAM@[79; 91) - AMP@[79; 80) - LIFETIME@[80; 82) "'a" - WHITESPACE@[82; 83) - MUT_KW@[83; 86) - WHITESPACE@[86; 87) - SELF_KW@[87; 91) - COMMA@[91; 92) - WHITESPACE@[92; 93) - PARAM@[93; 99) - BIND_PAT@[93; 94) - NAME@[93; 94) - IDENT@[93; 94) "x" - COLON@[94; 95) - WHITESPACE@[95; 96) - PATH_TYPE@[96; 99) - PATH@[96; 99) - PATH_SEGMENT@[96; 99) - NAME_REF@[96; 99) - IDENT@[96; 99) "i32" - R_PAREN@[99; 100) - WHITESPACE@[100; 101) - BLOCK_EXPR@[101; 103) - L_CURLY@[101; 102) - R_CURLY@[102; 103) - WHITESPACE@[103; 108) - FN_DEF@[108; 125) - FN_KW@[108; 110) - WHITESPACE@[110; 111) - NAME@[111; 112) - IDENT@[111; 112) "e" - PARAM_LIST@[112; 122) - L_PAREN@[112; 113) - SELF_PARAM@[113; 121) - MUT_KW@[113; 116) - WHITESPACE@[116; 117) - SELF_KW@[117; 121) - R_PAREN@[121; 122) - WHITESPACE@[122; 123) - BLOCK_EXPR@[123; 125) - L_CURLY@[123; 124) - R_CURLY@[124; 125) - WHITESPACE@[125; 126) - R_CURLY@[126; 127) + ITEM_LIST@[7; 127) + L_CURLY@[7; 8) + WHITESPACE@[8; 13) + FN_DEF@[13; 26) + FN_KW@[13; 15) + WHITESPACE@[15; 16) + NAME@[16; 17) + IDENT@[16; 17) "a" + PARAM_LIST@[17; 23) + L_PAREN@[17; 18) + SELF_PARAM@[18; 22) + SELF_KW@[18; 22) + R_PAREN@[22; 23) + WHITESPACE@[23; 24) + BLOCK@[24; 26) + L_CURLY@[24; 25) + R_CURLY@[25; 26) + WHITESPACE@[26; 31) + FN_DEF@[31; 46) + FN_KW@[31; 33) + WHITESPACE@[33; 34) + NAME@[34; 35) + IDENT@[34; 35) "b" + PARAM_LIST@[35; 43) + L_PAREN@[35; 36) + SELF_PARAM@[36; 41) + AMP@[36; 37) + SELF_KW@[37; 41) + COMMA@[41; 42) + R_PAREN@[42; 43) + WHITESPACE@[43; 44) + BLOCK@[44; 46) + L_CURLY@[44; 45) + R_CURLY@[45; 46) + WHITESPACE@[46; 51) + FN_DEF@[51; 69) + FN_KW@[51; 53) + WHITESPACE@[53; 54) + NAME@[54; 55) + IDENT@[54; 55) "c" + PARAM_LIST@[55; 66) + L_PAREN@[55; 56) + SELF_PARAM@[56; 64) + AMP@[56; 57) + LIFETIME@[57; 59) "'a" + WHITESPACE@[59; 60) + SELF_KW@[60; 64) + COMMA@[64; 65) + R_PAREN@[65; 66) + WHITESPACE@[66; 67) + BLOCK@[67; 69) + L_CURLY@[67; 68) + R_CURLY@[68; 69) + WHITESPACE@[69; 74) + FN_DEF@[74; 103) + FN_KW@[74; 76) + WHITESPACE@[76; 77) + NAME@[77; 78) + IDENT@[77; 78) "d" + PARAM_LIST@[78; 100) + L_PAREN@[78; 79) + SELF_PARAM@[79; 91) + AMP@[79; 80) + LIFETIME@[80; 82) "'a" + WHITESPACE@[82; 83) + MUT_KW@[83; 86) + WHITESPACE@[86; 87) + SELF_KW@[87; 91) + COMMA@[91; 92) + WHITESPACE@[92; 93) + PARAM@[93; 99) + BIND_PAT@[93; 94) + NAME@[93; 94) + IDENT@[93; 94) "x" + COLON@[94; 95) + WHITESPACE@[95; 96) + PATH_TYPE@[96; 99) + PATH@[96; 99) + PATH_SEGMENT@[96; 99) + NAME_REF@[96; 99) + IDENT@[96; 99) "i32" + R_PAREN@[99; 100) + WHITESPACE@[100; 101) + BLOCK@[101; 103) + L_CURLY@[101; 102) + R_CURLY@[102; 103) + WHITESPACE@[103; 108) + FN_DEF@[108; 125) + FN_KW@[108; 110) + WHITESPACE@[110; 111) + NAME@[111; 112) + IDENT@[111; 112) "e" + PARAM_LIST@[112; 122) + L_PAREN@[112; 113) + SELF_PARAM@[113; 121) + MUT_KW@[113; 116) + WHITESPACE@[116; 117) + SELF_KW@[117; 121) + R_PAREN@[121; 122) + WHITESPACE@[122; 123) + BLOCK@[123; 125) + L_CURLY@[123; 124) + R_CURLY@[124; 125) + WHITESPACE@[125; 126) + R_CURLY@[126; 127) WHITESPACE@[127; 128) diff --git a/crates/libsyntax2/tests/data/parser/inline/0056_trait_item.txt b/crates/libsyntax2/tests/data/parser/inline/0056_trait_item.txt index 40749d12a5..5f89a144ad 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0056_trait_item.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0056_trait_item.txt @@ -40,6 +40,7 @@ FILE@[0; 42) NAME_REF@[34; 38) IDENT@[34; 38) "Copy" WHITESPACE@[38; 39) - L_CURLY@[39; 40) - R_CURLY@[40; 41) + ITEM_LIST@[39; 41) + L_CURLY@[39; 40) + R_CURLY@[40; 41) WHITESPACE@[41; 42) diff --git a/crates/libsyntax2/tests/data/parser/inline/0057_auto_trait.txt b/crates/libsyntax2/tests/data/parser/inline/0057_auto_trait.txt index 738661e3c0..ede098260d 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0057_auto_trait.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0057_auto_trait.txt @@ -7,6 +7,7 @@ FILE@[0; 16) NAME@[11; 12) IDENT@[11; 12) "T" WHITESPACE@[12; 13) - L_CURLY@[13; 14) - R_CURLY@[14; 15) + ITEM_LIST@[13; 15) + L_CURLY@[13; 14) + R_CURLY@[14; 15) WHITESPACE@[15; 16) diff --git a/crates/libsyntax2/tests/data/parser/inline/0059_function_where_clause.txt b/crates/libsyntax2/tests/data/parser/inline/0059_function_where_clause.txt index 36822ac052..1eea49e34b 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0059_function_where_clause.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0059_function_where_clause.txt @@ -30,7 +30,7 @@ FILE@[0; 29) NAME_REF@[21; 25) IDENT@[21; 25) "Copy" WHITESPACE@[25; 26) - BLOCK_EXPR@[26; 28) + BLOCK@[26; 28) L_CURLY@[26; 27) R_CURLY@[27; 28) WHITESPACE@[28; 29) diff --git a/crates/libsyntax2/tests/data/parser/inline/0060_function_type_params.txt b/crates/libsyntax2/tests/data/parser/inline/0060_function_type_params.txt index c03553c0d4..94987753a4 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0060_function_type_params.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0060_function_type_params.txt @@ -26,7 +26,7 @@ FILE@[0; 28) PARAM_LIST@[23; 25) L_PAREN@[23; 24) R_PAREN@[24; 25) - BLOCK_EXPR@[25; 27) + BLOCK@[25; 27) L_CURLY@[25; 26) R_CURLY@[26; 27) WHITESPACE@[27; 28) diff --git a/crates/libsyntax2/tests/data/parser/inline/0061_struct_lit.txt b/crates/libsyntax2/tests/data/parser/inline/0061_struct_lit.txt index 2eb04a3c74..35b5d28b44 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0061_struct_lit.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0061_struct_lit.txt @@ -8,7 +8,7 @@ FILE@[0; 86) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 85) + BLOCK@[9; 85) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 20) @@ -18,8 +18,9 @@ FILE@[0; 86) NAME_REF@[15; 16) IDENT@[15; 16) "S" WHITESPACE@[16; 17) - L_CURLY@[17; 18) - R_CURLY@[18; 19) + NAMED_FIELD_LIST@[17; 19) + L_CURLY@[17; 18) + R_CURLY@[18; 19) SEMI@[19; 20) WHITESPACE@[20; 25) EXPR_STMT@[25; 41) @@ -29,23 +30,24 @@ FILE@[0; 86) NAME_REF@[25; 26) IDENT@[25; 26) "S" WHITESPACE@[26; 27) - L_CURLY@[27; 28) - WHITESPACE@[28; 29) - STRUCT_LIT_FIELD@[29; 30) - NAME_REF@[29; 30) - IDENT@[29; 30) "x" - COMMA@[30; 31) - WHITESPACE@[31; 32) - STRUCT_LIT_FIELD@[32; 37) - NAME_REF@[32; 33) - IDENT@[32; 33) "y" - COLON@[33; 34) - WHITESPACE@[34; 35) - LITERAL@[35; 37) - INT_NUMBER@[35; 37) "32" - COMMA@[37; 38) - WHITESPACE@[38; 39) - R_CURLY@[39; 40) + NAMED_FIELD_LIST@[27; 40) + L_CURLY@[27; 28) + WHITESPACE@[28; 29) + NAMED_FIELD@[29; 30) + NAME_REF@[29; 30) + IDENT@[29; 30) "x" + COMMA@[30; 31) + WHITESPACE@[31; 32) + NAMED_FIELD@[32; 37) + NAME_REF@[32; 33) + IDENT@[32; 33) "y" + COLON@[33; 34) + WHITESPACE@[34; 35) + LITERAL@[35; 37) + INT_NUMBER@[35; 37) "32" + COMMA@[37; 38) + WHITESPACE@[38; 39) + R_CURLY@[39; 40) SEMI@[40; 41) WHITESPACE@[41; 46) EXPR_STMT@[46; 83) @@ -55,39 +57,40 @@ FILE@[0; 86) NAME_REF@[46; 47) IDENT@[46; 47) "S" WHITESPACE@[47; 48) - L_CURLY@[48; 49) - WHITESPACE@[49; 50) - STRUCT_LIT_FIELD@[50; 51) - NAME_REF@[50; 51) - IDENT@[50; 51) "x" - COMMA@[51; 52) - WHITESPACE@[52; 53) - STRUCT_LIT_FIELD@[53; 58) - NAME_REF@[53; 54) - IDENT@[53; 54) "y" - COLON@[54; 55) - WHITESPACE@[55; 56) - LITERAL@[56; 58) - INT_NUMBER@[56; 58) "32" - COMMA@[58; 59) - WHITESPACE@[59; 60) - DOTDOT@[60; 62) - CALL_EXPR@[62; 80) - PATH_EXPR@[62; 78) - PATH@[62; 78) - PATH@[62; 69) - PATH_SEGMENT@[62; 69) - NAME_REF@[62; 69) - IDENT@[62; 69) "Default" - COLONCOLON@[69; 71) - PATH_SEGMENT@[71; 78) - NAME_REF@[71; 78) - IDENT@[71; 78) "default" - ARG_LIST@[78; 80) - L_PAREN@[78; 79) - R_PAREN@[79; 80) - WHITESPACE@[80; 81) - R_CURLY@[81; 82) + NAMED_FIELD_LIST@[48; 82) + L_CURLY@[48; 49) + WHITESPACE@[49; 50) + NAMED_FIELD@[50; 51) + NAME_REF@[50; 51) + IDENT@[50; 51) "x" + COMMA@[51; 52) + WHITESPACE@[52; 53) + NAMED_FIELD@[53; 58) + NAME_REF@[53; 54) + IDENT@[53; 54) "y" + COLON@[54; 55) + WHITESPACE@[55; 56) + LITERAL@[56; 58) + INT_NUMBER@[56; 58) "32" + COMMA@[58; 59) + WHITESPACE@[59; 60) + DOTDOT@[60; 62) + CALL_EXPR@[62; 80) + PATH_EXPR@[62; 78) + PATH@[62; 78) + PATH@[62; 69) + PATH_SEGMENT@[62; 69) + NAME_REF@[62; 69) + IDENT@[62; 69) "Default" + COLONCOLON@[69; 71) + PATH_SEGMENT@[71; 78) + NAME_REF@[71; 78) + IDENT@[71; 78) "default" + ARG_LIST@[78; 80) + L_PAREN@[78; 79) + R_PAREN@[79; 80) + WHITESPACE@[80; 81) + R_CURLY@[81; 82) SEMI@[82; 83) WHITESPACE@[83; 84) R_CURLY@[84; 85) diff --git a/crates/libsyntax2/tests/data/parser/inline/0064_param_list.txt b/crates/libsyntax2/tests/data/parser/inline/0064_param_list.txt index daad3dc73a..50c14ceec1 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0064_param_list.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0064_param_list.txt @@ -8,7 +8,7 @@ FILE@[0; 67) L_PAREN@[4; 5) R_PAREN@[5; 6) WHITESPACE@[6; 7) - BLOCK_EXPR@[7; 9) + BLOCK@[7; 9) L_CURLY@[7; 8) R_CURLY@[8; 9) WHITESPACE@[9; 10) @@ -32,7 +32,7 @@ FILE@[0; 67) IDENT@[18; 21) "i32" R_PAREN@[21; 22) WHITESPACE@[22; 23) - BLOCK_EXPR@[23; 25) + BLOCK@[23; 25) L_CURLY@[23; 24) R_CURLY@[24; 25) WHITESPACE@[25; 26) @@ -58,7 +58,7 @@ FILE@[0; 67) WHITESPACE@[38; 39) R_PAREN@[39; 40) WHITESPACE@[40; 41) - BLOCK_EXPR@[41; 43) + BLOCK@[41; 43) L_CURLY@[41; 42) R_CURLY@[42; 43) WHITESPACE@[43; 44) @@ -93,7 +93,7 @@ FILE@[0; 67) R_PAREN@[61; 62) R_PAREN@[62; 63) WHITESPACE@[63; 64) - BLOCK_EXPR@[64; 66) + BLOCK@[64; 66) L_CURLY@[64; 65) R_CURLY@[65; 66) WHITESPACE@[66; 67) diff --git a/crates/libsyntax2/tests/data/parser/inline/0065_if_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0065_if_expr.txt index f6895b4f7e..c353a330ac 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0065_if_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0065_if_expr.txt @@ -8,7 +8,7 @@ FILE@[0; 107) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 106) + BLOCK@[9; 106) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 26) @@ -18,7 +18,7 @@ FILE@[0; 107) LITERAL@[18; 22) TRUE_KW@[18; 22) WHITESPACE@[22; 23) - BLOCK_EXPR@[23; 25) + BLOCK@[23; 25) L_CURLY@[23; 24) R_CURLY@[24; 25) SEMI@[25; 26) @@ -30,13 +30,13 @@ FILE@[0; 107) LITERAL@[34; 38) TRUE_KW@[34; 38) WHITESPACE@[38; 39) - BLOCK_EXPR@[39; 41) + BLOCK@[39; 41) L_CURLY@[39; 40) R_CURLY@[40; 41) WHITESPACE@[41; 42) ELSE_KW@[42; 46) WHITESPACE@[46; 47) - BLOCK_EXPR@[47; 49) + BLOCK@[47; 49) L_CURLY@[47; 48) R_CURLY@[48; 49) SEMI@[49; 50) @@ -48,7 +48,7 @@ FILE@[0; 107) LITERAL@[58; 62) TRUE_KW@[58; 62) WHITESPACE@[62; 63) - BLOCK_EXPR@[63; 65) + BLOCK@[63; 65) L_CURLY@[63; 64) R_CURLY@[64; 65) WHITESPACE@[65; 66) @@ -60,13 +60,13 @@ FILE@[0; 107) LITERAL@[74; 79) FALSE_KW@[74; 79) WHITESPACE@[79; 80) - BLOCK_EXPR@[80; 82) + BLOCK@[80; 82) L_CURLY@[80; 81) R_CURLY@[81; 82) WHITESPACE@[82; 83) ELSE_KW@[83; 87) WHITESPACE@[87; 88) - BLOCK_EXPR@[88; 90) + BLOCK@[88; 90) L_CURLY@[88; 89) R_CURLY@[89; 90) SEMI@[90; 91) @@ -81,7 +81,7 @@ FILE@[0; 107) NAME_REF@[99; 100) IDENT@[99; 100) "S" WHITESPACE@[100; 101) - BLOCK_EXPR@[101; 103) + BLOCK@[101; 103) L_CURLY@[101; 102) R_CURLY@[102; 103) SEMI@[103; 104) diff --git a/crates/libsyntax2/tests/data/parser/inline/0066_lambda_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0066_lambda_expr.txt index a5acd9d124..0e95f84c47 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0066_lambda_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0066_lambda_expr.txt @@ -8,7 +8,7 @@ FILE@[0; 79) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 78) + BLOCK@[9; 78) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 21) @@ -36,7 +36,7 @@ FILE@[0; 79) NAME_REF@[32; 35) IDENT@[32; 35) "i32" WHITESPACE@[35; 36) - BLOCK_EXPR@[36; 42) + BLOCK@[36; 42) L_CURLY@[36; 37) WHITESPACE@[37; 38) LITERAL@[38; 40) diff --git a/crates/libsyntax2/tests/data/parser/inline/0067_block_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0067_block_expr.txt index 688466a13d..e1ad36165f 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0067_block_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0067_block_expr.txt @@ -8,21 +8,23 @@ FILE@[0; 36) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 35) + BLOCK@[9; 35) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 18) BLOCK_EXPR@[15; 17) - L_CURLY@[15; 16) - R_CURLY@[16; 17) + BLOCK@[15; 17) + L_CURLY@[15; 16) + R_CURLY@[16; 17) SEMI@[17; 18) WHITESPACE@[18; 23) EXPR_STMT@[23; 33) BLOCK_EXPR@[23; 32) UNSAFE_KW@[23; 29) WHITESPACE@[29; 30) - L_CURLY@[30; 31) - R_CURLY@[31; 32) + BLOCK@[30; 32) + L_CURLY@[30; 31) + R_CURLY@[31; 32) SEMI@[32; 33) WHITESPACE@[33; 34) R_CURLY@[34; 35) diff --git a/crates/libsyntax2/tests/data/parser/inline/0068_pub_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0068_pub_expr.txt index 22d30cf32f..7f475745dd 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0068_pub_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0068_pub_expr.txt @@ -8,7 +8,7 @@ FILE@[0; 29) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 20) + BLOCK@[9; 20) L_CURLY@[9; 10) WHITESPACE@[10; 11) EXPR_STMT@[11; 18) diff --git a/crates/libsyntax2/tests/data/parser/inline/0068_return_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0068_return_expr.txt index fa999bfcaf..8832d2cff0 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0068_return_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0068_return_expr.txt @@ -8,7 +8,7 @@ FILE@[0; 40) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 39) + BLOCK@[9; 39) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 22) diff --git a/crates/libsyntax2/tests/data/parser/inline/0069_match_arm.txt b/crates/libsyntax2/tests/data/parser/inline/0069_match_arm.txt index a3061cfa29..1fffec7b1a 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0069_match_arm.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0069_match_arm.txt @@ -8,7 +8,7 @@ FILE@[0; 78) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 77) + BLOCK@[9; 77) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 75) @@ -19,46 +19,47 @@ FILE@[0; 78) L_PAREN@[21; 22) R_PAREN@[22; 23) WHITESPACE@[23; 24) - L_CURLY@[24; 25) - WHITESPACE@[25; 34) - MATCH_ARM@[34; 41) - PLACEHOLDER_PAT@[34; 35) - UNDERSCORE@[34; 35) - WHITESPACE@[35; 36) - FAT_ARROW@[36; 38) - WHITESPACE@[38; 39) - TUPLE_EXPR@[39; 41) - L_PAREN@[39; 40) - R_PAREN@[40; 41) - COMMA@[41; 42) - WHITESPACE@[42; 51) - MATCH_ARM@[51; 67) - BIND_PAT@[51; 52) - NAME@[51; 52) - IDENT@[51; 52) "X" - WHITESPACE@[52; 53) - PIPE@[53; 54) - WHITESPACE@[54; 55) - BIND_PAT@[55; 56) - NAME@[55; 56) - IDENT@[55; 56) "Y" - WHITESPACE@[56; 57) - IF_KW@[57; 59) - WHITESPACE@[59; 60) - PATH_EXPR@[60; 61) - PATH@[60; 61) - PATH_SEGMENT@[60; 61) - NAME_REF@[60; 61) - IDENT@[60; 61) "Z" - WHITESPACE@[61; 62) - FAT_ARROW@[62; 64) - WHITESPACE@[64; 65) - TUPLE_EXPR@[65; 67) - L_PAREN@[65; 66) - R_PAREN@[66; 67) - COMMA@[67; 68) - WHITESPACE@[68; 73) - R_CURLY@[73; 74) + MATCH_ARM_LIST@[24; 74) + L_CURLY@[24; 25) + WHITESPACE@[25; 34) + MATCH_ARM@[34; 41) + PLACEHOLDER_PAT@[34; 35) + UNDERSCORE@[34; 35) + WHITESPACE@[35; 36) + FAT_ARROW@[36; 38) + WHITESPACE@[38; 39) + TUPLE_EXPR@[39; 41) + L_PAREN@[39; 40) + R_PAREN@[40; 41) + COMMA@[41; 42) + WHITESPACE@[42; 51) + MATCH_ARM@[51; 67) + BIND_PAT@[51; 52) + NAME@[51; 52) + IDENT@[51; 52) "X" + WHITESPACE@[52; 53) + PIPE@[53; 54) + WHITESPACE@[54; 55) + BIND_PAT@[55; 56) + NAME@[55; 56) + IDENT@[55; 56) "Y" + WHITESPACE@[56; 57) + IF_KW@[57; 59) + WHITESPACE@[59; 60) + PATH_EXPR@[60; 61) + PATH@[60; 61) + PATH_SEGMENT@[60; 61) + NAME_REF@[60; 61) + IDENT@[60; 61) "Z" + WHITESPACE@[61; 62) + FAT_ARROW@[62; 64) + WHITESPACE@[64; 65) + TUPLE_EXPR@[65; 67) + L_PAREN@[65; 66) + R_PAREN@[66; 67) + COMMA@[67; 68) + WHITESPACE@[68; 73) + R_CURLY@[73; 74) SEMI@[74; 75) WHITESPACE@[75; 76) R_CURLY@[76; 77) diff --git a/crates/libsyntax2/tests/data/parser/inline/0070_match_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0070_match_expr.txt index a722766d0f..2ffe99c0e9 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0070_match_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0070_match_expr.txt @@ -8,7 +8,7 @@ FILE@[0; 47) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 46) + BLOCK@[9; 46) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 28) @@ -19,9 +19,10 @@ FILE@[0; 47) L_PAREN@[21; 22) R_PAREN@[22; 23) WHITESPACE@[23; 24) - L_CURLY@[24; 25) - WHITESPACE@[25; 26) - R_CURLY@[26; 27) + MATCH_ARM_LIST@[24; 27) + L_CURLY@[24; 25) + WHITESPACE@[25; 26) + R_CURLY@[26; 27) SEMI@[27; 28) WHITESPACE@[28; 33) EXPR_STMT@[33; 44) @@ -34,8 +35,9 @@ FILE@[0; 47) NAME_REF@[39; 40) IDENT@[39; 40) "S" WHITESPACE@[40; 41) - L_CURLY@[41; 42) - R_CURLY@[42; 43) + MATCH_ARM_LIST@[41; 43) + L_CURLY@[41; 42) + R_CURLY@[42; 43) SEMI@[43; 44) WHITESPACE@[44; 45) R_CURLY@[45; 46) diff --git a/crates/libsyntax2/tests/data/parser/inline/0071_tuple_pat_fields.txt b/crates/libsyntax2/tests/data/parser/inline/0071_tuple_pat_fields.txt index 76df989fca..dad7d3e87f 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0071_tuple_pat_fields.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0071_tuple_pat_fields.txt @@ -8,7 +8,7 @@ FILE@[0; 97) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 96) + BLOCK@[9; 96) L_CURLY@[9; 10) WHITESPACE@[10; 15) LET_STMT@[15; 28) diff --git a/crates/libsyntax2/tests/data/parser/inline/0072_path_part.txt b/crates/libsyntax2/tests/data/parser/inline/0072_path_part.txt index dabc64d2b5..ae5296580a 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0072_path_part.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0072_path_part.txt @@ -8,7 +8,7 @@ FILE@[0; 103) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 102) + BLOCK@[9; 102) L_CURLY@[9; 10) WHITESPACE@[10; 15) LET_STMT@[15; 33) @@ -58,11 +58,12 @@ FILE@[0; 103) NAME_REF@[62; 65) IDENT@[62; 65) "Bar" WHITESPACE@[65; 66) - L_CURLY@[66; 67) - WHITESPACE@[67; 68) - DOTDOT@[68; 70) - WHITESPACE@[70; 71) - R_CURLY@[71; 72) + FIELD_PAT_LIST@[66; 72) + L_CURLY@[66; 67) + WHITESPACE@[67; 68) + DOTDOT@[68; 70) + WHITESPACE@[70; 71) + R_CURLY@[71; 72) WHITESPACE@[72; 73) EQ@[73; 74) WHITESPACE@[74; 75) diff --git a/crates/libsyntax2/tests/data/parser/inline/0073_struct_pat_fields.txt b/crates/libsyntax2/tests/data/parser/inline/0073_struct_pat_fields.txt index 9a0b6dbec0..cfe37a15ad 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0073_struct_pat_fields.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0073_struct_pat_fields.txt @@ -8,7 +8,7 @@ FILE@[0; 119) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 118) + BLOCK@[9; 118) L_CURLY@[9; 10) WHITESPACE@[10; 15) LET_STMT@[15; 29) @@ -20,8 +20,9 @@ FILE@[0; 119) NAME_REF@[19; 20) IDENT@[19; 20) "S" WHITESPACE@[20; 21) - L_CURLY@[21; 22) - R_CURLY@[22; 23) + FIELD_PAT_LIST@[21; 23) + L_CURLY@[21; 22) + R_CURLY@[22; 23) WHITESPACE@[23; 24) EQ@[24; 25) WHITESPACE@[25; 26) @@ -39,22 +40,23 @@ FILE@[0; 119) NAME_REF@[38; 39) IDENT@[38; 39) "S" WHITESPACE@[39; 40) - L_CURLY@[40; 41) - WHITESPACE@[41; 42) - BIND_PAT@[42; 43) - NAME@[42; 43) - IDENT@[42; 43) "f" - COMMA@[43; 44) - WHITESPACE@[44; 45) - BIND_PAT@[45; 54) - REF_KW@[45; 48) - WHITESPACE@[48; 49) - MUT_KW@[49; 52) - WHITESPACE@[52; 53) - NAME@[53; 54) - IDENT@[53; 54) "g" - WHITESPACE@[54; 55) - R_CURLY@[55; 56) + FIELD_PAT_LIST@[40; 56) + L_CURLY@[40; 41) + WHITESPACE@[41; 42) + BIND_PAT@[42; 43) + NAME@[42; 43) + IDENT@[42; 43) "f" + COMMA@[43; 44) + WHITESPACE@[44; 45) + BIND_PAT@[45; 54) + REF_KW@[45; 48) + WHITESPACE@[48; 49) + MUT_KW@[49; 52) + WHITESPACE@[52; 53) + NAME@[53; 54) + IDENT@[53; 54) "g" + WHITESPACE@[54; 55) + R_CURLY@[55; 56) WHITESPACE@[56; 57) EQ@[57; 58) WHITESPACE@[58; 59) @@ -72,17 +74,18 @@ FILE@[0; 119) NAME_REF@[71; 72) IDENT@[71; 72) "S" WHITESPACE@[72; 73) - L_CURLY@[73; 74) - WHITESPACE@[74; 75) - IDENT@[75; 76) "h" - COLON@[76; 77) - WHITESPACE@[77; 78) - PLACEHOLDER_PAT@[78; 79) - UNDERSCORE@[78; 79) - COMMA@[79; 80) - WHITESPACE@[80; 81) - DOTDOT@[81; 83) - R_CURLY@[83; 84) + FIELD_PAT_LIST@[73; 84) + L_CURLY@[73; 74) + WHITESPACE@[74; 75) + IDENT@[75; 76) "h" + COLON@[76; 77) + WHITESPACE@[77; 78) + PLACEHOLDER_PAT@[78; 79) + UNDERSCORE@[78; 79) + COMMA@[79; 80) + WHITESPACE@[80; 81) + DOTDOT@[81; 83) + R_CURLY@[83; 84) WHITESPACE@[84; 85) EQ@[85; 86) WHITESPACE@[86; 87) @@ -100,16 +103,17 @@ FILE@[0; 119) NAME_REF@[99; 100) IDENT@[99; 100) "S" WHITESPACE@[100; 101) - L_CURLY@[101; 102) - WHITESPACE@[102; 103) - IDENT@[103; 104) "h" - COLON@[104; 105) - WHITESPACE@[105; 106) - PLACEHOLDER_PAT@[106; 107) - UNDERSCORE@[106; 107) - COMMA@[107; 108) - WHITESPACE@[108; 109) - R_CURLY@[109; 110) + FIELD_PAT_LIST@[101; 110) + L_CURLY@[101; 102) + WHITESPACE@[102; 103) + IDENT@[103; 104) "h" + COLON@[104; 105) + WHITESPACE@[105; 106) + PLACEHOLDER_PAT@[106; 107) + UNDERSCORE@[106; 107) + COMMA@[107; 108) + WHITESPACE@[108; 109) + R_CURLY@[109; 110) WHITESPACE@[110; 111) EQ@[111; 112) WHITESPACE@[112; 113) diff --git a/crates/libsyntax2/tests/data/parser/inline/0074_unary_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0074_unary_expr.txt index 4da473a7f0..3daf1d777f 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0074_unary_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0074_unary_expr.txt @@ -8,7 +8,7 @@ FILE@[0; 44) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 43) + BLOCK@[9; 43) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 20) diff --git a/crates/libsyntax2/tests/data/parser/inline/0075_try_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0075_try_expr.txt index c97d671d2b..104847c82d 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0075_try_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0075_try_expr.txt @@ -8,7 +8,7 @@ FILE@[0; 21) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 20) + BLOCK@[9; 20) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 18) diff --git a/crates/libsyntax2/tests/data/parser/inline/0076_cond.txt b/crates/libsyntax2/tests/data/parser/inline/0076_cond.txt index 2ee8fa78a1..6f26b7c0fd 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0076_cond.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0076_cond.txt @@ -8,7 +8,7 @@ FILE@[0; 38) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 37) + BLOCK@[9; 37) L_CURLY@[9; 10) WHITESPACE@[10; 11) IF_EXPR@[11; 35) @@ -34,7 +34,7 @@ FILE@[0; 38) NAME_REF@[28; 32) IDENT@[28; 32) "None" WHITESPACE@[32; 33) - BLOCK_EXPR@[33; 35) + BLOCK@[33; 35) L_CURLY@[33; 34) R_CURLY@[34; 35) WHITESPACE@[35; 36) diff --git a/crates/libsyntax2/tests/data/parser/inline/0077_while_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0077_while_expr.txt index 45a0c92dd0..399dbd278e 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0077_while_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0077_while_expr.txt @@ -8,7 +8,7 @@ FILE@[0; 70) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 69) + BLOCK@[9; 69) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 29) @@ -18,7 +18,7 @@ FILE@[0; 70) LITERAL@[21; 25) TRUE_KW@[21; 25) WHITESPACE@[25; 26) - BLOCK_EXPR@[26; 28) + BLOCK@[26; 28) L_CURLY@[26; 27) R_CURLY@[27; 28) SEMI@[28; 29) @@ -55,7 +55,7 @@ FILE@[0; 70) L_PAREN@[61; 62) R_PAREN@[62; 63) WHITESPACE@[63; 64) - BLOCK_EXPR@[64; 66) + BLOCK@[64; 66) L_CURLY@[64; 65) R_CURLY@[65; 66) SEMI@[66; 67) diff --git a/crates/libsyntax2/tests/data/parser/inline/0078_mod_contents.txt b/crates/libsyntax2/tests/data/parser/inline/0078_mod_contents.txt index 696695ebad..9324f22784 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0078_mod_contents.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0078_mod_contents.txt @@ -8,7 +8,7 @@ FILE@[0; 70) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 11) + BLOCK@[9; 11) L_CURLY@[9; 10) R_CURLY@[10; 11) WHITESPACE@[11; 12) diff --git a/crates/libsyntax2/tests/data/parser/inline/0079_cast_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0079_cast_expr.txt index b49926d229..817f7b36e0 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0079_cast_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0079_cast_expr.txt @@ -8,7 +8,7 @@ FILE@[0; 28) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 27) + BLOCK@[9; 27) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 25) diff --git a/crates/libsyntax2/tests/data/parser/inline/0080_tuple_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0080_tuple_expr.txt index d2b4051a36..5e1dd1a62e 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0080_tuple_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0080_tuple_expr.txt @@ -8,7 +8,7 @@ FILE@[0; 40) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 39) + BLOCK@[9; 39) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 18) diff --git a/crates/libsyntax2/tests/data/parser/inline/0081_index_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0081_index_expr.txt index 9da8508984..4ebd0e172d 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0081_index_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0081_index_expr.txt @@ -8,7 +8,7 @@ FILE@[0; 26) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 25) + BLOCK@[9; 25) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 23) diff --git a/crates/libsyntax2/tests/data/parser/inline/0082_tuple_pat.txt b/crates/libsyntax2/tests/data/parser/inline/0082_tuple_pat.txt index d47c712db6..c498f4fc56 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0082_tuple_pat.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0082_tuple_pat.txt @@ -8,7 +8,7 @@ FILE@[0; 39) L_PAREN@[7; 8) R_PAREN@[8; 9) WHITESPACE@[9; 10) - BLOCK_EXPR@[10; 38) + BLOCK@[10; 38) L_CURLY@[10; 11) WHITESPACE@[11; 16) LET_STMT@[16; 36) diff --git a/crates/libsyntax2/tests/data/parser/inline/0083_postfix_range.txt b/crates/libsyntax2/tests/data/parser/inline/0083_postfix_range.txt index 312f8df1e7..b4794e3e37 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0083_postfix_range.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0083_postfix_range.txt @@ -8,7 +8,7 @@ FILE@[0; 26) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 25) + BLOCK@[9; 25) L_CURLY@[9; 10) WHITESPACE@[10; 11) LET_STMT@[11; 23) diff --git a/crates/libsyntax2/tests/data/parser/inline/0084_loop_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0084_loop_expr.txt index eba105e64b..ce0dfe7a40 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0084_loop_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0084_loop_expr.txt @@ -8,14 +8,14 @@ FILE@[0; 26) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 25) + BLOCK@[9; 25) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 23) LOOP_EXPR@[15; 22) LOOP_KW@[15; 19) WHITESPACE@[19; 20) - BLOCK_EXPR@[20; 22) + BLOCK@[20; 22) L_CURLY@[20; 21) R_CURLY@[21; 22) SEMI@[22; 23) diff --git a/crates/libsyntax2/tests/data/parser/inline/0085_for_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0085_for_expr.txt index c140b7225d..9fb0c63c20 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0085_for_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0085_for_expr.txt @@ -8,7 +8,7 @@ FILE@[0; 33) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 32) + BLOCK@[9; 32) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 30) @@ -25,7 +25,7 @@ FILE@[0; 33) L_BRACK@[24; 25) R_BRACK@[25; 26) WHITESPACE@[26; 27) - BLOCK_EXPR@[27; 29) + BLOCK@[27; 29) L_CURLY@[27; 28) R_CURLY@[28; 29) SEMI@[29; 30) diff --git a/crates/libsyntax2/tests/data/parser/inline/0085_match_arms_commas.txt b/crates/libsyntax2/tests/data/parser/inline/0085_match_arms_commas.txt index fb8f36ec9b..361c3d6ac9 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0085_match_arms_commas.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0085_match_arms_commas.txt @@ -8,7 +8,7 @@ FILE@[0; 83) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 82) + BLOCK@[9; 82) L_CURLY@[9; 10) WHITESPACE@[10; 15) MATCH_EXPR@[15; 80) @@ -18,40 +18,42 @@ FILE@[0; 83) L_PAREN@[21; 22) R_PAREN@[22; 23) WHITESPACE@[23; 24) - L_CURLY@[24; 25) - WHITESPACE@[25; 34) - MATCH_ARM@[34; 41) - PLACEHOLDER_PAT@[34; 35) - UNDERSCORE@[34; 35) - WHITESPACE@[35; 36) - FAT_ARROW@[36; 38) - WHITESPACE@[38; 39) - TUPLE_EXPR@[39; 41) - L_PAREN@[39; 40) - R_PAREN@[40; 41) - COMMA@[41; 42) - WHITESPACE@[42; 51) - MATCH_ARM@[51; 58) - PLACEHOLDER_PAT@[51; 52) - UNDERSCORE@[51; 52) - WHITESPACE@[52; 53) - FAT_ARROW@[53; 55) - WHITESPACE@[55; 56) - BLOCK_EXPR@[56; 58) - L_CURLY@[56; 57) - R_CURLY@[57; 58) - WHITESPACE@[58; 67) - MATCH_ARM@[67; 74) - PLACEHOLDER_PAT@[67; 68) - UNDERSCORE@[67; 68) - WHITESPACE@[68; 69) - FAT_ARROW@[69; 71) - WHITESPACE@[71; 72) - TUPLE_EXPR@[72; 74) - L_PAREN@[72; 73) - R_PAREN@[73; 74) - WHITESPACE@[74; 79) - R_CURLY@[79; 80) + MATCH_ARM_LIST@[24; 80) + L_CURLY@[24; 25) + WHITESPACE@[25; 34) + MATCH_ARM@[34; 41) + PLACEHOLDER_PAT@[34; 35) + UNDERSCORE@[34; 35) + WHITESPACE@[35; 36) + FAT_ARROW@[36; 38) + WHITESPACE@[38; 39) + TUPLE_EXPR@[39; 41) + L_PAREN@[39; 40) + R_PAREN@[40; 41) + COMMA@[41; 42) + WHITESPACE@[42; 51) + MATCH_ARM@[51; 58) + PLACEHOLDER_PAT@[51; 52) + UNDERSCORE@[51; 52) + WHITESPACE@[52; 53) + FAT_ARROW@[53; 55) + WHITESPACE@[55; 56) + BLOCK_EXPR@[56; 58) + BLOCK@[56; 58) + L_CURLY@[56; 57) + R_CURLY@[57; 58) + WHITESPACE@[58; 67) + MATCH_ARM@[67; 74) + PLACEHOLDER_PAT@[67; 68) + UNDERSCORE@[67; 68) + WHITESPACE@[68; 69) + FAT_ARROW@[69; 71) + WHITESPACE@[71; 72) + TUPLE_EXPR@[72; 74) + L_PAREN@[72; 73) + R_PAREN@[73; 74) + WHITESPACE@[74; 79) + R_CURLY@[79; 80) WHITESPACE@[80; 81) R_CURLY@[81; 82) WHITESPACE@[82; 83) diff --git a/crates/libsyntax2/tests/data/parser/inline/0086_array_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0086_array_expr.txt index e3b9c0dcd2..b954f575df 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0086_array_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0086_array_expr.txt @@ -8,7 +8,7 @@ FILE@[0; 55) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 54) + BLOCK@[9; 54) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 18) diff --git a/crates/libsyntax2/tests/data/parser/inline/0086_no_semi_after_block.txt b/crates/libsyntax2/tests/data/parser/inline/0086_no_semi_after_block.txt index 3cb9eb11d5..34ec269e6b 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0086_no_semi_after_block.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0086_no_semi_after_block.txt @@ -8,7 +8,7 @@ FILE@[0; 107) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 106) + BLOCK@[9; 106) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 25) @@ -18,7 +18,7 @@ FILE@[0; 107) LITERAL@[18; 22) TRUE_KW@[18; 22) WHITESPACE@[22; 23) - BLOCK_EXPR@[23; 25) + BLOCK@[23; 25) L_CURLY@[23; 24) R_CURLY@[24; 25) WHITESPACE@[25; 30) @@ -26,7 +26,7 @@ FILE@[0; 107) LOOP_EXPR@[30; 37) LOOP_KW@[30; 34) WHITESPACE@[34; 35) - BLOCK_EXPR@[35; 37) + BLOCK@[35; 37) L_CURLY@[35; 36) R_CURLY@[36; 37) WHITESPACE@[37; 42) @@ -38,8 +38,9 @@ FILE@[0; 107) L_PAREN@[48; 49) R_PAREN@[49; 50) WHITESPACE@[50; 51) - L_CURLY@[51; 52) - R_CURLY@[52; 53) + MATCH_ARM_LIST@[51; 53) + L_CURLY@[51; 52) + R_CURLY@[52; 53) WHITESPACE@[53; 58) EXPR_STMT@[58; 71) WHILE_EXPR@[58; 71) @@ -48,7 +49,7 @@ FILE@[0; 107) LITERAL@[64; 68) TRUE_KW@[64; 68) WHITESPACE@[68; 69) - BLOCK_EXPR@[69; 71) + BLOCK@[69; 71) L_CURLY@[69; 70) R_CURLY@[70; 71) WHITESPACE@[71; 76) @@ -65,18 +66,20 @@ FILE@[0; 107) L_PAREN@[85; 86) R_PAREN@[86; 87) WHITESPACE@[87; 88) - BLOCK_EXPR@[88; 90) + BLOCK@[88; 90) L_CURLY@[88; 89) R_CURLY@[89; 90) WHITESPACE@[90; 95) EXPR_STMT@[95; 97) BLOCK_EXPR@[95; 97) - L_CURLY@[95; 96) - R_CURLY@[96; 97) + BLOCK@[95; 97) + L_CURLY@[95; 96) + R_CURLY@[96; 97) WHITESPACE@[97; 102) BLOCK_EXPR@[102; 104) - L_CURLY@[102; 103) - R_CURLY@[103; 104) + BLOCK@[102; 104) + L_CURLY@[102; 103) + R_CURLY@[103; 104) WHITESPACE@[104; 105) R_CURLY@[105; 106) WHITESPACE@[106; 107) diff --git a/crates/libsyntax2/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.txt b/crates/libsyntax2/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.txt index 17351c87c4..1451cdfbc4 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.txt @@ -8,7 +8,7 @@ FILE@[0; 84) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 83) + BLOCK@[9; 83) L_CURLY@[9; 10) WHITESPACE@[10; 15) MATCH_EXPR@[15; 81) @@ -18,41 +18,45 @@ FILE@[0; 84) L_PAREN@[21; 22) R_PAREN@[22; 23) WHITESPACE@[23; 24) - L_CURLY@[24; 25) - WHITESPACE@[25; 34) - MATCH_ARM@[34; 41) - PLACEHOLDER_PAT@[34; 35) - UNDERSCORE@[34; 35) - WHITESPACE@[35; 36) - FAT_ARROW@[36; 38) - WHITESPACE@[38; 39) - BLOCK_EXPR@[39; 41) - L_CURLY@[39; 40) - R_CURLY@[40; 41) - WHITESPACE@[41; 50) - MATCH_ARM@[50; 58) - TUPLE_PAT@[50; 52) - L_PAREN@[50; 51) - R_PAREN@[51; 52) - WHITESPACE@[52; 53) - FAT_ARROW@[53; 55) - WHITESPACE@[55; 56) - BLOCK_EXPR@[56; 58) - L_CURLY@[56; 57) - R_CURLY@[57; 58) - WHITESPACE@[58; 67) - MATCH_ARM@[67; 75) - SLICE_PAT@[67; 69) - L_BRACK@[67; 68) - R_BRACK@[68; 69) - WHITESPACE@[69; 70) - FAT_ARROW@[70; 72) - WHITESPACE@[72; 73) - BLOCK_EXPR@[73; 75) - L_CURLY@[73; 74) - R_CURLY@[74; 75) - WHITESPACE@[75; 80) - R_CURLY@[80; 81) + MATCH_ARM_LIST@[24; 81) + L_CURLY@[24; 25) + WHITESPACE@[25; 34) + MATCH_ARM@[34; 41) + PLACEHOLDER_PAT@[34; 35) + UNDERSCORE@[34; 35) + WHITESPACE@[35; 36) + FAT_ARROW@[36; 38) + WHITESPACE@[38; 39) + BLOCK_EXPR@[39; 41) + BLOCK@[39; 41) + L_CURLY@[39; 40) + R_CURLY@[40; 41) + WHITESPACE@[41; 50) + MATCH_ARM@[50; 58) + TUPLE_PAT@[50; 52) + L_PAREN@[50; 51) + R_PAREN@[51; 52) + WHITESPACE@[52; 53) + FAT_ARROW@[53; 55) + WHITESPACE@[55; 56) + BLOCK_EXPR@[56; 58) + BLOCK@[56; 58) + L_CURLY@[56; 57) + R_CURLY@[57; 58) + WHITESPACE@[58; 67) + MATCH_ARM@[67; 75) + SLICE_PAT@[67; 69) + L_BRACK@[67; 68) + R_BRACK@[68; 69) + WHITESPACE@[69; 70) + FAT_ARROW@[70; 72) + WHITESPACE@[72; 73) + BLOCK_EXPR@[73; 75) + BLOCK@[73; 75) + L_CURLY@[73; 74) + R_CURLY@[74; 75) + WHITESPACE@[75; 80) + R_CURLY@[80; 81) WHITESPACE@[81; 82) R_CURLY@[82; 83) WHITESPACE@[83; 84) diff --git a/crates/libsyntax2/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.txt b/crates/libsyntax2/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.txt index 51db54f15f..71e55f5708 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.txt @@ -8,7 +8,7 @@ FILE@[0; 46) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 45) + BLOCK@[9; 45) L_CURLY@[9; 10) WHITESPACE@[10; 15) LET_STMT@[15; 31) @@ -21,10 +21,11 @@ FILE@[0; 46) WHITESPACE@[22; 23) BIN_EXPR@[23; 30) BLOCK_EXPR@[23; 26) - L_CURLY@[23; 24) - LITERAL@[24; 25) - INT_NUMBER@[24; 25) "1" - R_CURLY@[25; 26) + BLOCK@[23; 26) + L_CURLY@[23; 24) + LITERAL@[24; 25) + INT_NUMBER@[24; 25) "1" + R_CURLY@[25; 26) WHITESPACE@[26; 27) AMP@[27; 28) WHITESPACE@[28; 29) @@ -34,10 +35,11 @@ FILE@[0; 46) WHITESPACE@[31; 36) EXPR_STMT@[36; 39) BLOCK_EXPR@[36; 39) - L_CURLY@[36; 37) - LITERAL@[37; 38) - INT_NUMBER@[37; 38) "1" - R_CURLY@[38; 39) + BLOCK@[36; 39) + L_CURLY@[36; 37) + LITERAL@[37; 38) + INT_NUMBER@[37; 38) "1" + R_CURLY@[38; 39) WHITESPACE@[39; 40) EXPR_STMT@[40; 43) REF_EXPR@[40; 42) diff --git a/crates/libsyntax2/tests/data/parser/inline/0089_slice_pat.txt b/crates/libsyntax2/tests/data/parser/inline/0089_slice_pat.txt index 8c3aaf096a..b092a4ac4a 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0089_slice_pat.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0089_slice_pat.txt @@ -8,7 +8,7 @@ FILE@[0; 39) L_PAREN@[7; 8) R_PAREN@[8; 9) WHITESPACE@[9; 10) - BLOCK_EXPR@[10; 38) + BLOCK@[10; 38) L_CURLY@[10; 11) WHITESPACE@[11; 16) LET_STMT@[16; 36) diff --git a/crates/libsyntax2/tests/data/parser/inline/0090_trait_item_items.txt b/crates/libsyntax2/tests/data/parser/inline/0090_trait_item_items.txt index 62d728f21e..92ac517819 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0090_trait_item_items.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0090_trait_item_items.txt @@ -8,60 +8,61 @@ FILE@[0; 83) NAME_REF@[5; 6) IDENT@[5; 6) "F" WHITESPACE@[6; 7) - L_CURLY@[7; 8) - WHITESPACE@[8; 13) - TYPE_DEF@[13; 27) - TYPE_KW@[13; 17) - WHITESPACE@[17; 18) - NAME@[18; 19) - IDENT@[18; 19) "A" - COLON@[19; 20) - WHITESPACE@[20; 21) - PATH@[21; 26) - PATH_SEGMENT@[21; 26) - NAME_REF@[21; 26) - IDENT@[21; 26) "Clone" - SEMI@[26; 27) - WHITESPACE@[27; 32) - CONST_DEF@[32; 45) - CONST_KW@[32; 37) - WHITESPACE@[37; 38) - NAME@[38; 39) - IDENT@[38; 39) "B" - COLON@[39; 40) - WHITESPACE@[40; 41) - PATH_TYPE@[41; 44) - PATH@[41; 44) - PATH_SEGMENT@[41; 44) - NAME_REF@[41; 44) - IDENT@[41; 44) "i32" - SEMI@[44; 45) - WHITESPACE@[45; 50) - FN_DEF@[50; 61) - FN_KW@[50; 52) - WHITESPACE@[52; 53) - NAME@[53; 56) - IDENT@[53; 56) "foo" - PARAM_LIST@[56; 58) - L_PAREN@[56; 57) - R_PAREN@[57; 58) - WHITESPACE@[58; 59) - BLOCK_EXPR@[59; 61) - L_CURLY@[59; 60) - R_CURLY@[60; 61) - WHITESPACE@[61; 66) - FN_DEF@[66; 80) - FN_KW@[66; 68) - WHITESPACE@[68; 69) - NAME@[69; 72) - IDENT@[69; 72) "bar" - PARAM_LIST@[72; 79) - L_PAREN@[72; 73) - SELF_PARAM@[73; 78) - AMP@[73; 74) - SELF_KW@[74; 78) - R_PAREN@[78; 79) - SEMI@[79; 80) - WHITESPACE@[80; 81) - R_CURLY@[81; 82) + ITEM_LIST@[7; 82) + L_CURLY@[7; 8) + WHITESPACE@[8; 13) + TYPE_DEF@[13; 27) + TYPE_KW@[13; 17) + WHITESPACE@[17; 18) + NAME@[18; 19) + IDENT@[18; 19) "A" + COLON@[19; 20) + WHITESPACE@[20; 21) + PATH@[21; 26) + PATH_SEGMENT@[21; 26) + NAME_REF@[21; 26) + IDENT@[21; 26) "Clone" + SEMI@[26; 27) + WHITESPACE@[27; 32) + CONST_DEF@[32; 45) + CONST_KW@[32; 37) + WHITESPACE@[37; 38) + NAME@[38; 39) + IDENT@[38; 39) "B" + COLON@[39; 40) + WHITESPACE@[40; 41) + PATH_TYPE@[41; 44) + PATH@[41; 44) + PATH_SEGMENT@[41; 44) + NAME_REF@[41; 44) + IDENT@[41; 44) "i32" + SEMI@[44; 45) + WHITESPACE@[45; 50) + FN_DEF@[50; 61) + FN_KW@[50; 52) + WHITESPACE@[52; 53) + NAME@[53; 56) + IDENT@[53; 56) "foo" + PARAM_LIST@[56; 58) + L_PAREN@[56; 57) + R_PAREN@[57; 58) + WHITESPACE@[58; 59) + BLOCK@[59; 61) + L_CURLY@[59; 60) + R_CURLY@[60; 61) + WHITESPACE@[61; 66) + FN_DEF@[66; 80) + FN_KW@[66; 68) + WHITESPACE@[68; 69) + NAME@[69; 72) + IDENT@[69; 72) "bar" + PARAM_LIST@[72; 79) + L_PAREN@[72; 73) + SELF_PARAM@[73; 78) + AMP@[73; 74) + SELF_KW@[74; 78) + R_PAREN@[78; 79) + SEMI@[79; 80) + WHITESPACE@[80; 81) + R_CURLY@[81; 82) WHITESPACE@[82; 83) diff --git a/crates/libsyntax2/tests/data/parser/inline/0091_fn_decl.txt b/crates/libsyntax2/tests/data/parser/inline/0091_fn_decl.txt index e5c96aa760..6b6d701507 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0091_fn_decl.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0091_fn_decl.txt @@ -5,17 +5,18 @@ FILE@[0; 22) NAME@[6; 7) IDENT@[6; 7) "T" WHITESPACE@[7; 8) - L_CURLY@[8; 9) - WHITESPACE@[9; 10) - FN_DEF@[10; 19) - FN_KW@[10; 12) - WHITESPACE@[12; 13) - NAME@[13; 16) - IDENT@[13; 16) "foo" - PARAM_LIST@[16; 18) - L_PAREN@[16; 17) - R_PAREN@[17; 18) - SEMI@[18; 19) - WHITESPACE@[19; 20) - R_CURLY@[20; 21) + ITEM_LIST@[8; 21) + L_CURLY@[8; 9) + WHITESPACE@[9; 10) + FN_DEF@[10; 19) + FN_KW@[10; 12) + WHITESPACE@[12; 13) + NAME@[13; 16) + IDENT@[13; 16) "foo" + PARAM_LIST@[16; 18) + L_PAREN@[16; 17) + R_PAREN@[17; 18) + SEMI@[18; 19) + WHITESPACE@[19; 20) + R_CURLY@[20; 21) WHITESPACE@[21; 22) diff --git a/crates/libsyntax2/tests/data/parser/inline/0092_literal_pattern.txt b/crates/libsyntax2/tests/data/parser/inline/0092_literal_pattern.txt index 5d49c31fea..e472f1d8f8 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0092_literal_pattern.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0092_literal_pattern.txt @@ -8,7 +8,7 @@ FILE@[0; 95) L_PAREN@[7; 8) R_PAREN@[8; 9) WHITESPACE@[9; 10) - BLOCK_EXPR@[10; 94) + BLOCK@[10; 94) L_CURLY@[10; 11) WHITESPACE@[11; 16) MATCH_EXPR@[16; 92) @@ -18,42 +18,43 @@ FILE@[0; 95) L_PAREN@[22; 23) R_PAREN@[23; 24) WHITESPACE@[24; 25) - L_CURLY@[25; 26) - WHITESPACE@[26; 35) - MATCH_ARM@[35; 43) - LITERAL@[35; 37) - INT_NUMBER@[35; 37) "92" - WHITESPACE@[37; 38) - FAT_ARROW@[38; 40) - WHITESPACE@[40; 41) - TUPLE_EXPR@[41; 43) - L_PAREN@[41; 42) - R_PAREN@[42; 43) - COMMA@[43; 44) - WHITESPACE@[44; 53) - MATCH_ARM@[53; 62) - LITERAL@[53; 56) - CHAR@[53; 56) - WHITESPACE@[56; 57) - FAT_ARROW@[57; 59) - WHITESPACE@[59; 60) - TUPLE_EXPR@[60; 62) - L_PAREN@[60; 61) - R_PAREN@[61; 62) - COMMA@[62; 63) - WHITESPACE@[63; 72) - MATCH_ARM@[72; 85) - LITERAL@[72; 79) - STRING@[72; 79) - WHITESPACE@[79; 80) - FAT_ARROW@[80; 82) - WHITESPACE@[82; 83) - TUPLE_EXPR@[83; 85) - L_PAREN@[83; 84) - R_PAREN@[84; 85) - COMMA@[85; 86) - WHITESPACE@[86; 91) - R_CURLY@[91; 92) + MATCH_ARM_LIST@[25; 92) + L_CURLY@[25; 26) + WHITESPACE@[26; 35) + MATCH_ARM@[35; 43) + LITERAL@[35; 37) + INT_NUMBER@[35; 37) "92" + WHITESPACE@[37; 38) + FAT_ARROW@[38; 40) + WHITESPACE@[40; 41) + TUPLE_EXPR@[41; 43) + L_PAREN@[41; 42) + R_PAREN@[42; 43) + COMMA@[43; 44) + WHITESPACE@[44; 53) + MATCH_ARM@[53; 62) + LITERAL@[53; 56) + CHAR@[53; 56) + WHITESPACE@[56; 57) + FAT_ARROW@[57; 59) + WHITESPACE@[59; 60) + TUPLE_EXPR@[60; 62) + L_PAREN@[60; 61) + R_PAREN@[61; 62) + COMMA@[62; 63) + WHITESPACE@[63; 72) + MATCH_ARM@[72; 85) + LITERAL@[72; 79) + STRING@[72; 79) + WHITESPACE@[79; 80) + FAT_ARROW@[80; 82) + WHITESPACE@[82; 83) + TUPLE_EXPR@[83; 85) + L_PAREN@[83; 84) + R_PAREN@[84; 85) + COMMA@[85; 86) + WHITESPACE@[86; 91) + R_CURLY@[91; 92) WHITESPACE@[92; 93) R_CURLY@[93; 94) WHITESPACE@[94; 95) diff --git a/crates/libsyntax2/tests/data/parser/inline/0094_range_pat.txt b/crates/libsyntax2/tests/data/parser/inline/0094_range_pat.txt index 8b174b9084..4a008e2f78 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0094_range_pat.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0094_range_pat.txt @@ -8,7 +8,7 @@ FILE@[0; 47) L_PAREN@[7; 8) R_PAREN@[8; 9) WHITESPACE@[9; 10) - BLOCK_EXPR@[10; 46) + BLOCK@[10; 46) L_CURLY@[10; 11) WHITESPACE@[11; 16) MATCH_EXPR@[16; 44) @@ -17,25 +17,26 @@ FILE@[0; 47) LITERAL@[22; 24) INT_NUMBER@[22; 24) "92" WHITESPACE@[24; 25) - L_CURLY@[25; 26) - WHITESPACE@[26; 27) - MATCH_ARM@[27; 42) - RANGE_PAT@[27; 36) - LITERAL@[27; 28) - INT_NUMBER@[27; 28) "0" - WHITESPACE@[28; 29) - DOTDOTDOT@[29; 32) - WHITESPACE@[32; 33) - LITERAL@[33; 36) - INT_NUMBER@[33; 36) "100" - WHITESPACE@[36; 37) - FAT_ARROW@[37; 39) - WHITESPACE@[39; 40) - TUPLE_EXPR@[40; 42) - L_PAREN@[40; 41) - R_PAREN@[41; 42) - WHITESPACE@[42; 43) - R_CURLY@[43; 44) + MATCH_ARM_LIST@[25; 44) + L_CURLY@[25; 26) + WHITESPACE@[26; 27) + MATCH_ARM@[27; 42) + RANGE_PAT@[27; 36) + LITERAL@[27; 28) + INT_NUMBER@[27; 28) "0" + WHITESPACE@[28; 29) + DOTDOTDOT@[29; 32) + WHITESPACE@[32; 33) + LITERAL@[33; 36) + INT_NUMBER@[33; 36) "100" + WHITESPACE@[36; 37) + FAT_ARROW@[37; 39) + WHITESPACE@[39; 40) + TUPLE_EXPR@[40; 42) + L_PAREN@[40; 41) + R_PAREN@[41; 42) + WHITESPACE@[42; 43) + R_CURLY@[43; 44) WHITESPACE@[44; 45) R_CURLY@[45; 46) WHITESPACE@[46; 47) diff --git a/crates/libsyntax2/tests/data/parser/inline/0095_path_type_with_bounds.txt b/crates/libsyntax2/tests/data/parser/inline/0095_path_type_with_bounds.txt index 5b6252d0e8..0e3041e381 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0095_path_type_with_bounds.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0095_path_type_with_bounds.txt @@ -29,7 +29,7 @@ FILE@[0; 27) LIFETIME@[20; 22) "'f" R_ANGLE@[22; 23) WHITESPACE@[23; 24) - BLOCK_EXPR@[24; 26) + BLOCK@[24; 26) L_CURLY@[24; 25) R_CURLY@[25; 26) WHITESPACE@[26; 27) diff --git a/crates/libsyntax2/tests/data/parser/inline/0097_param_list_opt_patterns.txt b/crates/libsyntax2/tests/data/parser/inline/0097_param_list_opt_patterns.txt index bed6e98813..5f296504d3 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0097_param_list_opt_patterns.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0097_param_list_opt_patterns.txt @@ -37,7 +37,7 @@ FILE@[0; 35) PARAM_LIST@[30; 32) L_PAREN@[30; 31) R_PAREN@[31; 32) - BLOCK_EXPR@[32; 34) + BLOCK@[32; 34) L_CURLY@[32; 33) R_CURLY@[33; 34) WHITESPACE@[34; 35) diff --git a/crates/libsyntax2/tests/data/parser/inline/0098_where_clause.txt b/crates/libsyntax2/tests/data/parser/inline/0098_where_clause.txt index 21c5ea9583..983545ca23 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0098_where_clause.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0098_where_clause.txt @@ -63,7 +63,7 @@ FILE@[0; 87) LIFETIME@[80; 82) "'a" COMMA@[82; 83) WHITESPACE@[83; 84) - BLOCK_EXPR@[84; 86) + BLOCK@[84; 86) L_CURLY@[84; 85) R_CURLY@[85; 86) WHITESPACE@[86; 87) diff --git a/crates/libsyntax2/tests/data/parser/inline/0099_crate_keyword_vis.txt b/crates/libsyntax2/tests/data/parser/inline/0099_crate_keyword_vis.txt index 7916bf8349..39b9409fe5 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0099_crate_keyword_vis.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0099_crate_keyword_vis.txt @@ -11,7 +11,7 @@ FILE@[0; 20) L_PAREN@[13; 14) R_PAREN@[14; 15) WHITESPACE@[15; 16) - BLOCK_EXPR@[16; 19) + BLOCK@[16; 19) L_CURLY@[16; 17) WHITESPACE@[17; 18) R_CURLY@[18; 19) diff --git a/crates/libsyntax2/tests/data/parser/inline/0101_qual_paths.txt b/crates/libsyntax2/tests/data/parser/inline/0101_qual_paths.txt index 58b545bdd1..3be8ce9dec 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0101_qual_paths.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0101_qual_paths.txt @@ -41,7 +41,7 @@ FILE@[0; 71) L_PAREN@[33; 34) R_PAREN@[34; 35) WHITESPACE@[35; 36) - BLOCK_EXPR@[36; 70) + BLOCK@[36; 70) L_CURLY@[36; 37) WHITESPACE@[37; 38) EXPR_STMT@[38; 68) diff --git a/crates/libsyntax2/tests/data/parser/inline/0102_full_range_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0102_full_range_expr.txt index 8e7b403c5c..7ffa0e0f7a 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0102_full_range_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0102_full_range_expr.txt @@ -8,7 +8,7 @@ FILE@[0; 21) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 20) + BLOCK@[9; 20) L_CURLY@[9; 10) WHITESPACE@[10; 11) EXPR_STMT@[11; 18) diff --git a/crates/libsyntax2/tests/data/parser/inline/0103_field_attrs.txt b/crates/libsyntax2/tests/data/parser/inline/0103_field_attrs.txt index f4e2d97163..0834a408f5 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0103_field_attrs.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0103_field_attrs.txt @@ -5,37 +5,38 @@ FILE@[0; 64) NAME@[7; 8) IDENT@[7; 8) "S" WHITESPACE@[8; 9) - L_CURLY@[9; 10) - WHITESPACE@[10; 15) - NAMED_FIELD@[15; 60) - ATTR@[15; 43) - POUND@[15; 16) - TOKEN_TREE@[16; 43) - L_BRACK@[16; 17) - IDENT@[17; 22) "serde" - TOKEN_TREE@[22; 42) - L_PAREN@[22; 23) - IDENT@[23; 27) "with" - WHITESPACE@[27; 28) - EQ@[28; 29) - WHITESPACE@[29; 30) - STRING@[30; 41) - R_PAREN@[41; 42) - R_BRACK@[42; 43) - WHITESPACE@[43; 48) - VISIBILITY@[48; 51) - PUB_KW@[48; 51) - WHITESPACE@[51; 52) - NAME@[52; 55) - IDENT@[52; 55) "uri" - COLON@[55; 56) - WHITESPACE@[56; 57) - PATH_TYPE@[57; 60) - PATH@[57; 60) - PATH_SEGMENT@[57; 60) - NAME_REF@[57; 60) - IDENT@[57; 60) "Uri" - COMMA@[60; 61) - WHITESPACE@[61; 62) - R_CURLY@[62; 63) + NAMED_FIELD_DEF_LIST@[9; 63) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + NAMED_FIELD_DEF@[15; 60) + ATTR@[15; 43) + POUND@[15; 16) + TOKEN_TREE@[16; 43) + L_BRACK@[16; 17) + IDENT@[17; 22) "serde" + TOKEN_TREE@[22; 42) + L_PAREN@[22; 23) + IDENT@[23; 27) "with" + WHITESPACE@[27; 28) + EQ@[28; 29) + WHITESPACE@[29; 30) + STRING@[30; 41) + R_PAREN@[41; 42) + R_BRACK@[42; 43) + WHITESPACE@[43; 48) + VISIBILITY@[48; 51) + PUB_KW@[48; 51) + WHITESPACE@[51; 52) + NAME@[52; 55) + IDENT@[52; 55) "uri" + COLON@[55; 56) + WHITESPACE@[56; 57) + PATH_TYPE@[57; 60) + PATH@[57; 60) + PATH_SEGMENT@[57; 60) + NAME_REF@[57; 60) + IDENT@[57; 60) "Uri" + COMMA@[60; 61) + WHITESPACE@[61; 62) + R_CURLY@[62; 63) WHITESPACE@[63; 64) diff --git a/crates/libsyntax2/tests/data/parser/inline/0104_arb_self_types.txt b/crates/libsyntax2/tests/data/parser/inline/0104_arb_self_types.txt index de94b4c63d..da5c0100be 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0104_arb_self_types.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0104_arb_self_types.txt @@ -8,64 +8,65 @@ FILE@[0; 69) NAME_REF@[5; 6) IDENT@[5; 6) "S" WHITESPACE@[6; 7) - L_CURLY@[7; 8) - WHITESPACE@[8; 13) - FN_DEF@[13; 33) - FN_KW@[13; 15) - WHITESPACE@[15; 16) - NAME@[16; 17) - IDENT@[16; 17) "a" - PARAM_LIST@[17; 30) - L_PAREN@[17; 18) - SELF_PARAM@[18; 29) - SELF_KW@[18; 22) - COLON@[22; 23) - WHITESPACE@[23; 24) - REFERENCE_TYPE@[24; 29) - AMP@[24; 25) - PATH_TYPE@[25; 29) - PATH@[25; 29) - PATH_SEGMENT@[25; 29) - NAME_REF@[25; 29) - IDENT@[25; 29) "Self" - R_PAREN@[29; 30) - WHITESPACE@[30; 31) - BLOCK_EXPR@[31; 33) - L_CURLY@[31; 32) - R_CURLY@[32; 33) - WHITESPACE@[33; 38) - FN_DEF@[38; 66) - FN_KW@[38; 40) - WHITESPACE@[40; 41) - NAME@[41; 42) - IDENT@[41; 42) "b" - PARAM_LIST@[42; 63) - L_PAREN@[42; 43) - SELF_PARAM@[43; 62) - MUT_KW@[43; 46) - WHITESPACE@[46; 47) - SELF_KW@[47; 51) - COLON@[51; 52) - WHITESPACE@[52; 53) - PATH_TYPE@[53; 62) - PATH@[53; 62) - PATH_SEGMENT@[53; 62) - NAME_REF@[53; 56) - IDENT@[53; 56) "Box" - TYPE_ARG_LIST@[56; 62) - L_ANGLE@[56; 57) - TYPE_ARG@[57; 61) - PATH_TYPE@[57; 61) - PATH@[57; 61) - PATH_SEGMENT@[57; 61) - NAME_REF@[57; 61) - IDENT@[57; 61) "Self" - R_ANGLE@[61; 62) - R_PAREN@[62; 63) - WHITESPACE@[63; 64) - BLOCK_EXPR@[64; 66) - L_CURLY@[64; 65) - R_CURLY@[65; 66) - WHITESPACE@[66; 67) - R_CURLY@[67; 68) + ITEM_LIST@[7; 68) + L_CURLY@[7; 8) + WHITESPACE@[8; 13) + FN_DEF@[13; 33) + FN_KW@[13; 15) + WHITESPACE@[15; 16) + NAME@[16; 17) + IDENT@[16; 17) "a" + PARAM_LIST@[17; 30) + L_PAREN@[17; 18) + SELF_PARAM@[18; 29) + SELF_KW@[18; 22) + COLON@[22; 23) + WHITESPACE@[23; 24) + REFERENCE_TYPE@[24; 29) + AMP@[24; 25) + PATH_TYPE@[25; 29) + PATH@[25; 29) + PATH_SEGMENT@[25; 29) + NAME_REF@[25; 29) + IDENT@[25; 29) "Self" + R_PAREN@[29; 30) + WHITESPACE@[30; 31) + BLOCK@[31; 33) + L_CURLY@[31; 32) + R_CURLY@[32; 33) + WHITESPACE@[33; 38) + FN_DEF@[38; 66) + FN_KW@[38; 40) + WHITESPACE@[40; 41) + NAME@[41; 42) + IDENT@[41; 42) "b" + PARAM_LIST@[42; 63) + L_PAREN@[42; 43) + SELF_PARAM@[43; 62) + MUT_KW@[43; 46) + WHITESPACE@[46; 47) + SELF_KW@[47; 51) + COLON@[51; 52) + WHITESPACE@[52; 53) + PATH_TYPE@[53; 62) + PATH@[53; 62) + PATH_SEGMENT@[53; 62) + NAME_REF@[53; 56) + IDENT@[53; 56) "Box" + TYPE_ARG_LIST@[56; 62) + L_ANGLE@[56; 57) + TYPE_ARG@[57; 61) + PATH_TYPE@[57; 61) + PATH@[57; 61) + PATH_SEGMENT@[57; 61) + NAME_REF@[57; 61) + IDENT@[57; 61) "Self" + R_ANGLE@[61; 62) + R_PAREN@[62; 63) + WHITESPACE@[63; 64) + BLOCK@[64; 66) + L_CURLY@[64; 65) + R_CURLY@[65; 66) + WHITESPACE@[66; 67) + R_CURLY@[67; 68) WHITESPACE@[68; 69) diff --git a/crates/libsyntax2/tests/data/parser/inline/0105_continue_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0105_continue_expr.txt index 05526fda64..7185ee1b4a 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0105_continue_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0105_continue_expr.txt @@ -8,13 +8,13 @@ FILE@[0; 69) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 68) + BLOCK@[9; 68) L_CURLY@[9; 10) WHITESPACE@[10; 15) LOOP_EXPR@[15; 66) LOOP_KW@[15; 19) WHITESPACE@[19; 20) - BLOCK_EXPR@[20; 66) + BLOCK@[20; 66) L_CURLY@[20; 21) WHITESPACE@[21; 30) EXPR_STMT@[30; 39) diff --git a/crates/libsyntax2/tests/data/parser/inline/0106_break_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0106_break_expr.txt index bb490e4417..0b82c468f3 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0106_break_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0106_break_expr.txt @@ -8,13 +8,13 @@ FILE@[0; 102) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 101) + BLOCK@[9; 101) L_CURLY@[9; 10) WHITESPACE@[10; 15) LOOP_EXPR@[15; 99) LOOP_KW@[15; 19) WHITESPACE@[19; 20) - BLOCK_EXPR@[20; 99) + BLOCK@[20; 99) L_CURLY@[20; 21) WHITESPACE@[21; 30) EXPR_STMT@[30; 36) diff --git a/crates/libsyntax2/tests/data/parser/inline/0107_label.txt b/crates/libsyntax2/tests/data/parser/inline/0107_label.txt index 66ba792b8e..5761e80eab 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0107_label.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0107_label.txt @@ -8,7 +8,7 @@ FILE@[0; 74) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 73) + BLOCK@[9; 73) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 26) @@ -19,7 +19,7 @@ FILE@[0; 74) WHITESPACE@[18; 19) LOOP_KW@[19; 23) WHITESPACE@[23; 24) - BLOCK_EXPR@[24; 26) + BLOCK@[24; 26) L_CURLY@[24; 25) R_CURLY@[25; 26) WHITESPACE@[26; 31) @@ -34,7 +34,7 @@ FILE@[0; 74) LITERAL@[41; 45) TRUE_KW@[41; 45) WHITESPACE@[45; 46) - BLOCK_EXPR@[46; 48) + BLOCK@[46; 48) L_CURLY@[46; 47) R_CURLY@[47; 48) WHITESPACE@[48; 53) @@ -55,7 +55,7 @@ FILE@[0; 74) L_PAREN@[66; 67) R_PAREN@[67; 68) WHITESPACE@[68; 69) - BLOCK_EXPR@[69; 71) + BLOCK@[69; 71) L_CURLY@[69; 70) R_CURLY@[70; 71) WHITESPACE@[71; 72) diff --git a/crates/libsyntax2/tests/data/parser/ok/0001_struct_item.txt b/crates/libsyntax2/tests/data/parser/ok/0001_struct_item.txt index cfe128971a..bc74d52b23 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0001_struct_item.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0001_struct_item.txt @@ -17,19 +17,20 @@ FILE@[0; 32) IDENT@[12; 16) "Copy" R_ANGLE@[16; 17) WHITESPACE@[17; 18) - L_CURLY@[18; 19) - WHITESPACE@[19; 24) - NAMED_FIELD@[24; 28) - NAME@[24; 25) - IDENT@[24; 25) "f" - COLON@[25; 26) - WHITESPACE@[26; 27) - PATH_TYPE@[27; 28) - PATH@[27; 28) - PATH_SEGMENT@[27; 28) - NAME_REF@[27; 28) - IDENT@[27; 28) "T" - COMMA@[28; 29) - WHITESPACE@[29; 30) - R_CURLY@[30; 31) + NAMED_FIELD_DEF_LIST@[18; 31) + L_CURLY@[18; 19) + WHITESPACE@[19; 24) + NAMED_FIELD_DEF@[24; 28) + NAME@[24; 25) + IDENT@[24; 25) "f" + COLON@[25; 26) + WHITESPACE@[26; 27) + PATH_TYPE@[27; 28) + PATH@[27; 28) + PATH_SEGMENT@[27; 28) + NAME_REF@[27; 28) + IDENT@[27; 28) "T" + COMMA@[28; 29) + WHITESPACE@[29; 30) + R_CURLY@[30; 31) WHITESPACE@[31; 32) diff --git a/crates/libsyntax2/tests/data/parser/ok/0002_struct_item_field.txt b/crates/libsyntax2/tests/data/parser/ok/0002_struct_item_field.txt index d8c68e89b6..69da10900a 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0002_struct_item_field.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0002_struct_item_field.txt @@ -5,17 +5,18 @@ FILE@[0; 25) NAME@[7; 8) IDENT@[7; 8) "S" WHITESPACE@[8; 9) - L_CURLY@[9; 10) - WHITESPACE@[10; 15) - NAMED_FIELD@[15; 23) - NAME@[15; 18) - IDENT@[15; 18) "foo" - COLON@[18; 19) - WHITESPACE@[19; 20) - PATH_TYPE@[20; 23) - PATH@[20; 23) - PATH_SEGMENT@[20; 23) - NAME_REF@[20; 23) - IDENT@[20; 23) "u32" - WHITESPACE@[23; 24) - R_CURLY@[24; 25) + NAMED_FIELD_DEF_LIST@[9; 25) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + NAMED_FIELD_DEF@[15; 23) + NAME@[15; 18) + IDENT@[15; 18) "foo" + COLON@[18; 19) + WHITESPACE@[19; 20) + PATH_TYPE@[20; 23) + PATH@[20; 23) + PATH_SEGMENT@[20; 23) + NAME_REF@[20; 23) + IDENT@[20; 23) "u32" + WHITESPACE@[23; 24) + R_CURLY@[24; 25) diff --git a/crates/libsyntax2/tests/data/parser/ok/0005_fn_item.txt b/crates/libsyntax2/tests/data/parser/ok/0005_fn_item.txt index e5bdf48529..2dc8c85d67 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0005_fn_item.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0005_fn_item.txt @@ -8,7 +8,7 @@ FILE@[0; 13) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 12) + BLOCK@[9; 12) L_CURLY@[9; 10) WHITESPACE@[10; 11) R_CURLY@[11; 12) diff --git a/crates/libsyntax2/tests/data/parser/ok/0008_mod_item.txt b/crates/libsyntax2/tests/data/parser/ok/0008_mod_item.txt index 54fe69baf6..a2b4f64957 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0008_mod_item.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0008_mod_item.txt @@ -12,9 +12,10 @@ FILE@[0; 118) NAME@[12; 13) IDENT@[12; 13) "b" WHITESPACE@[13; 14) - L_CURLY@[14; 15) - WHITESPACE@[15; 16) - R_CURLY@[16; 17) + ITEM_LIST@[14; 17) + L_CURLY@[14; 15) + WHITESPACE@[15; 16) + R_CURLY@[16; 17) WHITESPACE@[17; 19) MODULE@[19; 65) MOD_KW@[19; 22) @@ -22,32 +23,34 @@ FILE@[0; 118) NAME@[23; 24) IDENT@[23; 24) "c" WHITESPACE@[24; 25) - L_CURLY@[25; 26) - WHITESPACE@[26; 31) - FN_DEF@[31; 47) - FN_KW@[31; 33) - WHITESPACE@[33; 34) - NAME@[34; 37) - IDENT@[34; 37) "foo" - PARAM_LIST@[37; 39) - L_PAREN@[37; 38) - R_PAREN@[38; 39) - WHITESPACE@[39; 40) - BLOCK_EXPR@[40; 47) - L_CURLY@[40; 41) - WHITESPACE@[41; 46) - R_CURLY@[46; 47) - WHITESPACE@[47; 52) - STRUCT_DEF@[52; 63) - STRUCT_KW@[52; 58) - WHITESPACE@[58; 59) - NAME@[59; 60) - IDENT@[59; 60) "S" - WHITESPACE@[60; 61) - L_CURLY@[61; 62) - R_CURLY@[62; 63) - WHITESPACE@[63; 64) - R_CURLY@[64; 65) + ITEM_LIST@[25; 65) + L_CURLY@[25; 26) + WHITESPACE@[26; 31) + FN_DEF@[31; 47) + FN_KW@[31; 33) + WHITESPACE@[33; 34) + NAME@[34; 37) + IDENT@[34; 37) "foo" + PARAM_LIST@[37; 39) + L_PAREN@[37; 38) + R_PAREN@[38; 39) + WHITESPACE@[39; 40) + BLOCK@[40; 47) + L_CURLY@[40; 41) + WHITESPACE@[41; 46) + R_CURLY@[46; 47) + WHITESPACE@[47; 52) + STRUCT_DEF@[52; 63) + STRUCT_KW@[52; 58) + WHITESPACE@[58; 59) + NAME@[59; 60) + IDENT@[59; 60) "S" + WHITESPACE@[60; 61) + NAMED_FIELD_DEF_LIST@[61; 63) + L_CURLY@[61; 62) + R_CURLY@[62; 63) + WHITESPACE@[63; 64) + R_CURLY@[64; 65) WHITESPACE@[65; 67) MODULE@[67; 118) MOD_KW@[67; 70) @@ -55,31 +58,33 @@ FILE@[0; 118) NAME@[71; 72) IDENT@[71; 72) "d" WHITESPACE@[72; 73) - L_CURLY@[73; 74) - WHITESPACE@[74; 79) - ATTR@[79; 87) - POUND@[79; 80) - EXCL@[80; 81) - TOKEN_TREE@[81; 87) - L_BRACK@[81; 82) - IDENT@[82; 86) "attr" - R_BRACK@[86; 87) - WHITESPACE@[87; 92) - MODULE@[92; 98) - MOD_KW@[92; 95) - WHITESPACE@[95; 96) - NAME@[96; 97) - IDENT@[96; 97) "e" - SEMI@[97; 98) - WHITESPACE@[98; 103) - MODULE@[103; 116) - MOD_KW@[103; 106) - WHITESPACE@[106; 107) - NAME@[107; 108) - IDENT@[107; 108) "f" - WHITESPACE@[108; 109) - L_CURLY@[109; 110) - WHITESPACE@[110; 115) - R_CURLY@[115; 116) - WHITESPACE@[116; 117) - R_CURLY@[117; 118) + ITEM_LIST@[73; 118) + L_CURLY@[73; 74) + WHITESPACE@[74; 79) + ATTR@[79; 87) + POUND@[79; 80) + EXCL@[80; 81) + TOKEN_TREE@[81; 87) + L_BRACK@[81; 82) + IDENT@[82; 86) "attr" + R_BRACK@[86; 87) + WHITESPACE@[87; 92) + MODULE@[92; 98) + MOD_KW@[92; 95) + WHITESPACE@[95; 96) + NAME@[96; 97) + IDENT@[96; 97) "e" + SEMI@[97; 98) + WHITESPACE@[98; 103) + MODULE@[103; 116) + MOD_KW@[103; 106) + WHITESPACE@[106; 107) + NAME@[107; 108) + IDENT@[107; 108) "f" + WHITESPACE@[108; 109) + ITEM_LIST@[109; 116) + L_CURLY@[109; 110) + WHITESPACE@[110; 115) + R_CURLY@[115; 116) + WHITESPACE@[116; 117) + R_CURLY@[117; 118) diff --git a/crates/libsyntax2/tests/data/parser/ok/0011_outer_attribute.txt b/crates/libsyntax2/tests/data/parser/ok/0011_outer_attribute.txt index 24647fb064..af4b55aed8 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0011_outer_attribute.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0011_outer_attribute.txt @@ -26,7 +26,7 @@ FILE@[0; 35) L_PAREN@[29; 30) R_PAREN@[30; 31) WHITESPACE@[31; 32) - BLOCK_EXPR@[32; 34) + BLOCK@[32; 34) L_CURLY@[32; 33) R_CURLY@[33; 34) WHITESPACE@[34; 35) diff --git a/crates/libsyntax2/tests/data/parser/ok/0012_visibility.txt b/crates/libsyntax2/tests/data/parser/ok/0012_visibility.txt index 0fa76480a4..940721f8ba 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0012_visibility.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0012_visibility.txt @@ -8,7 +8,7 @@ FILE@[0; 98) L_PAREN@[4; 5) R_PAREN@[5; 6) WHITESPACE@[6; 7) - BLOCK_EXPR@[7; 9) + BLOCK@[7; 9) L_CURLY@[7; 8) R_CURLY@[8; 9) WHITESPACE@[9; 10) @@ -24,7 +24,7 @@ FILE@[0; 98) L_PAREN@[18; 19) R_PAREN@[19; 20) WHITESPACE@[20; 21) - BLOCK_EXPR@[21; 23) + BLOCK@[21; 23) L_CURLY@[21; 22) R_CURLY@[22; 23) WHITESPACE@[23; 24) @@ -43,7 +43,7 @@ FILE@[0; 98) L_PAREN@[39; 40) R_PAREN@[40; 41) WHITESPACE@[41; 42) - BLOCK_EXPR@[42; 44) + BLOCK@[42; 44) L_CURLY@[42; 43) R_CURLY@[43; 44) WHITESPACE@[44; 45) @@ -62,7 +62,7 @@ FILE@[0; 98) L_PAREN@[60; 61) R_PAREN@[61; 62) WHITESPACE@[62; 63) - BLOCK_EXPR@[63; 65) + BLOCK@[63; 65) L_CURLY@[63; 64) R_CURLY@[64; 65) WHITESPACE@[65; 66) @@ -96,7 +96,7 @@ FILE@[0; 98) L_PAREN@[92; 93) R_PAREN@[93; 94) WHITESPACE@[94; 95) - BLOCK_EXPR@[95; 97) + BLOCK@[95; 97) L_CURLY@[95; 96) R_CURLY@[96; 97) WHITESPACE@[97; 98) diff --git a/crates/libsyntax2/tests/data/parser/ok/0014_use_tree.txt b/crates/libsyntax2/tests/data/parser/ok/0014_use_tree.txt index 730d5539bf..86bafc853c 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0014_use_tree.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0014_use_tree.txt @@ -19,16 +19,18 @@ FILE@[0; 81) WHITESPACE@[19; 20) USE_TREE@[20; 24) COLONCOLON@[20; 22) - L_CURLY@[22; 23) - R_CURLY@[23; 24) + USE_TREE_LIST@[22; 24) + L_CURLY@[22; 23) + R_CURLY@[23; 24) SEMI@[24; 25) WHITESPACE@[25; 26) USE_ITEM@[26; 33) USE_KW@[26; 29) WHITESPACE@[29; 30) USE_TREE@[30; 32) - L_CURLY@[30; 31) - R_CURLY@[31; 32) + USE_TREE_LIST@[30; 32) + L_CURLY@[30; 31) + R_CURLY@[31; 32) SEMI@[32; 33) WHITESPACE@[33; 34) USE_ITEM@[34; 45) @@ -52,8 +54,9 @@ FILE@[0; 81) NAME_REF@[50; 53) IDENT@[50; 53) "foo" COLONCOLON@[53; 55) - L_CURLY@[55; 56) - R_CURLY@[56; 57) + USE_TREE_LIST@[55; 57) + L_CURLY@[55; 56) + R_CURLY@[56; 57) SEMI@[57; 58) WHITESPACE@[58; 59) USE_ITEM@[59; 80) @@ -66,26 +69,27 @@ FILE@[0; 81) NAME_REF@[65; 68) IDENT@[65; 68) "foo" COLONCOLON@[68; 70) - L_CURLY@[70; 71) - USE_TREE@[71; 72) - PATH@[71; 72) - PATH_SEGMENT@[71; 72) - NAME_REF@[71; 72) - IDENT@[71; 72) "a" - COMMA@[72; 73) - WHITESPACE@[73; 74) - USE_TREE@[74; 75) - PATH@[74; 75) - PATH_SEGMENT@[74; 75) - NAME_REF@[74; 75) - IDENT@[74; 75) "b" - COMMA@[75; 76) - WHITESPACE@[76; 77) - USE_TREE@[77; 78) - PATH@[77; 78) - PATH_SEGMENT@[77; 78) - NAME_REF@[77; 78) - IDENT@[77; 78) "c" - R_CURLY@[78; 79) + USE_TREE_LIST@[70; 79) + L_CURLY@[70; 71) + USE_TREE@[71; 72) + PATH@[71; 72) + PATH_SEGMENT@[71; 72) + NAME_REF@[71; 72) + IDENT@[71; 72) "a" + COMMA@[72; 73) + WHITESPACE@[73; 74) + USE_TREE@[74; 75) + PATH@[74; 75) + PATH_SEGMENT@[74; 75) + NAME_REF@[74; 75) + IDENT@[74; 75) "b" + COMMA@[75; 76) + WHITESPACE@[76; 77) + USE_TREE@[77; 78) + PATH@[77; 78) + PATH_SEGMENT@[77; 78) + NAME_REF@[77; 78) + IDENT@[77; 78) "c" + R_CURLY@[78; 79) SEMI@[79; 80) WHITESPACE@[80; 81) diff --git a/crates/libsyntax2/tests/data/parser/ok/0015_use_tree.txt b/crates/libsyntax2/tests/data/parser/ok/0015_use_tree.txt index 4438e417b4..2e39766cf5 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0015_use_tree.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0015_use_tree.txt @@ -24,41 +24,42 @@ FILE@[0; 55) NAME_REF@[20; 23) IDENT@[20; 23) "foo" COLONCOLON@[23; 25) - L_CURLY@[25; 26) - USE_TREE@[26; 32) - PATH@[26; 27) - PATH_SEGMENT@[26; 27) - NAME_REF@[26; 27) - IDENT@[26; 27) "a" - WHITESPACE@[27; 28) - ALIAS@[28; 32) - AS_KW@[28; 30) - WHITESPACE@[30; 31) - NAME@[31; 32) - IDENT@[31; 32) "b" - COMMA@[32; 33) - WHITESPACE@[33; 34) - USE_TREE@[34; 35) - STAR@[34; 35) - COMMA@[35; 36) - WHITESPACE@[36; 37) - USE_TREE@[37; 40) - COLONCOLON@[37; 39) - STAR@[39; 40) - COMMA@[40; 41) - WHITESPACE@[41; 42) - USE_TREE@[42; 52) - PATH@[42; 47) - PATH_SEGMENT@[42; 47) - COLONCOLON@[42; 44) - NAME_REF@[44; 47) - IDENT@[44; 47) "foo" - WHITESPACE@[47; 48) - ALIAS@[48; 52) - AS_KW@[48; 50) - WHITESPACE@[50; 51) - NAME@[51; 52) - IDENT@[51; 52) "x" - R_CURLY@[52; 53) + USE_TREE_LIST@[25; 53) + L_CURLY@[25; 26) + USE_TREE@[26; 32) + PATH@[26; 27) + PATH_SEGMENT@[26; 27) + NAME_REF@[26; 27) + IDENT@[26; 27) "a" + WHITESPACE@[27; 28) + ALIAS@[28; 32) + AS_KW@[28; 30) + WHITESPACE@[30; 31) + NAME@[31; 32) + IDENT@[31; 32) "b" + COMMA@[32; 33) + WHITESPACE@[33; 34) + USE_TREE@[34; 35) + STAR@[34; 35) + COMMA@[35; 36) + WHITESPACE@[36; 37) + USE_TREE@[37; 40) + COLONCOLON@[37; 39) + STAR@[39; 40) + COMMA@[40; 41) + WHITESPACE@[41; 42) + USE_TREE@[42; 52) + PATH@[42; 47) + PATH_SEGMENT@[42; 47) + COLONCOLON@[42; 44) + NAME_REF@[44; 47) + IDENT@[44; 47) "foo" + WHITESPACE@[47; 48) + ALIAS@[48; 52) + AS_KW@[48; 50) + WHITESPACE@[50; 51) + NAME@[51; 52) + IDENT@[51; 52) "x" + R_CURLY@[52; 53) SEMI@[53; 54) WHITESPACE@[54; 55) diff --git a/crates/libsyntax2/tests/data/parser/ok/0016_struct_flavors.txt b/crates/libsyntax2/tests/data/parser/ok/0016_struct_flavors.txt index fd777673d8..5bf3a1794a 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0016_struct_flavors.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0016_struct_flavors.txt @@ -12,16 +12,18 @@ FILE@[0; 97) NAME@[17; 18) IDENT@[17; 18) "B" WHITESPACE@[18; 19) - L_CURLY@[19; 20) - R_CURLY@[20; 21) + NAMED_FIELD_DEF_LIST@[19; 21) + L_CURLY@[19; 20) + R_CURLY@[20; 21) WHITESPACE@[21; 22) STRUCT_DEF@[22; 33) STRUCT_KW@[22; 28) WHITESPACE@[28; 29) NAME@[29; 30) IDENT@[29; 30) "C" - L_PAREN@[30; 31) - R_PAREN@[31; 32) + POS_FIELD_LIST@[30; 32) + L_PAREN@[30; 31) + R_PAREN@[31; 32) SEMI@[32; 33) WHITESPACE@[33; 35) STRUCT_DEF@[35; 74) @@ -30,60 +32,62 @@ FILE@[0; 97) NAME@[42; 43) IDENT@[42; 43) "D" WHITESPACE@[43; 44) - L_CURLY@[44; 45) - WHITESPACE@[45; 50) - NAMED_FIELD@[50; 56) - NAME@[50; 51) - IDENT@[50; 51) "a" - COLON@[51; 52) - WHITESPACE@[52; 53) - PATH_TYPE@[53; 56) - PATH@[53; 56) - PATH_SEGMENT@[53; 56) - NAME_REF@[53; 56) - IDENT@[53; 56) "u32" - COMMA@[56; 57) - WHITESPACE@[57; 62) - NAMED_FIELD@[62; 72) - VISIBILITY@[62; 65) - PUB_KW@[62; 65) - WHITESPACE@[65; 66) - NAME@[66; 67) - IDENT@[66; 67) "b" - COLON@[67; 68) - WHITESPACE@[68; 69) - PATH_TYPE@[69; 72) - PATH@[69; 72) - PATH_SEGMENT@[69; 72) - NAME_REF@[69; 72) - IDENT@[69; 72) "u32" - WHITESPACE@[72; 73) - R_CURLY@[73; 74) + NAMED_FIELD_DEF_LIST@[44; 74) + L_CURLY@[44; 45) + WHITESPACE@[45; 50) + NAMED_FIELD_DEF@[50; 56) + NAME@[50; 51) + IDENT@[50; 51) "a" + COLON@[51; 52) + WHITESPACE@[52; 53) + PATH_TYPE@[53; 56) + PATH@[53; 56) + PATH_SEGMENT@[53; 56) + NAME_REF@[53; 56) + IDENT@[53; 56) "u32" + COMMA@[56; 57) + WHITESPACE@[57; 62) + NAMED_FIELD_DEF@[62; 72) + VISIBILITY@[62; 65) + PUB_KW@[62; 65) + WHITESPACE@[65; 66) + NAME@[66; 67) + IDENT@[66; 67) "b" + COLON@[67; 68) + WHITESPACE@[68; 69) + PATH_TYPE@[69; 72) + PATH@[69; 72) + PATH_SEGMENT@[69; 72) + NAME_REF@[69; 72) + IDENT@[69; 72) "u32" + WHITESPACE@[72; 73) + R_CURLY@[73; 74) WHITESPACE@[74; 76) STRUCT_DEF@[76; 96) STRUCT_KW@[76; 82) WHITESPACE@[82; 83) NAME@[83; 84) IDENT@[83; 84) "E" - L_PAREN@[84; 85) - POS_FIELD@[85; 90) - VISIBILITY@[85; 88) - PUB_KW@[85; 88) - WHITESPACE@[88; 89) - PATH_TYPE@[89; 90) - PATH@[89; 90) - PATH_SEGMENT@[89; 90) - NAME_REF@[89; 90) - IDENT@[89; 90) "x" - COMMA@[90; 91) - WHITESPACE@[91; 92) - POS_FIELD@[92; 93) - PATH_TYPE@[92; 93) - PATH@[92; 93) - PATH_SEGMENT@[92; 93) - NAME_REF@[92; 93) - IDENT@[92; 93) "y" - COMMA@[93; 94) - R_PAREN@[94; 95) + POS_FIELD_LIST@[84; 95) + L_PAREN@[84; 85) + POS_FIELD@[85; 90) + VISIBILITY@[85; 88) + PUB_KW@[85; 88) + WHITESPACE@[88; 89) + PATH_TYPE@[89; 90) + PATH@[89; 90) + PATH_SEGMENT@[89; 90) + NAME_REF@[89; 90) + IDENT@[89; 90) "x" + COMMA@[90; 91) + WHITESPACE@[91; 92) + POS_FIELD@[92; 93) + PATH_TYPE@[92; 93) + PATH@[92; 93) + PATH_SEGMENT@[92; 93) + NAME_REF@[92; 93) + IDENT@[92; 93) "y" + COMMA@[93; 94) + R_PAREN@[94; 95) SEMI@[95; 96) WHITESPACE@[96; 97) diff --git a/crates/libsyntax2/tests/data/parser/ok/0017_attr_trailing_comma.txt b/crates/libsyntax2/tests/data/parser/ok/0017_attr_trailing_comma.txt index 6acd842c68..02e64c0d5a 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0017_attr_trailing_comma.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0017_attr_trailing_comma.txt @@ -20,7 +20,7 @@ FILE@[0; 23) L_PAREN@[17; 18) R_PAREN@[18; 19) WHITESPACE@[19; 20) - BLOCK_EXPR@[20; 22) + BLOCK@[20; 22) L_CURLY@[20; 21) R_CURLY@[21; 22) WHITESPACE@[22; 23) diff --git a/crates/libsyntax2/tests/data/parser/ok/0018_struct_type_params.txt b/crates/libsyntax2/tests/data/parser/ok/0018_struct_type_params.txt index 64aaa7599f..fb61096f6a 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0018_struct_type_params.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0018_struct_type_params.txt @@ -23,14 +23,15 @@ FILE@[0; 290) NAME@[24; 25) IDENT@[24; 25) "T" R_ANGLE@[25; 26) - L_PAREN@[26; 27) - POS_FIELD@[27; 30) - PATH_TYPE@[27; 30) - PATH@[27; 30) - PATH_SEGMENT@[27; 30) - NAME_REF@[27; 30) - IDENT@[27; 30) "u32" - R_PAREN@[30; 31) + POS_FIELD_LIST@[26; 31) + L_PAREN@[26; 27) + POS_FIELD@[27; 30) + PATH_TYPE@[27; 30) + PATH@[27; 30) + PATH_SEGMENT@[27; 30) + NAME_REF@[27; 30) + IDENT@[27; 30) "u32" + R_PAREN@[30; 31) SEMI@[31; 32) WHITESPACE@[32; 33) STRUCT_DEF@[33; 56) @@ -45,20 +46,21 @@ FILE@[0; 290) IDENT@[43; 44) "T" R_ANGLE@[44; 45) WHITESPACE@[45; 46) - L_CURLY@[46; 47) - WHITESPACE@[47; 48) - NAMED_FIELD@[48; 54) - NAME@[48; 49) - IDENT@[48; 49) "u" - COLON@[49; 50) - WHITESPACE@[50; 51) - PATH_TYPE@[51; 54) - PATH@[51; 54) - PATH_SEGMENT@[51; 54) - NAME_REF@[51; 54) - IDENT@[51; 54) "u32" - WHITESPACE@[54; 55) - R_CURLY@[55; 56) + NAMED_FIELD_DEF_LIST@[46; 56) + L_CURLY@[46; 47) + WHITESPACE@[47; 48) + NAMED_FIELD_DEF@[48; 54) + NAME@[48; 49) + IDENT@[48; 49) "u" + COLON@[49; 50) + WHITESPACE@[50; 51) + PATH_TYPE@[51; 54) + PATH@[51; 54) + PATH_SEGMENT@[51; 54) + NAME_REF@[51; 54) + IDENT@[51; 54) "u32" + WHITESPACE@[54; 55) + R_CURLY@[55; 56) WHITESPACE@[56; 58) STRUCT_DEF@[58; 70) STRUCT_KW@[58; 64) diff --git a/crates/libsyntax2/tests/data/parser/ok/0019_enums.txt b/crates/libsyntax2/tests/data/parser/ok/0019_enums.txt index f6f653615b..0eca75cd80 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0019_enums.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0019_enums.txt @@ -5,9 +5,10 @@ FILE@[0; 182) NAME@[5; 7) IDENT@[5; 7) "E1" WHITESPACE@[7; 8) - L_CURLY@[8; 9) - WHITESPACE@[9; 10) - R_CURLY@[10; 11) + ENUM_VARIANT_LIST@[8; 11) + L_CURLY@[8; 9) + WHITESPACE@[9; 10) + R_CURLY@[10; 11) WHITESPACE@[11; 13) ENUM_DEF@[13; 27) ENUM_KW@[13; 17) @@ -21,9 +22,10 @@ FILE@[0; 182) IDENT@[21; 22) "T" R_ANGLE@[22; 23) WHITESPACE@[23; 24) - L_CURLY@[24; 25) - WHITESPACE@[25; 26) - R_CURLY@[26; 27) + ENUM_VARIANT_LIST@[24; 27) + L_CURLY@[24; 25) + WHITESPACE@[25; 26) + R_CURLY@[26; 27) WHITESPACE@[27; 29) ENUM_DEF@[29; 46) ENUM_KW@[29; 33) @@ -31,13 +33,14 @@ FILE@[0; 182) NAME@[34; 36) IDENT@[34; 36) "E3" WHITESPACE@[36; 37) - L_CURLY@[37; 38) - WHITESPACE@[38; 43) - ENUM_VARIANT@[43; 44) - NAME@[43; 44) - IDENT@[43; 44) "X" - WHITESPACE@[44; 45) - R_CURLY@[45; 46) + ENUM_VARIANT_LIST@[37; 46) + L_CURLY@[37; 38) + WHITESPACE@[38; 43) + ENUM_VARIANT@[43; 44) + NAME@[43; 44) + IDENT@[43; 44) "X" + WHITESPACE@[44; 45) + R_CURLY@[45; 46) WHITESPACE@[46; 48) ENUM_DEF@[48; 66) ENUM_KW@[48; 52) @@ -45,14 +48,15 @@ FILE@[0; 182) NAME@[53; 55) IDENT@[53; 55) "E4" WHITESPACE@[55; 56) - L_CURLY@[56; 57) - WHITESPACE@[57; 62) - ENUM_VARIANT@[62; 63) - NAME@[62; 63) - IDENT@[62; 63) "X" - COMMA@[63; 64) - WHITESPACE@[64; 65) - R_CURLY@[65; 66) + ENUM_VARIANT_LIST@[56; 66) + L_CURLY@[56; 57) + WHITESPACE@[57; 62) + ENUM_VARIANT@[62; 63) + NAME@[62; 63) + IDENT@[62; 63) "X" + COMMA@[63; 64) + WHITESPACE@[64; 65) + R_CURLY@[65; 66) WHITESPACE@[66; 68) ENUM_DEF@[68; 181) ENUM_KW@[68; 72) @@ -60,87 +64,92 @@ FILE@[0; 182) NAME@[73; 75) IDENT@[73; 75) "E5" WHITESPACE@[75; 76) - L_CURLY@[76; 77) - WHITESPACE@[77; 82) - ENUM_VARIANT@[82; 83) - NAME@[82; 83) - IDENT@[82; 83) "A" - COMMA@[83; 84) - WHITESPACE@[84; 89) - ENUM_VARIANT@[89; 95) - NAME@[89; 90) - IDENT@[89; 90) "B" - WHITESPACE@[90; 91) - EQ@[91; 92) - WHITESPACE@[92; 93) - LITERAL@[93; 95) - INT_NUMBER@[93; 95) "92" - COMMA@[95; 96) - WHITESPACE@[96; 101) - ENUM_VARIANT@[101; 146) - NAME@[101; 102) - IDENT@[101; 102) "C" - WHITESPACE@[102; 103) - L_CURLY@[103; 104) - WHITESPACE@[104; 113) - NAMED_FIELD@[113; 119) - NAME@[113; 114) - IDENT@[113; 114) "a" - COLON@[114; 115) - WHITESPACE@[115; 116) - PATH_TYPE@[116; 119) - PATH@[116; 119) - PATH_SEGMENT@[116; 119) - NAME_REF@[116; 119) - IDENT@[116; 119) "u32" - COMMA@[119; 120) - WHITESPACE@[120; 129) - NAMED_FIELD@[129; 139) - VISIBILITY@[129; 132) - PUB_KW@[129; 132) - WHITESPACE@[132; 133) - NAME@[133; 134) - IDENT@[133; 134) "b" - COLON@[134; 135) - WHITESPACE@[135; 136) - PATH_TYPE@[136; 139) - PATH@[136; 139) - PATH_SEGMENT@[136; 139) - NAME_REF@[136; 139) - IDENT@[136; 139) "f64" - COMMA@[139; 140) - WHITESPACE@[140; 145) - R_CURLY@[145; 146) - COMMA@[146; 147) - WHITESPACE@[147; 152) - ENUM_VARIANT@[152; 156) - NAME@[152; 153) - IDENT@[152; 153) "F" - WHITESPACE@[153; 154) - L_CURLY@[154; 155) - R_CURLY@[155; 156) - COMMA@[156; 157) - WHITESPACE@[157; 162) - ENUM_VARIANT@[162; 169) - NAME@[162; 163) - IDENT@[162; 163) "D" - L_PAREN@[163; 164) - POS_FIELD@[164; 167) - PATH_TYPE@[164; 167) - PATH@[164; 167) - PATH_SEGMENT@[164; 167) - NAME_REF@[164; 167) - IDENT@[164; 167) "u32" - COMMA@[167; 168) - R_PAREN@[168; 169) - COMMA@[169; 170) - WHITESPACE@[170; 175) - ENUM_VARIANT@[175; 178) - NAME@[175; 176) - IDENT@[175; 176) "E" - L_PAREN@[176; 177) - R_PAREN@[177; 178) - COMMA@[178; 179) - WHITESPACE@[179; 180) - R_CURLY@[180; 181) + ENUM_VARIANT_LIST@[76; 181) + L_CURLY@[76; 77) + WHITESPACE@[77; 82) + ENUM_VARIANT@[82; 83) + NAME@[82; 83) + IDENT@[82; 83) "A" + COMMA@[83; 84) + WHITESPACE@[84; 89) + ENUM_VARIANT@[89; 95) + NAME@[89; 90) + IDENT@[89; 90) "B" + WHITESPACE@[90; 91) + EQ@[91; 92) + WHITESPACE@[92; 93) + LITERAL@[93; 95) + INT_NUMBER@[93; 95) "92" + COMMA@[95; 96) + WHITESPACE@[96; 101) + ENUM_VARIANT@[101; 146) + NAME@[101; 102) + IDENT@[101; 102) "C" + WHITESPACE@[102; 103) + NAMED_FIELD_DEF_LIST@[103; 146) + L_CURLY@[103; 104) + WHITESPACE@[104; 113) + NAMED_FIELD_DEF@[113; 119) + NAME@[113; 114) + IDENT@[113; 114) "a" + COLON@[114; 115) + WHITESPACE@[115; 116) + PATH_TYPE@[116; 119) + PATH@[116; 119) + PATH_SEGMENT@[116; 119) + NAME_REF@[116; 119) + IDENT@[116; 119) "u32" + COMMA@[119; 120) + WHITESPACE@[120; 129) + NAMED_FIELD_DEF@[129; 139) + VISIBILITY@[129; 132) + PUB_KW@[129; 132) + WHITESPACE@[132; 133) + NAME@[133; 134) + IDENT@[133; 134) "b" + COLON@[134; 135) + WHITESPACE@[135; 136) + PATH_TYPE@[136; 139) + PATH@[136; 139) + PATH_SEGMENT@[136; 139) + NAME_REF@[136; 139) + IDENT@[136; 139) "f64" + COMMA@[139; 140) + WHITESPACE@[140; 145) + R_CURLY@[145; 146) + COMMA@[146; 147) + WHITESPACE@[147; 152) + ENUM_VARIANT@[152; 156) + NAME@[152; 153) + IDENT@[152; 153) "F" + WHITESPACE@[153; 154) + NAMED_FIELD_DEF_LIST@[154; 156) + L_CURLY@[154; 155) + R_CURLY@[155; 156) + COMMA@[156; 157) + WHITESPACE@[157; 162) + ENUM_VARIANT@[162; 169) + NAME@[162; 163) + IDENT@[162; 163) "D" + POS_FIELD_LIST@[163; 169) + L_PAREN@[163; 164) + POS_FIELD@[164; 167) + PATH_TYPE@[164; 167) + PATH@[164; 167) + PATH_SEGMENT@[164; 167) + NAME_REF@[164; 167) + IDENT@[164; 167) "u32" + COMMA@[167; 168) + R_PAREN@[168; 169) + COMMA@[169; 170) + WHITESPACE@[170; 175) + ENUM_VARIANT@[175; 178) + NAME@[175; 176) + IDENT@[175; 176) "E" + POS_FIELD_LIST@[176; 178) + L_PAREN@[176; 177) + R_PAREN@[177; 178) + COMMA@[178; 179) + WHITESPACE@[179; 180) + R_CURLY@[180; 181) WHITESPACE@[181; 182) diff --git a/crates/libsyntax2/tests/data/parser/ok/0021_extern_fn.txt b/crates/libsyntax2/tests/data/parser/ok/0021_extern_fn.txt index 3a153c3589..c3f377857c 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0021_extern_fn.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0021_extern_fn.txt @@ -11,7 +11,7 @@ FILE@[0; 71) L_PAREN@[13; 14) R_PAREN@[14; 15) WHITESPACE@[15; 16) - BLOCK_EXPR@[16; 19) + BLOCK@[16; 19) L_CURLY@[16; 17) WHITESPACE@[17; 18) R_CURLY@[18; 19) @@ -30,7 +30,7 @@ FILE@[0; 71) L_PAREN@[38; 39) R_PAREN@[39; 40) WHITESPACE@[40; 41) - BLOCK_EXPR@[41; 44) + BLOCK@[41; 44) L_CURLY@[41; 42) WHITESPACE@[42; 43) R_CURLY@[43; 44) @@ -49,7 +49,7 @@ FILE@[0; 71) L_PAREN@[64; 65) R_PAREN@[65; 66) WHITESPACE@[66; 67) - BLOCK_EXPR@[67; 70) + BLOCK@[67; 70) L_CURLY@[67; 68) WHITESPACE@[68; 69) R_CURLY@[69; 70) diff --git a/crates/libsyntax2/tests/data/parser/ok/0022_empty_extern_block.txt b/crates/libsyntax2/tests/data/parser/ok/0022_empty_extern_block.txt index 81b92d3949..075055bfee 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0022_empty_extern_block.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0022_empty_extern_block.txt @@ -1,19 +1,21 @@ FILE@[0; 27) - EXTERN_BLOCK_EXPR@[0; 10) + EXTERN_BLOCK@[0; 10) ABI@[0; 6) EXTERN_KW@[0; 6) WHITESPACE@[6; 7) - L_CURLY@[7; 8) - WHITESPACE@[8; 9) - R_CURLY@[9; 10) + EXTERN_ITEM_LIST@[7; 10) + L_CURLY@[7; 8) + WHITESPACE@[8; 9) + R_CURLY@[9; 10) WHITESPACE@[10; 12) - EXTERN_BLOCK_EXPR@[12; 26) + EXTERN_BLOCK@[12; 26) ABI@[12; 22) EXTERN_KW@[12; 18) WHITESPACE@[18; 19) STRING@[19; 22) WHITESPACE@[22; 23) - L_CURLY@[23; 24) - WHITESPACE@[24; 25) - R_CURLY@[25; 26) + EXTERN_ITEM_LIST@[23; 26) + L_CURLY@[23; 24) + WHITESPACE@[24; 25) + R_CURLY@[25; 26) WHITESPACE@[26; 27) diff --git a/crates/libsyntax2/tests/data/parser/ok/0025_extern_fn_in_block.txt b/crates/libsyntax2/tests/data/parser/ok/0025_extern_fn_in_block.txt index 82736af915..088c6b54cb 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0025_extern_fn_in_block.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0025_extern_fn_in_block.txt @@ -8,7 +8,7 @@ FILE@[0; 35) L_PAREN@[7; 8) R_PAREN@[8; 9) WHITESPACE@[9; 10) - BLOCK_EXPR@[10; 34) + BLOCK@[10; 34) L_CURLY@[10; 11) WHITESPACE@[11; 16) FN_DEF@[16; 32) @@ -23,7 +23,7 @@ FILE@[0; 35) L_PAREN@[27; 28) R_PAREN@[28; 29) WHITESPACE@[29; 30) - BLOCK_EXPR@[30; 32) + BLOCK@[30; 32) L_CURLY@[30; 31) R_CURLY@[31; 32) WHITESPACE@[32; 33) diff --git a/crates/libsyntax2/tests/data/parser/ok/0026_const_fn_in_block.txt b/crates/libsyntax2/tests/data/parser/ok/0026_const_fn_in_block.txt index 5e54306805..246ea583fd 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0026_const_fn_in_block.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0026_const_fn_in_block.txt @@ -8,7 +8,7 @@ FILE@[0; 34) L_PAREN@[7; 8) R_PAREN@[8; 9) WHITESPACE@[9; 10) - BLOCK_EXPR@[10; 33) + BLOCK@[10; 33) L_CURLY@[10; 11) WHITESPACE@[11; 16) FN_DEF@[16; 31) @@ -22,7 +22,7 @@ FILE@[0; 34) L_PAREN@[26; 27) R_PAREN@[27; 28) WHITESPACE@[28; 29) - BLOCK_EXPR@[29; 31) + BLOCK@[29; 31) L_CURLY@[29; 30) R_CURLY@[30; 31) WHITESPACE@[31; 32) diff --git a/crates/libsyntax2/tests/data/parser/ok/0027_unsafe_fn_in_block.txt b/crates/libsyntax2/tests/data/parser/ok/0027_unsafe_fn_in_block.txt index 848df9b9ba..03acfd891e 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0027_unsafe_fn_in_block.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0027_unsafe_fn_in_block.txt @@ -8,7 +8,7 @@ FILE@[0; 53) L_PAREN@[7; 8) R_PAREN@[8; 9) WHITESPACE@[9; 10) - BLOCK_EXPR@[10; 52) + BLOCK@[10; 52) L_CURLY@[10; 11) WHITESPACE@[11; 16) FN_DEF@[16; 32) @@ -22,19 +22,20 @@ FILE@[0; 53) L_PAREN@[27; 28) R_PAREN@[28; 29) WHITESPACE@[29; 30) - BLOCK_EXPR@[30; 32) + BLOCK@[30; 32) L_CURLY@[30; 31) R_CURLY@[31; 32) WHITESPACE@[32; 37) BLOCK_EXPR@[37; 50) UNSAFE_KW@[37; 43) WHITESPACE@[43; 44) - L_CURLY@[44; 45) - WHITESPACE@[45; 46) - LITERAL@[46; 48) - INT_NUMBER@[46; 48) "92" - WHITESPACE@[48; 49) - R_CURLY@[49; 50) + BLOCK@[44; 50) + L_CURLY@[44; 45) + WHITESPACE@[45; 46) + LITERAL@[46; 48) + INT_NUMBER@[46; 48) "92" + WHITESPACE@[48; 49) + R_CURLY@[49; 50) WHITESPACE@[50; 51) R_CURLY@[51; 52) WHITESPACE@[52; 53) diff --git a/crates/libsyntax2/tests/data/parser/ok/0028_operator_binding_power.txt b/crates/libsyntax2/tests/data/parser/ok/0028_operator_binding_power.txt index a446066d35..aa1fa0a81c 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0028_operator_binding_power.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0028_operator_binding_power.txt @@ -8,7 +8,7 @@ FILE@[0; 248) L_PAREN@[16; 17) R_PAREN@[17; 18) WHITESPACE@[18; 19) - BLOCK_EXPR@[19; 247) + BLOCK@[19; 247) L_CURLY@[19; 20) WHITESPACE@[20; 25) LET_STMT@[25; 55) diff --git a/crates/libsyntax2/tests/data/parser/ok/0029_range_forms.txt b/crates/libsyntax2/tests/data/parser/ok/0029_range_forms.txt index 619582dfcc..28fd89ca42 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0029_range_forms.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0029_range_forms.txt @@ -8,7 +8,7 @@ FILE@[0; 79) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 78) + BLOCK@[9; 78) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 23) diff --git a/crates/libsyntax2/tests/data/parser/ok/0030_traits.txt b/crates/libsyntax2/tests/data/parser/ok/0030_traits.txt index 88282ca1ae..ab87864fcf 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0030_traits.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0030_traits.txt @@ -8,27 +8,28 @@ FILE@[0; 164) NAME@[10; 22) IDENT@[10; 22) "WriteMessage" WHITESPACE@[22; 23) - L_CURLY@[23; 24) - WHITESPACE@[24; 29) - FN_DEF@[29; 64) - FN_KW@[29; 31) - WHITESPACE@[31; 32) - NAME@[32; 45) - IDENT@[32; 45) "write_message" - PARAM_LIST@[45; 63) - L_PAREN@[45; 46) - PARAM@[46; 62) - REFERENCE_TYPE@[46; 62) - AMP@[46; 47) - PATH_TYPE@[47; 62) - PATH@[47; 62) - PATH_SEGMENT@[47; 62) - NAME_REF@[47; 62) - IDENT@[47; 62) "FrontendMessage" - R_PAREN@[62; 63) - SEMI@[63; 64) - WHITESPACE@[64; 65) - R_CURLY@[65; 66) + ITEM_LIST@[23; 66) + L_CURLY@[23; 24) + WHITESPACE@[24; 29) + FN_DEF@[29; 64) + FN_KW@[29; 31) + WHITESPACE@[31; 32) + NAME@[32; 45) + IDENT@[32; 45) "write_message" + PARAM_LIST@[45; 63) + L_PAREN@[45; 46) + PARAM@[46; 62) + REFERENCE_TYPE@[46; 62) + AMP@[46; 47) + PATH_TYPE@[47; 62) + PATH@[47; 62) + PATH_SEGMENT@[47; 62) + NAME_REF@[47; 62) + IDENT@[47; 62) "FrontendMessage" + R_PAREN@[62; 63) + SEMI@[63; 64) + WHITESPACE@[64; 65) + R_CURLY@[65; 66) WHITESPACE@[66; 68) TRAIT_DEF@[68; 104) TRAIT_KW@[68; 73) @@ -36,19 +37,20 @@ FILE@[0; 164) NAME@[74; 82) IDENT@[74; 82) "Runnable" WHITESPACE@[82; 83) - L_CURLY@[83; 84) - WHITESPACE@[84; 89) - FN_DEF@[89; 102) - FN_KW@[89; 91) - WHITESPACE@[91; 92) - NAME@[92; 99) - IDENT@[92; 99) "handler" - PARAM_LIST@[99; 101) - L_PAREN@[99; 100) - R_PAREN@[100; 101) - SEMI@[101; 102) - WHITESPACE@[102; 103) - R_CURLY@[103; 104) + ITEM_LIST@[83; 104) + L_CURLY@[83; 84) + WHITESPACE@[84; 89) + FN_DEF@[89; 102) + FN_KW@[89; 91) + WHITESPACE@[91; 92) + NAME@[92; 99) + IDENT@[92; 99) "handler" + PARAM_LIST@[99; 101) + L_PAREN@[99; 100) + R_PAREN@[100; 101) + SEMI@[101; 102) + WHITESPACE@[102; 103) + R_CURLY@[103; 104) WHITESPACE@[104; 106) TRAIT_DEF@[106; 163) TRAIT_KW@[106; 111) @@ -56,35 +58,36 @@ FILE@[0; 164) NAME@[112; 125) IDENT@[112; 125) "TraitWithExpr" WHITESPACE@[125; 126) - L_CURLY@[126; 127) - WHITESPACE@[127; 132) - FN_DEF@[132; 161) - FN_KW@[132; 134) - WHITESPACE@[134; 135) - NAME@[135; 147) - IDENT@[135; 147) "fn_with_expr" - PARAM_LIST@[147; 160) - L_PAREN@[147; 148) - PARAM@[148; 159) - BIND_PAT@[148; 149) - NAME@[148; 149) - IDENT@[148; 149) "x" - COLON@[149; 150) - WHITESPACE@[150; 151) - ARRAY_TYPE@[151; 159) - L_BRACK@[151; 152) - PATH_TYPE@[152; 155) - PATH@[152; 155) - PATH_SEGMENT@[152; 155) - NAME_REF@[152; 155) - IDENT@[152; 155) "i32" - SEMI@[155; 156) - WHITESPACE@[156; 157) - LITERAL@[157; 158) - INT_NUMBER@[157; 158) "1" - R_BRACK@[158; 159) - R_PAREN@[159; 160) - SEMI@[160; 161) - WHITESPACE@[161; 162) - R_CURLY@[162; 163) + ITEM_LIST@[126; 163) + L_CURLY@[126; 127) + WHITESPACE@[127; 132) + FN_DEF@[132; 161) + FN_KW@[132; 134) + WHITESPACE@[134; 135) + NAME@[135; 147) + IDENT@[135; 147) "fn_with_expr" + PARAM_LIST@[147; 160) + L_PAREN@[147; 148) + PARAM@[148; 159) + BIND_PAT@[148; 149) + NAME@[148; 149) + IDENT@[148; 149) "x" + COLON@[149; 150) + WHITESPACE@[150; 151) + ARRAY_TYPE@[151; 159) + L_BRACK@[151; 152) + PATH_TYPE@[152; 155) + PATH@[152; 155) + PATH_SEGMENT@[152; 155) + NAME_REF@[152; 155) + IDENT@[152; 155) "i32" + SEMI@[155; 156) + WHITESPACE@[156; 157) + LITERAL@[157; 158) + INT_NUMBER@[157; 158) "1" + R_BRACK@[158; 159) + R_PAREN@[159; 160) + SEMI@[160; 161) + WHITESPACE@[161; 162) + R_CURLY@[162; 163) WHITESPACE@[163; 164)