diff options
Diffstat (limited to 'crates/syntax/src/ast/generated')
-rw-r--r-- | crates/syntax/src/ast/generated/nodes.rs | 98 |
1 files changed, 70 insertions, 28 deletions
diff --git a/crates/syntax/src/ast/generated/nodes.rs b/crates/syntax/src/ast/generated/nodes.rs index 0ad75214f..1588ba93e 100644 --- a/crates/syntax/src/ast/generated/nodes.rs +++ b/crates/syntax/src/ast/generated/nodes.rs | |||
@@ -20,6 +20,15 @@ impl NameRef { | |||
20 | pub fn ident_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![ident]) } | 20 | pub fn ident_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![ident]) } |
21 | } | 21 | } |
22 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] | 22 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] |
23 | pub struct Lifetime { | ||
24 | pub(crate) syntax: SyntaxNode, | ||
25 | } | ||
26 | impl Lifetime { | ||
27 | pub fn lifetime_ident_token(&self) -> Option<SyntaxToken> { | ||
28 | support::token(&self.syntax, T![lifetime_ident]) | ||
29 | } | ||
30 | } | ||
31 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] | ||
23 | pub struct Path { | 32 | pub struct Path { |
24 | pub(crate) syntax: SyntaxNode, | 33 | pub(crate) syntax: SyntaxNode, |
25 | } | 34 | } |
@@ -105,9 +114,7 @@ pub struct LifetimeArg { | |||
105 | pub(crate) syntax: SyntaxNode, | 114 | pub(crate) syntax: SyntaxNode, |
106 | } | 115 | } |
107 | impl LifetimeArg { | 116 | impl LifetimeArg { |
108 | pub fn lifetime_token(&self) -> Option<SyntaxToken> { | 117 | pub fn lifetime(&self) -> Option<Lifetime> { support::child(&self.syntax) } |
109 | support::token(&self.syntax, T![lifetime]) | ||
110 | } | ||
111 | } | 118 | } |
112 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] | 119 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] |
113 | pub struct ConstArg { | 120 | pub struct ConstArg { |
@@ -286,6 +293,18 @@ impl MacroRules { | |||
286 | pub fn token_tree(&self) -> Option<TokenTree> { support::child(&self.syntax) } | 293 | pub fn token_tree(&self) -> Option<TokenTree> { support::child(&self.syntax) } |
287 | } | 294 | } |
288 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] | 295 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] |
296 | pub struct MacroDef { | ||
297 | pub(crate) syntax: SyntaxNode, | ||
298 | } | ||
299 | impl ast::AttrsOwner for MacroDef {} | ||
300 | impl ast::NameOwner for MacroDef {} | ||
301 | impl ast::VisibilityOwner for MacroDef {} | ||
302 | impl MacroDef { | ||
303 | pub fn macro_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![macro]) } | ||
304 | pub fn args(&self) -> Option<TokenTree> { support::child(&self.syntax) } | ||
305 | pub fn body(&self) -> Option<TokenTree> { support::child(&self.syntax) } | ||
306 | } | ||
307 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] | ||
289 | pub struct Module { | 308 | pub struct Module { |
290 | pub(crate) syntax: SyntaxNode, | 309 | pub(crate) syntax: SyntaxNode, |
291 | } | 310 | } |
@@ -475,9 +494,7 @@ pub struct SelfParam { | |||
475 | impl ast::AttrsOwner for SelfParam {} | 494 | impl ast::AttrsOwner for SelfParam {} |
476 | impl SelfParam { | 495 | impl SelfParam { |
477 | pub fn amp_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![&]) } | 496 | pub fn amp_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![&]) } |
478 | pub fn lifetime_token(&self) -> Option<SyntaxToken> { | 497 | pub fn lifetime(&self) -> Option<Lifetime> { support::child(&self.syntax) } |
479 | support::token(&self.syntax, T![lifetime]) | ||
480 | } | ||
481 | pub fn mut_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![mut]) } | 498 | pub fn mut_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![mut]) } |
482 | pub fn self_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![self]) } | 499 | pub fn self_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![self]) } |
483 | pub fn colon_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![:]) } | 500 | pub fn colon_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![:]) } |
@@ -593,9 +610,7 @@ pub struct LifetimeParam { | |||
593 | impl ast::AttrsOwner for LifetimeParam {} | 610 | impl ast::AttrsOwner for LifetimeParam {} |
594 | impl ast::TypeBoundsOwner for LifetimeParam {} | 611 | impl ast::TypeBoundsOwner for LifetimeParam {} |
595 | impl LifetimeParam { | 612 | impl LifetimeParam { |
596 | pub fn lifetime_token(&self) -> Option<SyntaxToken> { | 613 | pub fn lifetime(&self) -> Option<Lifetime> { support::child(&self.syntax) } |
597 | support::token(&self.syntax, T![lifetime]) | ||
598 | } | ||
599 | } | 614 | } |
600 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] | 615 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] |
601 | pub struct TypeParam { | 616 | pub struct TypeParam { |
@@ -616,9 +631,7 @@ impl ast::TypeBoundsOwner for WherePred {} | |||
616 | impl WherePred { | 631 | impl WherePred { |
617 | pub fn for_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![for]) } | 632 | pub fn for_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![for]) } |
618 | pub fn generic_param_list(&self) -> Option<GenericParamList> { support::child(&self.syntax) } | 633 | pub fn generic_param_list(&self) -> Option<GenericParamList> { support::child(&self.syntax) } |
619 | pub fn lifetime_token(&self) -> Option<SyntaxToken> { | 634 | pub fn lifetime(&self) -> Option<Lifetime> { support::child(&self.syntax) } |
620 | support::token(&self.syntax, T![lifetime]) | ||
621 | } | ||
622 | pub fn ty(&self) -> Option<Type> { support::child(&self.syntax) } | 635 | pub fn ty(&self) -> Option<Type> { support::child(&self.syntax) } |
623 | } | 636 | } |
624 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] | 637 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] |
@@ -694,9 +707,7 @@ pub struct BreakExpr { | |||
694 | impl ast::AttrsOwner for BreakExpr {} | 707 | impl ast::AttrsOwner for BreakExpr {} |
695 | impl BreakExpr { | 708 | impl BreakExpr { |
696 | pub fn break_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![break]) } | 709 | pub fn break_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![break]) } |
697 | pub fn lifetime_token(&self) -> Option<SyntaxToken> { | 710 | pub fn lifetime(&self) -> Option<Lifetime> { support::child(&self.syntax) } |
698 | support::token(&self.syntax, T![lifetime]) | ||
699 | } | ||
700 | pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } | 711 | pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } |
701 | } | 712 | } |
702 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] | 713 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] |
@@ -740,9 +751,7 @@ impl ContinueExpr { | |||
740 | pub fn continue_token(&self) -> Option<SyntaxToken> { | 751 | pub fn continue_token(&self) -> Option<SyntaxToken> { |
741 | support::token(&self.syntax, T![continue]) | 752 | support::token(&self.syntax, T![continue]) |
742 | } | 753 | } |
743 | pub fn lifetime_token(&self) -> Option<SyntaxToken> { | 754 | pub fn lifetime(&self) -> Option<Lifetime> { support::child(&self.syntax) } |
744 | support::token(&self.syntax, T![lifetime]) | ||
745 | } | ||
746 | } | 755 | } |
747 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] | 756 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] |
748 | pub struct EffectExpr { | 757 | pub struct EffectExpr { |
@@ -925,9 +934,8 @@ pub struct Label { | |||
925 | pub(crate) syntax: SyntaxNode, | 934 | pub(crate) syntax: SyntaxNode, |
926 | } | 935 | } |
927 | impl Label { | 936 | impl Label { |
928 | pub fn lifetime_token(&self) -> Option<SyntaxToken> { | 937 | pub fn lifetime(&self) -> Option<Lifetime> { support::child(&self.syntax) } |
929 | support::token(&self.syntax, T![lifetime]) | 938 | pub fn colon_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![:]) } |
930 | } | ||
931 | } | 939 | } |
932 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] | 940 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] |
933 | pub struct RecordExprFieldList { | 941 | pub struct RecordExprFieldList { |
@@ -1088,9 +1096,7 @@ pub struct RefType { | |||
1088 | } | 1096 | } |
1089 | impl RefType { | 1097 | impl RefType { |
1090 | pub fn amp_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![&]) } | 1098 | pub fn amp_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![&]) } |
1091 | pub fn lifetime_token(&self) -> Option<SyntaxToken> { | 1099 | pub fn lifetime(&self) -> Option<Lifetime> { support::child(&self.syntax) } |
1092 | support::token(&self.syntax, T![lifetime]) | ||
1093 | } | ||
1094 | pub fn mut_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![mut]) } | 1100 | pub fn mut_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![mut]) } |
1095 | pub fn ty(&self) -> Option<Type> { support::child(&self.syntax) } | 1101 | pub fn ty(&self) -> Option<Type> { support::child(&self.syntax) } |
1096 | } | 1102 | } |
@@ -1117,9 +1123,7 @@ pub struct TypeBound { | |||
1117 | pub(crate) syntax: SyntaxNode, | 1123 | pub(crate) syntax: SyntaxNode, |
1118 | } | 1124 | } |
1119 | impl TypeBound { | 1125 | impl TypeBound { |
1120 | pub fn lifetime_token(&self) -> Option<SyntaxToken> { | 1126 | pub fn lifetime(&self) -> Option<Lifetime> { support::child(&self.syntax) } |
1121 | support::token(&self.syntax, T![lifetime]) | ||
1122 | } | ||
1123 | pub fn question_mark_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![?]) } | 1127 | pub fn question_mark_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![?]) } |
1124 | pub fn ty(&self) -> Option<Type> { support::child(&self.syntax) } | 1128 | pub fn ty(&self) -> Option<Type> { support::child(&self.syntax) } |
1125 | } | 1129 | } |
@@ -1332,6 +1336,7 @@ pub enum Item { | |||
1332 | Impl(Impl), | 1336 | Impl(Impl), |
1333 | MacroCall(MacroCall), | 1337 | MacroCall(MacroCall), |
1334 | MacroRules(MacroRules), | 1338 | MacroRules(MacroRules), |
1339 | MacroDef(MacroDef), | ||
1335 | Module(Module), | 1340 | Module(Module), |
1336 | Static(Static), | 1341 | Static(Static), |
1337 | Struct(Struct), | 1342 | Struct(Struct), |
@@ -1425,6 +1430,17 @@ impl AstNode for NameRef { | |||
1425 | } | 1430 | } |
1426 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1431 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1427 | } | 1432 | } |
1433 | impl AstNode for Lifetime { | ||
1434 | fn can_cast(kind: SyntaxKind) -> bool { kind == LIFETIME } | ||
1435 | fn cast(syntax: SyntaxNode) -> Option<Self> { | ||
1436 | if Self::can_cast(syntax.kind()) { | ||
1437 | Some(Self { syntax }) | ||
1438 | } else { | ||
1439 | None | ||
1440 | } | ||
1441 | } | ||
1442 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | ||
1443 | } | ||
1428 | impl AstNode for Path { | 1444 | impl AstNode for Path { |
1429 | fn can_cast(kind: SyntaxKind) -> bool { kind == PATH } | 1445 | fn can_cast(kind: SyntaxKind) -> bool { kind == PATH } |
1430 | fn cast(syntax: SyntaxNode) -> Option<Self> { | 1446 | fn cast(syntax: SyntaxNode) -> Option<Self> { |
@@ -1689,6 +1705,17 @@ impl AstNode for MacroRules { | |||
1689 | } | 1705 | } |
1690 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1706 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1691 | } | 1707 | } |
1708 | impl AstNode for MacroDef { | ||
1709 | fn can_cast(kind: SyntaxKind) -> bool { kind == MACRO_DEF } | ||
1710 | fn cast(syntax: SyntaxNode) -> Option<Self> { | ||
1711 | if Self::can_cast(syntax.kind()) { | ||
1712 | Some(Self { syntax }) | ||
1713 | } else { | ||
1714 | None | ||
1715 | } | ||
1716 | } | ||
1717 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | ||
1718 | } | ||
1692 | impl AstNode for Module { | 1719 | impl AstNode for Module { |
1693 | fn can_cast(kind: SyntaxKind) -> bool { kind == MODULE } | 1720 | fn can_cast(kind: SyntaxKind) -> bool { kind == MODULE } |
1694 | fn cast(syntax: SyntaxNode) -> Option<Self> { | 1721 | fn cast(syntax: SyntaxNode) -> Option<Self> { |
@@ -3086,6 +3113,9 @@ impl From<MacroCall> for Item { | |||
3086 | impl From<MacroRules> for Item { | 3113 | impl From<MacroRules> for Item { |
3087 | fn from(node: MacroRules) -> Item { Item::MacroRules(node) } | 3114 | fn from(node: MacroRules) -> Item { Item::MacroRules(node) } |
3088 | } | 3115 | } |
3116 | impl From<MacroDef> for Item { | ||
3117 | fn from(node: MacroDef) -> Item { Item::MacroDef(node) } | ||
3118 | } | ||
3089 | impl From<Module> for Item { | 3119 | impl From<Module> for Item { |
3090 | fn from(node: Module) -> Item { Item::Module(node) } | 3120 | fn from(node: Module) -> Item { Item::Module(node) } |
3091 | } | 3121 | } |
@@ -3111,7 +3141,7 @@ impl AstNode for Item { | |||
3111 | fn can_cast(kind: SyntaxKind) -> bool { | 3141 | fn can_cast(kind: SyntaxKind) -> bool { |
3112 | match kind { | 3142 | match kind { |
3113 | CONST | ENUM | EXTERN_BLOCK | EXTERN_CRATE | FN | IMPL | MACRO_CALL | MACRO_RULES | 3143 | CONST | ENUM | EXTERN_BLOCK | EXTERN_CRATE | FN | IMPL | MACRO_CALL | MACRO_RULES |
3114 | | MODULE | STATIC | STRUCT | TRAIT | TYPE_ALIAS | UNION | USE => true, | 3144 | | MACRO_DEF | MODULE | STATIC | STRUCT | TRAIT | TYPE_ALIAS | UNION | USE => true, |
3115 | _ => false, | 3145 | _ => false, |
3116 | } | 3146 | } |
3117 | } | 3147 | } |
@@ -3125,6 +3155,7 @@ impl AstNode for Item { | |||
3125 | IMPL => Item::Impl(Impl { syntax }), | 3155 | IMPL => Item::Impl(Impl { syntax }), |
3126 | MACRO_CALL => Item::MacroCall(MacroCall { syntax }), | 3156 | MACRO_CALL => Item::MacroCall(MacroCall { syntax }), |
3127 | MACRO_RULES => Item::MacroRules(MacroRules { syntax }), | 3157 | MACRO_RULES => Item::MacroRules(MacroRules { syntax }), |
3158 | MACRO_DEF => Item::MacroDef(MacroDef { syntax }), | ||
3128 | MODULE => Item::Module(Module { syntax }), | 3159 | MODULE => Item::Module(Module { syntax }), |
3129 | STATIC => Item::Static(Static { syntax }), | 3160 | STATIC => Item::Static(Static { syntax }), |
3130 | STRUCT => Item::Struct(Struct { syntax }), | 3161 | STRUCT => Item::Struct(Struct { syntax }), |
@@ -3146,6 +3177,7 @@ impl AstNode for Item { | |||
3146 | Item::Impl(it) => &it.syntax, | 3177 | Item::Impl(it) => &it.syntax, |
3147 | Item::MacroCall(it) => &it.syntax, | 3178 | Item::MacroCall(it) => &it.syntax, |
3148 | Item::MacroRules(it) => &it.syntax, | 3179 | Item::MacroRules(it) => &it.syntax, |
3180 | Item::MacroDef(it) => &it.syntax, | ||
3149 | Item::Module(it) => &it.syntax, | 3181 | Item::Module(it) => &it.syntax, |
3150 | Item::Static(it) => &it.syntax, | 3182 | Item::Static(it) => &it.syntax, |
3151 | Item::Struct(it) => &it.syntax, | 3183 | Item::Struct(it) => &it.syntax, |
@@ -3495,6 +3527,11 @@ impl std::fmt::Display for NameRef { | |||
3495 | std::fmt::Display::fmt(self.syntax(), f) | 3527 | std::fmt::Display::fmt(self.syntax(), f) |
3496 | } | 3528 | } |
3497 | } | 3529 | } |
3530 | impl std::fmt::Display for Lifetime { | ||
3531 | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { | ||
3532 | std::fmt::Display::fmt(self.syntax(), f) | ||
3533 | } | ||
3534 | } | ||
3498 | impl std::fmt::Display for Path { | 3535 | impl std::fmt::Display for Path { |
3499 | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { | 3536 | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { |
3500 | std::fmt::Display::fmt(self.syntax(), f) | 3537 | std::fmt::Display::fmt(self.syntax(), f) |
@@ -3615,6 +3652,11 @@ impl std::fmt::Display for MacroRules { | |||
3615 | std::fmt::Display::fmt(self.syntax(), f) | 3652 | std::fmt::Display::fmt(self.syntax(), f) |
3616 | } | 3653 | } |
3617 | } | 3654 | } |
3655 | impl std::fmt::Display for MacroDef { | ||
3656 | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { | ||
3657 | std::fmt::Display::fmt(self.syntax(), f) | ||
3658 | } | ||
3659 | } | ||
3618 | impl std::fmt::Display for Module { | 3660 | impl std::fmt::Display for Module { |
3619 | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { | 3661 | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { |
3620 | std::fmt::Display::fmt(self.syntax(), f) | 3662 | std::fmt::Display::fmt(self.syntax(), f) |