From 2984da672e0c73d56501c6b6e4d19fd28152b5eb Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Thu, 30 Jul 2020 11:42:51 +0200 Subject: Split ItemList & AssocItemList --- crates/ra_syntax/src/ast/edit.rs | 9 ++-- crates/ra_syntax/src/ast/generated/nodes.rs | 71 ++++++++++++++++++++--------- 2 files changed, 56 insertions(+), 24 deletions(-) (limited to 'crates/ra_syntax') diff --git a/crates/ra_syntax/src/ast/edit.rs b/crates/ra_syntax/src/ast/edit.rs index abc7a646c..01a310f66 100644 --- a/crates/ra_syntax/src/ast/edit.rs +++ b/crates/ra_syntax/src/ast/edit.rs @@ -80,9 +80,12 @@ where } } -impl ast::ItemList { +impl ast::AssocItemList { #[must_use] - pub fn append_items(&self, items: impl IntoIterator) -> ast::ItemList { + pub fn append_items( + &self, + items: impl IntoIterator, + ) -> ast::AssocItemList { let mut res = self.clone(); if !self.syntax().text().contains_char('\n') { res = make_multiline(res); @@ -92,7 +95,7 @@ impl ast::ItemList { } #[must_use] - pub fn append_item(&self, item: ast::AssocItem) -> ast::ItemList { + pub fn append_item(&self, item: ast::AssocItem) -> ast::AssocItemList { let (indent, position) = match self.assoc_items().last() { Some(it) => ( leading_indent(it.syntax()).unwrap_or_default().to_string(), diff --git a/crates/ra_syntax/src/ast/generated/nodes.rs b/crates/ra_syntax/src/ast/generated/nodes.rs index dfda79550..7ccb7ea7f 100644 --- a/crates/ra_syntax/src/ast/generated/nodes.rs +++ b/crates/ra_syntax/src/ast/generated/nodes.rs @@ -112,7 +112,7 @@ impl ImplDef { pub fn impl_token(&self) -> Option { support::token(&self.syntax, T![impl]) } pub fn excl_token(&self) -> Option { support::token(&self.syntax, T![!]) } pub fn for_token(&self) -> Option { support::token(&self.syntax, T![for]) } - pub fn item_list(&self) -> Option { support::child(&self.syntax) } + pub fn assoc_item_list(&self) -> Option { support::child(&self.syntax) } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct MacroCall { @@ -180,7 +180,7 @@ impl TraitDef { pub fn unsafe_token(&self) -> Option { support::token(&self.syntax, T![unsafe]) } pub fn auto_token(&self) -> Option { support::token(&self.syntax, T![auto]) } pub fn trait_token(&self) -> Option { support::token(&self.syntax, T![trait]) } - pub fn item_list(&self) -> Option { support::child(&self.syntax) } + pub fn assoc_item_list(&self) -> Option { support::child(&self.syntax) } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct TypeAliasDef { @@ -238,11 +238,6 @@ impl Visibility { pub fn r_paren_token(&self) -> Option { support::token(&self.syntax, T![')']) } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] -pub struct Abi { - pub(crate) syntax: SyntaxNode, -} -impl Abi {} -#[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct Name { pub(crate) syntax: SyntaxNode, } @@ -250,6 +245,20 @@ impl Name { pub fn ident_token(&self) -> Option { support::token(&self.syntax, T![ident]) } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] +pub struct ItemList { + pub(crate) syntax: SyntaxNode, +} +impl ast::ModuleItemOwner for ItemList {} +impl ItemList { + pub fn l_curly_token(&self) -> Option { support::token(&self.syntax, T!['{']) } + pub fn r_curly_token(&self) -> Option { support::token(&self.syntax, T!['}']) } +} +#[derive(Debug, Clone, PartialEq, Eq, Hash)] +pub struct Abi { + pub(crate) syntax: SyntaxNode, +} +impl Abi {} +#[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct TypeParamList { pub(crate) syntax: SyntaxNode, } @@ -367,11 +376,10 @@ impl TypeBoundList { pub fn bounds(&self) -> AstChildren { support::children(&self.syntax) } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] -pub struct ItemList { +pub struct AssocItemList { pub(crate) syntax: SyntaxNode, } -impl ast::ModuleItemOwner for ItemList {} -impl ItemList { +impl AssocItemList { pub fn l_curly_token(&self) -> Option { support::token(&self.syntax, T!['{']) } pub fn assoc_items(&self) -> AstChildren { support::children(&self.syntax) } pub fn r_curly_token(&self) -> Option { support::token(&self.syntax, T!['}']) } @@ -1336,10 +1344,10 @@ pub enum AssocItem { FnDef(FnDef), TypeAliasDef(TypeAliasDef), ConstDef(ConstDef), + MacroCall(MacroCall), } impl ast::AttrsOwner for AssocItem {} impl ast::NameOwner for AssocItem {} -impl ast::VisibilityOwner for AssocItem {} #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum Pat { OrPat(OrPat), @@ -1574,8 +1582,8 @@ impl AstNode for Visibility { } fn syntax(&self) -> &SyntaxNode { &self.syntax } } -impl AstNode for Abi { - fn can_cast(kind: SyntaxKind) -> bool { kind == ABI } +impl AstNode for Name { + fn can_cast(kind: SyntaxKind) -> bool { kind == NAME } fn cast(syntax: SyntaxNode) -> Option { if Self::can_cast(syntax.kind()) { Some(Self { syntax }) @@ -1585,8 +1593,19 @@ impl AstNode for Abi { } fn syntax(&self) -> &SyntaxNode { &self.syntax } } -impl AstNode for Name { - fn can_cast(kind: SyntaxKind) -> bool { kind == NAME } +impl AstNode for ItemList { + fn can_cast(kind: SyntaxKind) -> bool { kind == ITEM_LIST } + fn cast(syntax: SyntaxNode) -> Option { + if Self::can_cast(syntax.kind()) { + Some(Self { syntax }) + } else { + None + } + } + fn syntax(&self) -> &SyntaxNode { &self.syntax } +} +impl AstNode for Abi { + fn can_cast(kind: SyntaxKind) -> bool { kind == ABI } fn cast(syntax: SyntaxNode) -> Option { if Self::can_cast(syntax.kind()) { Some(Self { syntax }) @@ -1728,8 +1747,8 @@ impl AstNode for TypeBoundList { } fn syntax(&self) -> &SyntaxNode { &self.syntax } } -impl AstNode for ItemList { - fn can_cast(kind: SyntaxKind) -> bool { kind == ITEM_LIST } +impl AstNode for AssocItemList { + fn can_cast(kind: SyntaxKind) -> bool { kind == ASSOC_ITEM_LIST } fn cast(syntax: SyntaxNode) -> Option { if Self::can_cast(syntax.kind()) { Some(Self { syntax }) @@ -3144,10 +3163,13 @@ impl From for AssocItem { impl From for AssocItem { fn from(node: ConstDef) -> AssocItem { AssocItem::ConstDef(node) } } +impl From for AssocItem { + fn from(node: MacroCall) -> AssocItem { AssocItem::MacroCall(node) } +} impl AstNode for AssocItem { fn can_cast(kind: SyntaxKind) -> bool { match kind { - FN_DEF | TYPE_ALIAS_DEF | CONST_DEF => true, + FN_DEF | TYPE_ALIAS_DEF | CONST_DEF | MACRO_CALL => true, _ => false, } } @@ -3156,6 +3178,7 @@ impl AstNode for AssocItem { FN_DEF => AssocItem::FnDef(FnDef { syntax }), TYPE_ALIAS_DEF => AssocItem::TypeAliasDef(TypeAliasDef { syntax }), CONST_DEF => AssocItem::ConstDef(ConstDef { syntax }), + MACRO_CALL => AssocItem::MacroCall(MacroCall { syntax }), _ => return None, }; Some(res) @@ -3165,6 +3188,7 @@ impl AstNode for AssocItem { AssocItem::FnDef(it) => &it.syntax, AssocItem::TypeAliasDef(it) => &it.syntax, AssocItem::ConstDef(it) => &it.syntax, + AssocItem::MacroCall(it) => &it.syntax, } } } @@ -3515,12 +3539,17 @@ impl std::fmt::Display for Visibility { std::fmt::Display::fmt(self.syntax(), f) } } -impl std::fmt::Display for Abi { +impl std::fmt::Display for Name { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { std::fmt::Display::fmt(self.syntax(), f) } } -impl std::fmt::Display for Name { +impl std::fmt::Display for ItemList { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + std::fmt::Display::fmt(self.syntax(), f) + } +} +impl std::fmt::Display for Abi { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { std::fmt::Display::fmt(self.syntax(), f) } @@ -3585,7 +3614,7 @@ impl std::fmt::Display for TypeBoundList { std::fmt::Display::fmt(self.syntax(), f) } } -impl std::fmt::Display for ItemList { +impl std::fmt::Display for AssocItemList { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { std::fmt::Display::fmt(self.syntax(), f) } -- cgit v1.2.3 From 081f35fe1b311223866fa5fc7edde2e8048cd901 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Thu, 30 Jul 2020 11:48:19 +0200 Subject: Update tests --- crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.rast | 2 +- crates/ra_syntax/test_data/parser/err/0026_imp_recovery.rast | 2 +- .../ra_syntax/test_data/parser/err/0037_visibility_in_traits.rast | 2 +- crates/ra_syntax/test_data/parser/err/0043_default_const.rast | 2 +- crates/ra_syntax/test_data/parser/inline/err/0004_impl_type.rast | 8 ++++---- .../test_data/parser/inline/err/0014_default_fn_type.rast | 2 +- .../test_data/parser/inline/ok/0001_trait_item_list.rast | 2 +- crates/ra_syntax/test_data/parser/inline/ok/0006_self_param.rast | 2 +- .../ra_syntax/test_data/parser/inline/ok/0016_unsafe_trait.rast | 2 +- .../ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.rast | 2 +- .../ra_syntax/test_data/parser/inline/ok/0021_impl_item_list.rast | 2 +- crates/ra_syntax/test_data/parser/inline/ok/0041_trait_item.rast | 4 ++-- .../test_data/parser/inline/ok/0047_unsafe_default_impl.rast | 2 +- crates/ra_syntax/test_data/parser/inline/ok/0050_fn_decl.rast | 2 +- .../ra_syntax/test_data/parser/inline/ok/0063_impl_def_neg.rast | 2 +- crates/ra_syntax/test_data/parser/inline/ok/0079_impl_def.rast | 2 +- crates/ra_syntax/test_data/parser/inline/ok/0087_unsafe_impl.rast | 2 +- crates/ra_syntax/test_data/parser/inline/ok/0091_auto_trait.rast | 2 +- .../test_data/parser/inline/ok/0094_unsafe_auto_trait.rast | 2 +- .../ra_syntax/test_data/parser/inline/ok/0097_default_impl.rast | 2 +- .../test_data/parser/inline/ok/0118_impl_inner_attributes.rast | 2 +- .../test_data/parser/inline/ok/0132_default_fn_type.rast | 2 +- .../test_data/parser/inline/ok/0150_impl_type_params.rast | 2 +- .../test_data/parser/inline/ok/0163_default_unsafe_fn.rast | 2 +- .../test_data/parser/inline/ok/0163_default_unsafe_impl.rast | 2 +- crates/ra_syntax/test_data/parser/ok/0030_traits.rast | 4 ++-- crates/ra_syntax/test_data/parser/ok/0042_ufcs_call_list.rast | 2 +- crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.rast | 2 +- crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast | 4 ++-- crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rast | 2 +- crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rast | 2 +- crates/ra_syntax/test_data/parser/ok/0066_default_const.rast | 2 +- 32 files changed, 38 insertions(+), 38 deletions(-) (limited to 'crates/ra_syntax') diff --git a/crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.rast b/crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.rast index 31cc4e551..a87e5061a 100644 --- a/crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.rast +++ b/crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.rast @@ -8,7 +8,7 @@ SOURCE_FILE@0..183 NAME_REF@5..13 IDENT@5..13 "FnScopes" WHITESPACE@13..14 " " - ITEM_LIST@14..182 + ASSOC_ITEM_LIST@14..182 L_CURLY@14..15 "{" WHITESPACE@15..20 "\n " FN_DEF@20..161 diff --git a/crates/ra_syntax/test_data/parser/err/0026_imp_recovery.rast b/crates/ra_syntax/test_data/parser/err/0026_imp_recovery.rast index bf07409fb..254ff546a 100644 --- a/crates/ra_syntax/test_data/parser/err/0026_imp_recovery.rast +++ b/crates/ra_syntax/test_data/parser/err/0026_imp_recovery.rast @@ -41,7 +41,7 @@ SOURCE_FILE@0..38 IDENT@32..33 "T" R_ANGLE@33..34 ">" WHITESPACE@34..35 " " - ITEM_LIST@35..37 + ASSOC_ITEM_LIST@35..37 L_CURLY@35..36 "{" R_CURLY@36..37 "}" WHITESPACE@37..38 "\n" diff --git a/crates/ra_syntax/test_data/parser/err/0037_visibility_in_traits.rast b/crates/ra_syntax/test_data/parser/err/0037_visibility_in_traits.rast index e3cda7c43..bc446e3df 100644 --- a/crates/ra_syntax/test_data/parser/err/0037_visibility_in_traits.rast +++ b/crates/ra_syntax/test_data/parser/err/0037_visibility_in_traits.rast @@ -14,7 +14,7 @@ SOURCE_FILE@0..118 L_PAREN@11..12 "(" R_PAREN@12..13 ")" WHITESPACE@13..14 " " - ITEM_LIST@14..117 + ASSOC_ITEM_LIST@14..117 L_CURLY@14..15 "{" WHITESPACE@15..20 "\n " FN_DEF@20..31 diff --git a/crates/ra_syntax/test_data/parser/err/0043_default_const.rast b/crates/ra_syntax/test_data/parser/err/0043_default_const.rast index 8eb583ef8..6ca1a4870 100644 --- a/crates/ra_syntax/test_data/parser/err/0043_default_const.rast +++ b/crates/ra_syntax/test_data/parser/err/0043_default_const.rast @@ -5,7 +5,7 @@ SOURCE_FILE@0..39 NAME@6..7 IDENT@6..7 "T" WHITESPACE@7..8 " " - ITEM_LIST@8..38 + ASSOC_ITEM_LIST@8..38 L_CURLY@8..9 "{" WHITESPACE@9..12 "\n " MACRO_CALL@12..19 diff --git a/crates/ra_syntax/test_data/parser/inline/err/0004_impl_type.rast b/crates/ra_syntax/test_data/parser/inline/err/0004_impl_type.rast index fd939be8d..2d0253aa0 100644 --- a/crates/ra_syntax/test_data/parser/inline/err/0004_impl_type.rast +++ b/crates/ra_syntax/test_data/parser/inline/err/0004_impl_type.rast @@ -8,7 +8,7 @@ SOURCE_FILE@0..87 NAME_REF@5..9 IDENT@5..9 "Type" WHITESPACE@9..10 " " - ITEM_LIST@10..12 + ASSOC_ITEM_LIST@10..12 L_CURLY@10..11 "{" R_CURLY@11..12 "}" WHITESPACE@12..13 "\n" @@ -29,7 +29,7 @@ SOURCE_FILE@0..87 NAME_REF@29..30 IDENT@29..30 "T" WHITESPACE@30..31 " " - ITEM_LIST@31..33 + ASSOC_ITEM_LIST@31..33 L_CURLY@31..32 "{" R_CURLY@32..33 "}" WHITESPACE@33..34 "\n" @@ -45,7 +45,7 @@ SOURCE_FILE@0..87 NAME_REF@44..51 IDENT@44..51 "NotType" WHITESPACE@51..52 " " - ITEM_LIST@52..54 + ASSOC_ITEM_LIST@52..54 L_CURLY@52..53 "{" R_CURLY@53..54 "}" WHITESPACE@54..55 "\n" @@ -69,7 +69,7 @@ SOURCE_FILE@0..87 NAME_REF@76..83 IDENT@76..83 "NotType" WHITESPACE@83..84 " " - ITEM_LIST@84..86 + ASSOC_ITEM_LIST@84..86 L_CURLY@84..85 "{" R_CURLY@85..86 "}" WHITESPACE@86..87 "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/err/0014_default_fn_type.rast b/crates/ra_syntax/test_data/parser/inline/err/0014_default_fn_type.rast index b8cd0587d..5501dc5a6 100644 --- a/crates/ra_syntax/test_data/parser/inline/err/0014_default_fn_type.rast +++ b/crates/ra_syntax/test_data/parser/inline/err/0014_default_fn_type.rast @@ -5,7 +5,7 @@ SOURCE_FILE@0..62 NAME@6..7 IDENT@6..7 "T" WHITESPACE@7..8 " " - ITEM_LIST@8..61 + ASSOC_ITEM_LIST@8..61 L_CURLY@8..9 "{" WHITESPACE@9..14 "\n " MACRO_CALL@14..21 diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0001_trait_item_list.rast b/crates/ra_syntax/test_data/parser/inline/ok/0001_trait_item_list.rast index a38b4f573..f422acdda 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0001_trait_item_list.rast +++ b/crates/ra_syntax/test_data/parser/inline/ok/0001_trait_item_list.rast @@ -8,7 +8,7 @@ SOURCE_FILE@0..83 NAME_REF@5..6 IDENT@5..6 "F" WHITESPACE@6..7 " " - ITEM_LIST@7..82 + ASSOC_ITEM_LIST@7..82 L_CURLY@7..8 "{" WHITESPACE@8..13 "\n " TYPE_ALIAS_DEF@13..27 diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0006_self_param.rast b/crates/ra_syntax/test_data/parser/inline/ok/0006_self_param.rast index 9f4a9e69b..0cd1dffc9 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0006_self_param.rast +++ b/crates/ra_syntax/test_data/parser/inline/ok/0006_self_param.rast @@ -8,7 +8,7 @@ SOURCE_FILE@0..128 NAME_REF@5..6 IDENT@5..6 "S" WHITESPACE@6..7 " " - ITEM_LIST@7..127 + ASSOC_ITEM_LIST@7..127 L_CURLY@7..8 "{" WHITESPACE@8..13 "\n " FN_DEF@13..26 diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0016_unsafe_trait.rast b/crates/ra_syntax/test_data/parser/inline/ok/0016_unsafe_trait.rast index d59c6006d..69b82e33c 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0016_unsafe_trait.rast +++ b/crates/ra_syntax/test_data/parser/inline/ok/0016_unsafe_trait.rast @@ -7,7 +7,7 @@ SOURCE_FILE@0..18 NAME@13..14 IDENT@13..14 "T" WHITESPACE@14..15 " " - ITEM_LIST@15..17 + ASSOC_ITEM_LIST@15..17 L_CURLY@15..16 "{" R_CURLY@16..17 "}" WHITESPACE@17..18 "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.rast b/crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.rast index 15da6fdd6..79148e953 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.rast +++ b/crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.rast @@ -8,7 +8,7 @@ SOURCE_FILE@0..69 NAME_REF@5..6 IDENT@5..6 "S" WHITESPACE@6..7 " " - ITEM_LIST@7..68 + ASSOC_ITEM_LIST@7..68 L_CURLY@7..8 "{" WHITESPACE@8..13 "\n " FN_DEF@13..33 diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0021_impl_item_list.rast b/crates/ra_syntax/test_data/parser/inline/ok/0021_impl_item_list.rast index c204aeb63..31b5b6616 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0021_impl_item_list.rast +++ b/crates/ra_syntax/test_data/parser/inline/ok/0021_impl_item_list.rast @@ -8,7 +8,7 @@ SOURCE_FILE@0..89 NAME_REF@5..6 IDENT@5..6 "F" WHITESPACE@6..7 " " - ITEM_LIST@7..88 + ASSOC_ITEM_LIST@7..88 L_CURLY@7..8 "{" WHITESPACE@8..13 "\n " TYPE_ALIAS_DEF@13..26 diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0041_trait_item.rast b/crates/ra_syntax/test_data/parser/inline/ok/0041_trait_item.rast index 1ae791361..884ab2dbf 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0041_trait_item.rast +++ b/crates/ra_syntax/test_data/parser/inline/ok/0041_trait_item.rast @@ -48,7 +48,7 @@ SOURCE_FILE@0..101 NAME_REF@34..38 IDENT@34..38 "Copy" WHITESPACE@38..39 " " - ITEM_LIST@39..41 + ASSOC_ITEM_LIST@39..41 L_CURLY@39..40 "{" R_CURLY@40..41 "}" WHITESPACE@41..42 "\n" @@ -119,7 +119,7 @@ SOURCE_FILE@0..101 NAME_REF@93..97 IDENT@93..97 "Copy" WHITESPACE@97..98 " " - ITEM_LIST@98..100 + ASSOC_ITEM_LIST@98..100 L_CURLY@98..99 "{" R_CURLY@99..100 "}" WHITESPACE@100..101 "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0047_unsafe_default_impl.rast b/crates/ra_syntax/test_data/parser/inline/ok/0047_unsafe_default_impl.rast index 52de6023b..8a6b5a8fc 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0047_unsafe_default_impl.rast +++ b/crates/ra_syntax/test_data/parser/inline/ok/0047_unsafe_default_impl.rast @@ -12,7 +12,7 @@ SOURCE_FILE@0..27 NAME_REF@20..23 IDENT@20..23 "Foo" WHITESPACE@23..24 " " - ITEM_LIST@24..26 + ASSOC_ITEM_LIST@24..26 L_CURLY@24..25 "{" R_CURLY@25..26 "}" WHITESPACE@26..27 "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0050_fn_decl.rast b/crates/ra_syntax/test_data/parser/inline/ok/0050_fn_decl.rast index 8bf62cda9..5f1429102 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0050_fn_decl.rast +++ b/crates/ra_syntax/test_data/parser/inline/ok/0050_fn_decl.rast @@ -5,7 +5,7 @@ SOURCE_FILE@0..22 NAME@6..7 IDENT@6..7 "T" WHITESPACE@7..8 " " - ITEM_LIST@8..21 + ASSOC_ITEM_LIST@8..21 L_CURLY@8..9 "{" WHITESPACE@9..10 " " FN_DEF@10..19 diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0063_impl_def_neg.rast b/crates/ra_syntax/test_data/parser/inline/ok/0063_impl_def_neg.rast index 24b9a1f46..31178f86e 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0063_impl_def_neg.rast +++ b/crates/ra_syntax/test_data/parser/inline/ok/0063_impl_def_neg.rast @@ -17,7 +17,7 @@ SOURCE_FILE@0..20 NAME_REF@15..16 IDENT@15..16 "X" WHITESPACE@16..17 " " - ITEM_LIST@17..19 + ASSOC_ITEM_LIST@17..19 L_CURLY@17..18 "{" R_CURLY@18..19 "}" WHITESPACE@19..20 "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0079_impl_def.rast b/crates/ra_syntax/test_data/parser/inline/ok/0079_impl_def.rast index a00ab40f9..26825ef86 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0079_impl_def.rast +++ b/crates/ra_syntax/test_data/parser/inline/ok/0079_impl_def.rast @@ -8,7 +8,7 @@ SOURCE_FILE@0..12 NAME_REF@5..8 IDENT@5..8 "Foo" WHITESPACE@8..9 " " - ITEM_LIST@9..11 + ASSOC_ITEM_LIST@9..11 L_CURLY@9..10 "{" R_CURLY@10..11 "}" WHITESPACE@11..12 "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0087_unsafe_impl.rast b/crates/ra_syntax/test_data/parser/inline/ok/0087_unsafe_impl.rast index 01ed3afca..e3223cee5 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0087_unsafe_impl.rast +++ b/crates/ra_syntax/test_data/parser/inline/ok/0087_unsafe_impl.rast @@ -10,7 +10,7 @@ SOURCE_FILE@0..19 NAME_REF@12..15 IDENT@12..15 "Foo" WHITESPACE@15..16 " " - ITEM_LIST@16..18 + ASSOC_ITEM_LIST@16..18 L_CURLY@16..17 "{" R_CURLY@17..18 "}" WHITESPACE@18..19 "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0091_auto_trait.rast b/crates/ra_syntax/test_data/parser/inline/ok/0091_auto_trait.rast index 800412cef..7efa4c34d 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0091_auto_trait.rast +++ b/crates/ra_syntax/test_data/parser/inline/ok/0091_auto_trait.rast @@ -7,7 +7,7 @@ SOURCE_FILE@0..16 NAME@11..12 IDENT@11..12 "T" WHITESPACE@12..13 " " - ITEM_LIST@13..15 + ASSOC_ITEM_LIST@13..15 L_CURLY@13..14 "{" R_CURLY@14..15 "}" WHITESPACE@15..16 "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0094_unsafe_auto_trait.rast b/crates/ra_syntax/test_data/parser/inline/ok/0094_unsafe_auto_trait.rast index 9370f6ae7..fad27be66 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0094_unsafe_auto_trait.rast +++ b/crates/ra_syntax/test_data/parser/inline/ok/0094_unsafe_auto_trait.rast @@ -9,7 +9,7 @@ SOURCE_FILE@0..23 NAME@18..19 IDENT@18..19 "T" WHITESPACE@19..20 " " - ITEM_LIST@20..22 + ASSOC_ITEM_LIST@20..22 L_CURLY@20..21 "{" R_CURLY@21..22 "}" WHITESPACE@22..23 "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0097_default_impl.rast b/crates/ra_syntax/test_data/parser/inline/ok/0097_default_impl.rast index 80bda4ba7..8a839a4a6 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0097_default_impl.rast +++ b/crates/ra_syntax/test_data/parser/inline/ok/0097_default_impl.rast @@ -10,7 +10,7 @@ SOURCE_FILE@0..20 NAME_REF@13..16 IDENT@13..16 "Foo" WHITESPACE@16..17 " " - ITEM_LIST@17..19 + ASSOC_ITEM_LIST@17..19 L_CURLY@17..18 "{" R_CURLY@18..19 "}" WHITESPACE@19..20 "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast b/crates/ra_syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast index a65a5c85f..ea54347fc 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast +++ b/crates/ra_syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast @@ -17,7 +17,7 @@ SOURCE_FILE@0..94 NAME_REF@14..15 IDENT@14..15 "F" WHITESPACE@15..16 " " - ITEM_LIST@16..93 + ASSOC_ITEM_LIST@16..93 L_CURLY@16..17 "{" WHITESPACE@17..23 "\n " COMMENT@23..48 "//! This is a doc com ..." diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0132_default_fn_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0132_default_fn_type.rast index 00ce5ecf0..3772cb64b 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0132_default_fn_type.rast +++ b/crates/ra_syntax/test_data/parser/inline/ok/0132_default_fn_type.rast @@ -16,7 +16,7 @@ SOURCE_FILE@0..69 NAME_REF@11..14 IDENT@11..14 "Foo" WHITESPACE@14..15 " " - ITEM_LIST@15..68 + ASSOC_ITEM_LIST@15..68 L_CURLY@15..16 "{" WHITESPACE@16..21 "\n " TYPE_ALIAS_DEF@21..42 diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0150_impl_type_params.rast b/crates/ra_syntax/test_data/parser/inline/ok/0150_impl_type_params.rast index e70c3b710..77e12cad6 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0150_impl_type_params.rast +++ b/crates/ra_syntax/test_data/parser/inline/ok/0150_impl_type_params.rast @@ -32,7 +32,7 @@ SOURCE_FILE@0..29 IDENT@23..24 "N" R_ANGLE@24..25 ">" WHITESPACE@25..26 " " - ITEM_LIST@26..28 + ASSOC_ITEM_LIST@26..28 L_CURLY@26..27 "{" R_CURLY@27..28 "}" WHITESPACE@28..29 "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0163_default_unsafe_fn.rast b/crates/ra_syntax/test_data/parser/inline/ok/0163_default_unsafe_fn.rast index adb6159f4..c0b8c0300 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0163_default_unsafe_fn.rast +++ b/crates/ra_syntax/test_data/parser/inline/ok/0163_default_unsafe_fn.rast @@ -16,7 +16,7 @@ SOURCE_FILE@0..50 NAME_REF@11..14 IDENT@11..14 "Foo" WHITESPACE@14..15 " " - ITEM_LIST@15..49 + ASSOC_ITEM_LIST@15..49 L_CURLY@15..16 "{" WHITESPACE@16..21 "\n " FN_DEF@21..47 diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0163_default_unsafe_impl.rast b/crates/ra_syntax/test_data/parser/inline/ok/0163_default_unsafe_impl.rast index a9eda5668..e0c338297 100644 --- a/crates/ra_syntax/test_data/parser/inline/ok/0163_default_unsafe_impl.rast +++ b/crates/ra_syntax/test_data/parser/inline/ok/0163_default_unsafe_impl.rast @@ -12,7 +12,7 @@ SOURCE_FILE@0..27 NAME_REF@20..23 IDENT@20..23 "Foo" WHITESPACE@23..24 " " - ITEM_LIST@24..26 + ASSOC_ITEM_LIST@24..26 L_CURLY@24..25 "{" R_CURLY@25..26 "}" WHITESPACE@26..27 "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0030_traits.rast b/crates/ra_syntax/test_data/parser/ok/0030_traits.rast index 0aadc11a4..63693de4f 100644 --- a/crates/ra_syntax/test_data/parser/ok/0030_traits.rast +++ b/crates/ra_syntax/test_data/parser/ok/0030_traits.rast @@ -5,7 +5,7 @@ SOURCE_FILE@0..96 NAME@6..14 IDENT@6..14 "Runnable" WHITESPACE@14..15 " " - ITEM_LIST@15..36 + ASSOC_ITEM_LIST@15..36 L_CURLY@15..16 "{" WHITESPACE@16..21 "\n " FN_DEF@21..34 @@ -26,7 +26,7 @@ SOURCE_FILE@0..96 NAME@44..57 IDENT@44..57 "TraitWithExpr" WHITESPACE@57..58 " " - ITEM_LIST@58..95 + ASSOC_ITEM_LIST@58..95 L_CURLY@58..59 "{" WHITESPACE@59..64 "\n " FN_DEF@64..93 diff --git a/crates/ra_syntax/test_data/parser/ok/0042_ufcs_call_list.rast b/crates/ra_syntax/test_data/parser/ok/0042_ufcs_call_list.rast index 468982b74..573edc081 100644 --- a/crates/ra_syntax/test_data/parser/ok/0042_ufcs_call_list.rast +++ b/crates/ra_syntax/test_data/parser/ok/0042_ufcs_call_list.rast @@ -17,7 +17,7 @@ SOURCE_FILE@0..199 NAME_REF@80..83 IDENT@80..83 "Foo" WHITESPACE@83..84 " " - ITEM_LIST@84..141 + ASSOC_ITEM_LIST@84..141 L_CURLY@84..85 "{" WHITESPACE@85..90 "\n " FN_DEF@90..139 diff --git a/crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.rast b/crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.rast index e8b095251..69aa0ba4d 100644 --- a/crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.rast +++ b/crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.rast @@ -98,7 +98,7 @@ SOURCE_FILE@0..686 NAME_REF@529..537 IDENT@529..537 "Whatever" WHITESPACE@537..538 " " - ITEM_LIST@538..685 + ASSOC_ITEM_LIST@538..685 L_CURLY@538..539 "{" WHITESPACE@539..544 "\n " FN_DEF@544..683 diff --git a/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast b/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast index 816740a7c..919c690de 100644 --- a/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast +++ b/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast @@ -192,7 +192,7 @@ SOURCE_FILE@0..519 NAME@180..183 IDENT@180..183 "Foo" WHITESPACE@183..184 " " - ITEM_LIST@184..236 + ASSOC_ITEM_LIST@184..236 L_CURLY@184..185 "{" WHITESPACE@185..190 "\n " FN_DEF@190..234 @@ -260,7 +260,7 @@ SOURCE_FILE@0..519 NAME_REF@243..244 IDENT@243..244 "S" WHITESPACE@244..245 " " - ITEM_LIST@245..519 + ASSOC_ITEM_LIST@245..519 L_CURLY@245..246 "{" WHITESPACE@246..252 "\n " FN_DEF@252..277 diff --git a/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rast b/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rast index 886b211d0..40619b46e 100644 --- a/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rast +++ b/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rast @@ -5,7 +5,7 @@ SOURCE_FILE@0..170 NAME@6..7 IDENT@6..7 "T" WHITESPACE@7..8 " " - ITEM_LIST@8..169 + ASSOC_ITEM_LIST@8..169 L_CURLY@8..9 "{" WHITESPACE@9..14 "\n " FN_DEF@14..46 diff --git a/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rast b/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rast index a0423806c..7b026e33b 100644 --- a/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rast +++ b/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rast @@ -8,7 +8,7 @@ SOURCE_FILE@0..137 NAME_REF@5..6 IDENT@5..6 "U" WHITESPACE@6..7 " " - ITEM_LIST@7..136 + ASSOC_ITEM_LIST@7..136 L_CURLY@7..8 "{" WHITESPACE@8..13 "\n " FN_DEF@13..45 diff --git a/crates/ra_syntax/test_data/parser/ok/0066_default_const.rast b/crates/ra_syntax/test_data/parser/ok/0066_default_const.rast index dab0247ee..584b2faf1 100644 --- a/crates/ra_syntax/test_data/parser/ok/0066_default_const.rast +++ b/crates/ra_syntax/test_data/parser/ok/0066_default_const.rast @@ -16,7 +16,7 @@ SOURCE_FILE@0..46 NAME_REF@11..14 IDENT@11..14 "Foo" WHITESPACE@14..15 " " - ITEM_LIST@15..45 + ASSOC_ITEM_LIST@15..45 L_CURLY@15..16 "{" WHITESPACE@16..19 "\n " CONST_DEF@19..43 -- cgit v1.2.3 From 7d09e5ed618b9b9d6e00b57b24db0b9c8a8c12d7 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Thu, 30 Jul 2020 11:44:22 +0200 Subject: Finish Module grammar --- crates/ra_syntax/src/ast/generated/nodes.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'crates/ra_syntax') diff --git a/crates/ra_syntax/src/ast/generated/nodes.rs b/crates/ra_syntax/src/ast/generated/nodes.rs index 7ccb7ea7f..fbf3b457a 100644 --- a/crates/ra_syntax/src/ast/generated/nodes.rs +++ b/crates/ra_syntax/src/ast/generated/nodes.rs @@ -248,6 +248,7 @@ impl Name { pub struct ItemList { pub(crate) syntax: SyntaxNode, } +impl ast::AttrsOwner for ItemList {} impl ast::ModuleItemOwner for ItemList {} impl ItemList { pub fn l_curly_token(&self) -> Option { support::token(&self.syntax, T!['{']) } -- cgit v1.2.3