aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crates/ra_assists/src/handlers/add_explicit_type.rs4
-rw-r--r--crates/ra_assists/src/handlers/add_impl.rs2
-rw-r--r--crates/ra_assists/src/handlers/add_new.rs2
-rw-r--r--crates/ra_assists/src/handlers/merge_imports.rs2
-rw-r--r--crates/ra_hir_def/src/path/lower.rs2
-rw-r--r--crates/ra_hir_def/src/path/lower/lower_use.rs2
-rw-r--r--crates/ra_hir_ty/src/tests.rs2
-rw-r--r--crates/ra_syntax/src/ast.rs2
-rw-r--r--crates/ra_syntax/src/ast/edit.rs6
-rw-r--r--crates/ra_syntax/src/ast/extensions.rs22
-rw-r--r--crates/ra_syntax/src/ast/generated/nodes.rs376
-rw-r--r--xtask/src/codegen/gen_syntax.rs1
12 files changed, 210 insertions, 213 deletions
diff --git a/crates/ra_assists/src/handlers/add_explicit_type.rs b/crates/ra_assists/src/handlers/add_explicit_type.rs
index d86d804b2..e7dcfb44e 100644
--- a/crates/ra_assists/src/handlers/add_explicit_type.rs
+++ b/crates/ra_assists/src/handlers/add_explicit_type.rs
@@ -1,6 +1,6 @@
1use hir::HirDisplay; 1use hir::HirDisplay;
2use ra_syntax::{ 2use ra_syntax::{
3 ast::{self, AstNode, LetStmt, NameOwner, TypeAscriptionOwner}, 3 ast::{self, AstNode, AstToken, LetStmt, NameOwner, TypeAscriptionOwner},
4 TextRange, 4 TextRange,
5}; 5};
6 6
@@ -35,7 +35,7 @@ pub(crate) fn add_explicit_type(ctx: AssistCtx) -> Option<Assist> {
35 let name = pat.name()?; 35 let name = pat.name()?;
36 let name_range = name.syntax().text_range(); 36 let name_range = name.syntax().text_range();
37 let stmt_range = stmt.syntax().text_range(); 37 let stmt_range = stmt.syntax().text_range();
38 let eq_range = stmt.eq_token()?.text_range(); 38 let eq_range = stmt.eq_token()?.syntax().text_range();
39 // Assist should only be applicable if cursor is between 'let' and '=' 39 // Assist should only be applicable if cursor is between 'let' and '='
40 let let_range = TextRange::from_to(stmt_range.start(), eq_range.start()); 40 let let_range = TextRange::from_to(stmt_range.start(), eq_range.start());
41 let cursor_in_range = ctx.frange.range.is_subrange(&let_range); 41 let cursor_in_range = ctx.frange.range.is_subrange(&let_range);
diff --git a/crates/ra_assists/src/handlers/add_impl.rs b/crates/ra_assists/src/handlers/add_impl.rs
index 72a201b6d..26dfed237 100644
--- a/crates/ra_assists/src/handlers/add_impl.rs
+++ b/crates/ra_assists/src/handlers/add_impl.rs
@@ -42,7 +42,7 @@ pub(crate) fn add_impl(ctx: AssistCtx) -> Option<Assist> {
42 if let Some(type_params) = type_params { 42 if let Some(type_params) = type_params {
43 let lifetime_params = type_params 43 let lifetime_params = type_params
44 .lifetime_params() 44 .lifetime_params()
45 .filter_map(|it| it.lifetime()) 45 .filter_map(|it| it.lifetime_token())
46 .map(|it| it.text().clone()); 46 .map(|it| it.text().clone());
47 let type_params = 47 let type_params =
48 type_params.type_params().filter_map(|it| it.name()).map(|it| it.text().clone()); 48 type_params.type_params().filter_map(|it| it.name()).map(|it| it.text().clone());
diff --git a/crates/ra_assists/src/handlers/add_new.rs b/crates/ra_assists/src/handlers/add_new.rs
index c10397249..30360af94 100644
--- a/crates/ra_assists/src/handlers/add_new.rs
+++ b/crates/ra_assists/src/handlers/add_new.rs
@@ -106,7 +106,7 @@ fn generate_impl_text(strukt: &ast::StructDef, code: &str) -> String {
106 if let Some(type_params) = type_params { 106 if let Some(type_params) = type_params {
107 let lifetime_params = type_params 107 let lifetime_params = type_params
108 .lifetime_params() 108 .lifetime_params()
109 .filter_map(|it| it.lifetime()) 109 .filter_map(|it| it.lifetime_token())
110 .map(|it| it.text().clone()); 110 .map(|it| it.text().clone());
111 let type_params = 111 let type_params =
112 type_params.type_params().filter_map(|it| it.name()).map(|it| it.text().clone()); 112 type_params.type_params().filter_map(|it| it.name()).map(|it| it.text().clone());
diff --git a/crates/ra_assists/src/handlers/merge_imports.rs b/crates/ra_assists/src/handlers/merge_imports.rs
index f8b3ddb4e..936d50ab4 100644
--- a/crates/ra_assists/src/handlers/merge_imports.rs
+++ b/crates/ra_assists/src/handlers/merge_imports.rs
@@ -82,7 +82,7 @@ fn try_merge_trees(old: &ast::UseTree, new: &ast::UseTree) -> Option<ast::UseTre
82 .filter(|it| it.kind() != T!['{'] && it.kind() != T!['}']), 82 .filter(|it| it.kind() != T!['{'] && it.kind() != T!['}']),
83 ); 83 );
84 let use_tree_list = lhs.use_tree_list()?; 84 let use_tree_list = lhs.use_tree_list()?;
85 let pos = InsertPosition::Before(use_tree_list.r_curly()?.syntax().clone().into()); 85 let pos = InsertPosition::Before(use_tree_list.r_curly_token()?.syntax().clone().into());
86 let use_tree_list = use_tree_list.insert_children(pos, to_insert); 86 let use_tree_list = use_tree_list.insert_children(pos, to_insert);
87 Some(lhs.with_use_tree_list(use_tree_list)) 87 Some(lhs.with_use_tree_list(use_tree_list))
88} 88}
diff --git a/crates/ra_hir_def/src/path/lower.rs b/crates/ra_hir_def/src/path/lower.rs
index 3c13cb2c7..0f806d6fb 100644
--- a/crates/ra_hir_def/src/path/lower.rs
+++ b/crates/ra_hir_def/src/path/lower.rs
@@ -28,7 +28,7 @@ pub(super) fn lower_path(mut path: ast::Path, hygiene: &Hygiene) -> Option<Path>
28 loop { 28 loop {
29 let segment = path.segment()?; 29 let segment = path.segment()?;
30 30
31 if segment.coloncolon().is_some() { 31 if segment.coloncolon_token().is_some() {
32 kind = PathKind::Abs; 32 kind = PathKind::Abs;
33 } 33 }
34 34
diff --git a/crates/ra_hir_def/src/path/lower/lower_use.rs b/crates/ra_hir_def/src/path/lower/lower_use.rs
index 6ec944228..5b6854b0f 100644
--- a/crates/ra_hir_def/src/path/lower/lower_use.rs
+++ b/crates/ra_hir_def/src/path/lower/lower_use.rs
@@ -34,7 +34,7 @@ pub(crate) fn lower_use_tree(
34 let alias = tree.alias().map(|a| { 34 let alias = tree.alias().map(|a| {
35 a.name().map(|it| it.as_name()).map_or(ImportAlias::Underscore, ImportAlias::Alias) 35 a.name().map(|it| it.as_name()).map_or(ImportAlias::Underscore, ImportAlias::Alias)
36 }); 36 });
37 let is_glob = tree.star().is_some(); 37 let is_glob = tree.star_token().is_some();
38 if let Some(ast_path) = tree.path() { 38 if let Some(ast_path) = tree.path() {
39 // Handle self in a path. 39 // Handle self in a path.
40 // E.g. `use something::{self, <...>}` 40 // E.g. `use something::{self, <...>}`
diff --git a/crates/ra_hir_ty/src/tests.rs b/crates/ra_hir_ty/src/tests.rs
index ac0966236..f97e0bfeb 100644
--- a/crates/ra_hir_ty/src/tests.rs
+++ b/crates/ra_hir_ty/src/tests.rs
@@ -101,7 +101,7 @@ fn infer_with_mismatches(content: &str, include_mismatches: bool) -> String {
101 let node = src_ptr.value.to_node(&src_ptr.file_syntax(&db)); 101 let node = src_ptr.value.to_node(&src_ptr.file_syntax(&db));
102 102
103 let (range, text) = if let Some(self_param) = ast::SelfParam::cast(node.clone()) { 103 let (range, text) = if let Some(self_param) = ast::SelfParam::cast(node.clone()) {
104 (self_param.self_kw().unwrap().syntax().text_range(), "self".to_string()) 104 (self_param.self_kw_token().unwrap().syntax().text_range(), "self".to_string())
105 } else { 105 } else {
106 (src_ptr.value.range(), node.text().to_string().replace("\n", " ")) 106 (src_ptr.value.range(), node.text().to_string().replace("\n", " "))
107 }; 107 };
diff --git a/crates/ra_syntax/src/ast.rs b/crates/ra_syntax/src/ast.rs
index a42eec91a..15a8279f3 100644
--- a/crates/ra_syntax/src/ast.rs
+++ b/crates/ra_syntax/src/ast.rs
@@ -287,7 +287,7 @@ where
287 let pred = predicates.next().unwrap(); 287 let pred = predicates.next().unwrap();
288 let mut bounds = pred.type_bound_list().unwrap().bounds(); 288 let mut bounds = pred.type_bound_list().unwrap().bounds();
289 289
290 assert_eq!("'a", pred.lifetime().unwrap().text()); 290 assert_eq!("'a", pred.lifetime_token().unwrap().text());
291 291
292 assert_bound("'b", bounds.next()); 292 assert_bound("'b", bounds.next());
293 assert_bound("'c", bounds.next()); 293 assert_bound("'c", bounds.next());
diff --git a/crates/ra_syntax/src/ast/edit.rs b/crates/ra_syntax/src/ast/edit.rs
index d79310995..62153f199 100644
--- a/crates/ra_syntax/src/ast/edit.rs
+++ b/crates/ra_syntax/src/ast/edit.rs
@@ -96,7 +96,7 @@ impl ast::ItemList {
96 leading_indent(it.syntax()).unwrap_or_default().to_string(), 96 leading_indent(it.syntax()).unwrap_or_default().to_string(),
97 InsertPosition::After(it.syntax().clone().into()), 97 InsertPosition::After(it.syntax().clone().into()),
98 ), 98 ),
99 None => match self.l_curly() { 99 None => match self.l_curly_token() {
100 Some(it) => ( 100 Some(it) => (
101 " ".to_string() + &leading_indent(self.syntax()).unwrap_or_default(), 101 " ".to_string() + &leading_indent(self.syntax()).unwrap_or_default(),
102 InsertPosition::After(it.syntax().clone().into()), 102 InsertPosition::After(it.syntax().clone().into()),
@@ -142,7 +142,7 @@ impl ast::RecordFieldList {
142 142
143 macro_rules! after_l_curly { 143 macro_rules! after_l_curly {
144 () => {{ 144 () => {{
145 let anchor = match self.l_curly() { 145 let anchor = match self.l_curly_token() {
146 Some(it) => it.syntax().clone().into(), 146 Some(it) => it.syntax().clone().into(),
147 None => return self.clone(), 147 None => return self.clone(),
148 }; 148 };
@@ -301,7 +301,7 @@ impl ast::UseTree {
301 suffix.clone(), 301 suffix.clone(),
302 self.use_tree_list(), 302 self.use_tree_list(),
303 self.alias(), 303 self.alias(),
304 self.star().is_some(), 304 self.star_token().is_some(),
305 ); 305 );
306 let nested = make::use_tree_list(iter::once(use_tree)); 306 let nested = make::use_tree_list(iter::once(use_tree));
307 return make::use_tree(prefix.clone(), Some(nested), None, false); 307 return make::use_tree(prefix.clone(), Some(nested), None, false);
diff --git a/crates/ra_syntax/src/ast/extensions.rs b/crates/ra_syntax/src/ast/extensions.rs
index c7df15662..ff3525c84 100644
--- a/crates/ra_syntax/src/ast/extensions.rs
+++ b/crates/ra_syntax/src/ast/extensions.rs
@@ -23,7 +23,7 @@ impl ast::NameRef {
23 } 23 }
24 24
25 pub fn as_tuple_field(&self) -> Option<usize> { 25 pub fn as_tuple_field(&self) -> Option<usize> {
26 if let Some(ast::NameRefToken::IntNumber(token)) = self.name_ref_token() { 26 if let Some(ast::NameRefToken::IntNumber(token)) = self.name_ref_token_token() {
27 token.text().as_str().parse().ok() 27 token.text().as_str().parse().ok()
28 } else { 28 } else {
29 None 29 None
@@ -138,7 +138,7 @@ impl ast::Path {
138 138
139impl ast::Module { 139impl ast::Module {
140 pub fn has_semi(&self) -> bool { 140 pub fn has_semi(&self) -> bool {
141 self.semi().is_some() 141 self.semi_token().is_some()
142 } 142 }
143} 143}
144 144
@@ -174,7 +174,7 @@ impl ast::ImplDef {
174 } 174 }
175 175
176 pub fn is_negative(&self) -> bool { 176 pub fn is_negative(&self) -> bool {
177 self.excl().is_some() 177 self.excl_token().is_some()
178 } 178 }
179} 179}
180 180
@@ -218,11 +218,11 @@ impl ast::EnumVariant {
218 218
219impl ast::FnDef { 219impl ast::FnDef {
220 pub fn semicolon_token(&self) -> Option<SyntaxToken> { 220 pub fn semicolon_token(&self) -> Option<SyntaxToken> {
221 Some(self.semi()?.syntax().clone()) 221 Some(self.semi_token()?.syntax().clone())
222 } 222 }
223 223
224 pub fn is_async(&self) -> bool { 224 pub fn is_async(&self) -> bool {
225 self.async_kw().is_some() 225 self.async_kw_token().is_some()
226 } 226 }
227} 227}
228 228
@@ -233,15 +233,11 @@ impl ast::LetStmt {
233 Some(node) => node.kind() == T![;], 233 Some(node) => node.kind() == T![;],
234 } 234 }
235 } 235 }
236
237 pub fn eq_token(&self) -> Option<SyntaxToken> {
238 Some(self.eq()?.syntax().clone())
239 }
240} 236}
241 237
242impl ast::ExprStmt { 238impl ast::ExprStmt {
243 pub fn has_semi(&self) -> bool { 239 pub fn has_semi(&self) -> bool {
244 self.semi().is_some() 240 self.semi_token().is_some()
245 } 241 }
246} 242}
247 243
@@ -350,7 +346,7 @@ pub enum SelfParamKind {
350 346
351impl ast::SelfParam { 347impl ast::SelfParam {
352 pub fn kind(&self) -> SelfParamKind { 348 pub fn kind(&self) -> SelfParamKind {
353 if self.amp().is_some() { 349 if self.amp_token().is_some() {
354 if self.amp_mut_kw().is_some() { 350 if self.amp_mut_kw().is_some() {
355 SelfParamKind::MutRef 351 SelfParamKind::MutRef
356 } else { 352 } else {
@@ -396,7 +392,7 @@ impl ast::TypeBound {
396 TypeBoundKind::PathType(path_type) 392 TypeBoundKind::PathType(path_type)
397 } else if let Some(for_type) = children(self).next() { 393 } else if let Some(for_type) = children(self).next() {
398 TypeBoundKind::ForType(for_type) 394 TypeBoundKind::ForType(for_type)
399 } else if let Some(lifetime) = self.lifetime() { 395 } else if let Some(lifetime) = self.lifetime_token() {
400 TypeBoundKind::Lifetime(lifetime) 396 TypeBoundKind::Lifetime(lifetime)
401 } else { 397 } else {
402 unreachable!() 398 unreachable!()
@@ -416,7 +412,7 @@ impl ast::TypeBound {
416 } 412 }
417 413
418 pub fn question(&self) -> Option<ast::Question> { 414 pub fn question(&self) -> Option<ast::Question> {
419 if self.const_kw().is_some() { 415 if self.const_kw_token().is_some() {
420 self.syntax() 416 self.syntax()
421 .children_with_tokens() 417 .children_with_tokens()
422 .filter_map(|it| it.into_token()) 418 .filter_map(|it| it.into_token())
diff --git a/crates/ra_syntax/src/ast/generated/nodes.rs b/crates/ra_syntax/src/ast/generated/nodes.rs
index 8b348ad6e..0bcb7fe61 100644
--- a/crates/ra_syntax/src/ast/generated/nodes.rs
+++ b/crates/ra_syntax/src/ast/generated/nodes.rs
@@ -49,15 +49,15 @@ impl ast::DocCommentsOwner for FnDef {}
49impl ast::AttrsOwner for FnDef {} 49impl ast::AttrsOwner for FnDef {}
50impl FnDef { 50impl FnDef {
51 pub fn abi(&self) -> Option<Abi> { support::child(&self.syntax) } 51 pub fn abi(&self) -> Option<Abi> { support::child(&self.syntax) }
52 pub fn const_kw(&self) -> Option<ConstKw> { support::token(&self.syntax) } 52 pub fn const_kw_token(&self) -> Option<ConstKw> { support::token(&self.syntax) }
53 pub fn default_kw(&self) -> Option<DefaultKw> { support::token(&self.syntax) } 53 pub fn default_kw_token(&self) -> Option<DefaultKw> { support::token(&self.syntax) }
54 pub fn async_kw(&self) -> Option<AsyncKw> { support::token(&self.syntax) } 54 pub fn async_kw_token(&self) -> Option<AsyncKw> { support::token(&self.syntax) }
55 pub fn unsafe_kw(&self) -> Option<UnsafeKw> { support::token(&self.syntax) } 55 pub fn unsafe_kw_token(&self) -> Option<UnsafeKw> { support::token(&self.syntax) }
56 pub fn fn_kw(&self) -> Option<FnKw> { support::token(&self.syntax) } 56 pub fn fn_kw_token(&self) -> Option<FnKw> { support::token(&self.syntax) }
57 pub fn param_list(&self) -> Option<ParamList> { support::child(&self.syntax) } 57 pub fn param_list(&self) -> Option<ParamList> { support::child(&self.syntax) }
58 pub fn ret_type(&self) -> Option<RetType> { support::child(&self.syntax) } 58 pub fn ret_type(&self) -> Option<RetType> { support::child(&self.syntax) }
59 pub fn body(&self) -> Option<BlockExpr> { support::child(&self.syntax) } 59 pub fn body(&self) -> Option<BlockExpr> { support::child(&self.syntax) }
60 pub fn semi(&self) -> Option<Semi> { support::token(&self.syntax) } 60 pub fn semi_token(&self) -> Option<Semi> { support::token(&self.syntax) }
61} 61}
62#[derive(Debug, Clone, PartialEq, Eq, Hash)] 62#[derive(Debug, Clone, PartialEq, Eq, Hash)]
63pub struct RetType { 63pub struct RetType {
@@ -75,7 +75,7 @@ impl AstNode for RetType {
75 fn syntax(&self) -> &SyntaxNode { &self.syntax } 75 fn syntax(&self) -> &SyntaxNode { &self.syntax }
76} 76}
77impl RetType { 77impl RetType {
78 pub fn thin_arrow(&self) -> Option<ThinArrow> { support::token(&self.syntax) } 78 pub fn thin_arrow_token(&self) -> Option<ThinArrow> { support::token(&self.syntax) }
79 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) } 79 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) }
80} 80}
81#[derive(Debug, Clone, PartialEq, Eq, Hash)] 81#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -99,9 +99,9 @@ impl ast::TypeParamsOwner for StructDef {}
99impl ast::AttrsOwner for StructDef {} 99impl ast::AttrsOwner for StructDef {}
100impl ast::DocCommentsOwner for StructDef {} 100impl ast::DocCommentsOwner for StructDef {}
101impl StructDef { 101impl StructDef {
102 pub fn struct_kw(&self) -> Option<StructKw> { support::token(&self.syntax) } 102 pub fn struct_kw_token(&self) -> Option<StructKw> { support::token(&self.syntax) }
103 pub fn field_def_list(&self) -> Option<FieldDefList> { support::child(&self.syntax) } 103 pub fn field_def_list(&self) -> Option<FieldDefList> { support::child(&self.syntax) }
104 pub fn semi(&self) -> Option<Semi> { support::token(&self.syntax) } 104 pub fn semi_token(&self) -> Option<Semi> { support::token(&self.syntax) }
105} 105}
106#[derive(Debug, Clone, PartialEq, Eq, Hash)] 106#[derive(Debug, Clone, PartialEq, Eq, Hash)]
107pub struct UnionDef { 107pub struct UnionDef {
@@ -124,7 +124,7 @@ impl ast::TypeParamsOwner for UnionDef {}
124impl ast::AttrsOwner for UnionDef {} 124impl ast::AttrsOwner for UnionDef {}
125impl ast::DocCommentsOwner for UnionDef {} 125impl ast::DocCommentsOwner for UnionDef {}
126impl UnionDef { 126impl UnionDef {
127 pub fn union_kw(&self) -> Option<UnionKw> { support::token(&self.syntax) } 127 pub fn union_kw_token(&self) -> Option<UnionKw> { support::token(&self.syntax) }
128 pub fn record_field_def_list(&self) -> Option<RecordFieldDefList> { 128 pub fn record_field_def_list(&self) -> Option<RecordFieldDefList> {
129 support::child(&self.syntax) 129 support::child(&self.syntax)
130 } 130 }
@@ -145,9 +145,9 @@ impl AstNode for RecordFieldDefList {
145 fn syntax(&self) -> &SyntaxNode { &self.syntax } 145 fn syntax(&self) -> &SyntaxNode { &self.syntax }
146} 146}
147impl RecordFieldDefList { 147impl RecordFieldDefList {
148 pub fn l_curly(&self) -> Option<LCurly> { support::token(&self.syntax) } 148 pub fn l_curly_token(&self) -> Option<LCurly> { support::token(&self.syntax) }
149 pub fn fields(&self) -> AstChildren<RecordFieldDef> { support::children(&self.syntax) } 149 pub fn fields(&self) -> AstChildren<RecordFieldDef> { support::children(&self.syntax) }
150 pub fn r_curly(&self) -> Option<RCurly> { support::token(&self.syntax) } 150 pub fn r_curly_token(&self) -> Option<RCurly> { support::token(&self.syntax) }
151} 151}
152#[derive(Debug, Clone, PartialEq, Eq, Hash)] 152#[derive(Debug, Clone, PartialEq, Eq, Hash)]
153pub struct RecordFieldDef { 153pub struct RecordFieldDef {
@@ -186,9 +186,9 @@ impl AstNode for TupleFieldDefList {
186 fn syntax(&self) -> &SyntaxNode { &self.syntax } 186 fn syntax(&self) -> &SyntaxNode { &self.syntax }
187} 187}
188impl TupleFieldDefList { 188impl TupleFieldDefList {
189 pub fn l_paren(&self) -> Option<LParen> { support::token(&self.syntax) } 189 pub fn l_paren_token(&self) -> Option<LParen> { support::token(&self.syntax) }
190 pub fn fields(&self) -> AstChildren<TupleFieldDef> { support::children(&self.syntax) } 190 pub fn fields(&self) -> AstChildren<TupleFieldDef> { support::children(&self.syntax) }
191 pub fn r_paren(&self) -> Option<RParen> { support::token(&self.syntax) } 191 pub fn r_paren_token(&self) -> Option<RParen> { support::token(&self.syntax) }
192} 192}
193#[derive(Debug, Clone, PartialEq, Eq, Hash)] 193#[derive(Debug, Clone, PartialEq, Eq, Hash)]
194pub struct TupleFieldDef { 194pub struct TupleFieldDef {
@@ -231,7 +231,7 @@ impl ast::TypeParamsOwner for EnumDef {}
231impl ast::AttrsOwner for EnumDef {} 231impl ast::AttrsOwner for EnumDef {}
232impl ast::DocCommentsOwner for EnumDef {} 232impl ast::DocCommentsOwner for EnumDef {}
233impl EnumDef { 233impl EnumDef {
234 pub fn enum_kw(&self) -> Option<EnumKw> { support::token(&self.syntax) } 234 pub fn enum_kw_token(&self) -> Option<EnumKw> { support::token(&self.syntax) }
235 pub fn variant_list(&self) -> Option<EnumVariantList> { support::child(&self.syntax) } 235 pub fn variant_list(&self) -> Option<EnumVariantList> { support::child(&self.syntax) }
236} 236}
237#[derive(Debug, Clone, PartialEq, Eq, Hash)] 237#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -250,9 +250,9 @@ impl AstNode for EnumVariantList {
250 fn syntax(&self) -> &SyntaxNode { &self.syntax } 250 fn syntax(&self) -> &SyntaxNode { &self.syntax }
251} 251}
252impl EnumVariantList { 252impl EnumVariantList {
253 pub fn l_curly(&self) -> Option<LCurly> { support::token(&self.syntax) } 253 pub fn l_curly_token(&self) -> Option<LCurly> { support::token(&self.syntax) }
254 pub fn variants(&self) -> AstChildren<EnumVariant> { support::children(&self.syntax) } 254 pub fn variants(&self) -> AstChildren<EnumVariant> { support::children(&self.syntax) }
255 pub fn r_curly(&self) -> Option<RCurly> { support::token(&self.syntax) } 255 pub fn r_curly_token(&self) -> Option<RCurly> { support::token(&self.syntax) }
256} 256}
257#[derive(Debug, Clone, PartialEq, Eq, Hash)] 257#[derive(Debug, Clone, PartialEq, Eq, Hash)]
258pub struct EnumVariant { 258pub struct EnumVariant {
@@ -275,7 +275,7 @@ impl ast::DocCommentsOwner for EnumVariant {}
275impl ast::AttrsOwner for EnumVariant {} 275impl ast::AttrsOwner for EnumVariant {}
276impl EnumVariant { 276impl EnumVariant {
277 pub fn field_def_list(&self) -> Option<FieldDefList> { support::child(&self.syntax) } 277 pub fn field_def_list(&self) -> Option<FieldDefList> { support::child(&self.syntax) }
278 pub fn eq(&self) -> Option<Eq> { support::token(&self.syntax) } 278 pub fn eq_token(&self) -> Option<Eq> { support::token(&self.syntax) }
279 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } 279 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
280} 280}
281#[derive(Debug, Clone, PartialEq, Eq, Hash)] 281#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -300,9 +300,9 @@ impl ast::DocCommentsOwner for TraitDef {}
300impl ast::TypeParamsOwner for TraitDef {} 300impl ast::TypeParamsOwner for TraitDef {}
301impl ast::TypeBoundsOwner for TraitDef {} 301impl ast::TypeBoundsOwner for TraitDef {}
302impl TraitDef { 302impl TraitDef {
303 pub fn unsafe_kw(&self) -> Option<UnsafeKw> { support::token(&self.syntax) } 303 pub fn unsafe_kw_token(&self) -> Option<UnsafeKw> { support::token(&self.syntax) }
304 pub fn auto_kw(&self) -> Option<AutoKw> { support::token(&self.syntax) } 304 pub fn auto_kw_token(&self) -> Option<AutoKw> { support::token(&self.syntax) }
305 pub fn trait_kw(&self) -> Option<TraitKw> { support::token(&self.syntax) } 305 pub fn trait_kw_token(&self) -> Option<TraitKw> { support::token(&self.syntax) }
306 pub fn item_list(&self) -> Option<ItemList> { support::child(&self.syntax) } 306 pub fn item_list(&self) -> Option<ItemList> { support::child(&self.syntax) }
307} 307}
308#[derive(Debug, Clone, PartialEq, Eq, Hash)] 308#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -325,9 +325,9 @@ impl ast::NameOwner for Module {}
325impl ast::AttrsOwner for Module {} 325impl ast::AttrsOwner for Module {}
326impl ast::DocCommentsOwner for Module {} 326impl ast::DocCommentsOwner for Module {}
327impl Module { 327impl Module {
328 pub fn mod_kw(&self) -> Option<ModKw> { support::token(&self.syntax) } 328 pub fn mod_kw_token(&self) -> Option<ModKw> { support::token(&self.syntax) }
329 pub fn item_list(&self) -> Option<ItemList> { support::child(&self.syntax) } 329 pub fn item_list(&self) -> Option<ItemList> { support::child(&self.syntax) }
330 pub fn semi(&self) -> Option<Semi> { support::token(&self.syntax) } 330 pub fn semi_token(&self) -> Option<Semi> { support::token(&self.syntax) }
331} 331}
332#[derive(Debug, Clone, PartialEq, Eq, Hash)] 332#[derive(Debug, Clone, PartialEq, Eq, Hash)]
333pub struct ItemList { 333pub struct ItemList {
@@ -347,9 +347,9 @@ impl AstNode for ItemList {
347impl ast::FnDefOwner for ItemList {} 347impl ast::FnDefOwner for ItemList {}
348impl ast::ModuleItemOwner for ItemList {} 348impl ast::ModuleItemOwner for ItemList {}
349impl ItemList { 349impl ItemList {
350 pub fn l_curly(&self) -> Option<LCurly> { support::token(&self.syntax) } 350 pub fn l_curly_token(&self) -> Option<LCurly> { support::token(&self.syntax) }
351 pub fn impl_items(&self) -> AstChildren<ImplItem> { support::children(&self.syntax) } 351 pub fn impl_items(&self) -> AstChildren<ImplItem> { support::children(&self.syntax) }
352 pub fn r_curly(&self) -> Option<RCurly> { support::token(&self.syntax) } 352 pub fn r_curly_token(&self) -> Option<RCurly> { support::token(&self.syntax) }
353} 353}
354#[derive(Debug, Clone, PartialEq, Eq, Hash)] 354#[derive(Debug, Clone, PartialEq, Eq, Hash)]
355pub struct ConstDef { 355pub struct ConstDef {
@@ -373,11 +373,11 @@ impl ast::AttrsOwner for ConstDef {}
373impl ast::DocCommentsOwner for ConstDef {} 373impl ast::DocCommentsOwner for ConstDef {}
374impl ast::TypeAscriptionOwner for ConstDef {} 374impl ast::TypeAscriptionOwner for ConstDef {}
375impl ConstDef { 375impl ConstDef {
376 pub fn default_kw(&self) -> Option<DefaultKw> { support::token(&self.syntax) } 376 pub fn default_kw_token(&self) -> Option<DefaultKw> { support::token(&self.syntax) }
377 pub fn const_kw(&self) -> Option<ConstKw> { support::token(&self.syntax) } 377 pub fn const_kw_token(&self) -> Option<ConstKw> { support::token(&self.syntax) }
378 pub fn eq(&self) -> Option<Eq> { support::token(&self.syntax) } 378 pub fn eq_token(&self) -> Option<Eq> { support::token(&self.syntax) }
379 pub fn body(&self) -> Option<Expr> { support::child(&self.syntax) } 379 pub fn body(&self) -> Option<Expr> { support::child(&self.syntax) }
380 pub fn semi(&self) -> Option<Semi> { support::token(&self.syntax) } 380 pub fn semi_token(&self) -> Option<Semi> { support::token(&self.syntax) }
381} 381}
382#[derive(Debug, Clone, PartialEq, Eq, Hash)] 382#[derive(Debug, Clone, PartialEq, Eq, Hash)]
383pub struct StaticDef { 383pub struct StaticDef {
@@ -401,11 +401,11 @@ impl ast::AttrsOwner for StaticDef {}
401impl ast::DocCommentsOwner for StaticDef {} 401impl ast::DocCommentsOwner for StaticDef {}
402impl ast::TypeAscriptionOwner for StaticDef {} 402impl ast::TypeAscriptionOwner for StaticDef {}
403impl StaticDef { 403impl StaticDef {
404 pub fn static_kw(&self) -> Option<StaticKw> { support::token(&self.syntax) } 404 pub fn static_kw_token(&self) -> Option<StaticKw> { support::token(&self.syntax) }
405 pub fn mut_kw(&self) -> Option<MutKw> { support::token(&self.syntax) } 405 pub fn mut_kw_token(&self) -> Option<MutKw> { support::token(&self.syntax) }
406 pub fn eq(&self) -> Option<Eq> { support::token(&self.syntax) } 406 pub fn eq_token(&self) -> Option<Eq> { support::token(&self.syntax) }
407 pub fn body(&self) -> Option<Expr> { support::child(&self.syntax) } 407 pub fn body(&self) -> Option<Expr> { support::child(&self.syntax) }
408 pub fn semi(&self) -> Option<Semi> { support::token(&self.syntax) } 408 pub fn semi_token(&self) -> Option<Semi> { support::token(&self.syntax) }
409} 409}
410#[derive(Debug, Clone, PartialEq, Eq, Hash)] 410#[derive(Debug, Clone, PartialEq, Eq, Hash)]
411pub struct TypeAliasDef { 411pub struct TypeAliasDef {
@@ -429,11 +429,11 @@ impl ast::AttrsOwner for TypeAliasDef {}
429impl ast::DocCommentsOwner for TypeAliasDef {} 429impl ast::DocCommentsOwner for TypeAliasDef {}
430impl ast::TypeBoundsOwner for TypeAliasDef {} 430impl ast::TypeBoundsOwner for TypeAliasDef {}
431impl TypeAliasDef { 431impl TypeAliasDef {
432 pub fn default_kw(&self) -> Option<DefaultKw> { support::token(&self.syntax) } 432 pub fn default_kw_token(&self) -> Option<DefaultKw> { support::token(&self.syntax) }
433 pub fn type_kw(&self) -> Option<TypeKw> { support::token(&self.syntax) } 433 pub fn type_kw_token(&self) -> Option<TypeKw> { support::token(&self.syntax) }
434 pub fn eq(&self) -> Option<Eq> { support::token(&self.syntax) } 434 pub fn eq_token(&self) -> Option<Eq> { support::token(&self.syntax) }
435 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) } 435 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) }
436 pub fn semi(&self) -> Option<Semi> { support::token(&self.syntax) } 436 pub fn semi_token(&self) -> Option<Semi> { support::token(&self.syntax) }
437} 437}
438#[derive(Debug, Clone, PartialEq, Eq, Hash)] 438#[derive(Debug, Clone, PartialEq, Eq, Hash)]
439pub struct ImplDef { 439pub struct ImplDef {
@@ -453,12 +453,12 @@ impl AstNode for ImplDef {
453impl ast::TypeParamsOwner for ImplDef {} 453impl ast::TypeParamsOwner for ImplDef {}
454impl ast::AttrsOwner for ImplDef {} 454impl ast::AttrsOwner for ImplDef {}
455impl ImplDef { 455impl ImplDef {
456 pub fn default_kw(&self) -> Option<DefaultKw> { support::token(&self.syntax) } 456 pub fn default_kw_token(&self) -> Option<DefaultKw> { support::token(&self.syntax) }
457 pub fn const_kw(&self) -> Option<ConstKw> { support::token(&self.syntax) } 457 pub fn const_kw_token(&self) -> Option<ConstKw> { support::token(&self.syntax) }
458 pub fn unsafe_kw(&self) -> Option<UnsafeKw> { support::token(&self.syntax) } 458 pub fn unsafe_kw_token(&self) -> Option<UnsafeKw> { support::token(&self.syntax) }
459 pub fn impl_kw(&self) -> Option<ImplKw> { support::token(&self.syntax) } 459 pub fn impl_kw_token(&self) -> Option<ImplKw> { support::token(&self.syntax) }
460 pub fn excl(&self) -> Option<Excl> { support::token(&self.syntax) } 460 pub fn excl_token(&self) -> Option<Excl> { support::token(&self.syntax) }
461 pub fn for_kw(&self) -> Option<ForKw> { support::token(&self.syntax) } 461 pub fn for_kw_token(&self) -> Option<ForKw> { support::token(&self.syntax) }
462 pub fn item_list(&self) -> Option<ItemList> { support::child(&self.syntax) } 462 pub fn item_list(&self) -> Option<ItemList> { support::child(&self.syntax) }
463} 463}
464#[derive(Debug, Clone, PartialEq, Eq, Hash)] 464#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -477,9 +477,9 @@ impl AstNode for ParenType {
477 fn syntax(&self) -> &SyntaxNode { &self.syntax } 477 fn syntax(&self) -> &SyntaxNode { &self.syntax }
478} 478}
479impl ParenType { 479impl ParenType {
480 pub fn l_paren(&self) -> Option<LParen> { support::token(&self.syntax) } 480 pub fn l_paren_token(&self) -> Option<LParen> { support::token(&self.syntax) }
481 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) } 481 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) }
482 pub fn r_paren(&self) -> Option<RParen> { support::token(&self.syntax) } 482 pub fn r_paren_token(&self) -> Option<RParen> { support::token(&self.syntax) }
483} 483}
484#[derive(Debug, Clone, PartialEq, Eq, Hash)] 484#[derive(Debug, Clone, PartialEq, Eq, Hash)]
485pub struct TupleType { 485pub struct TupleType {
@@ -497,9 +497,9 @@ impl AstNode for TupleType {
497 fn syntax(&self) -> &SyntaxNode { &self.syntax } 497 fn syntax(&self) -> &SyntaxNode { &self.syntax }
498} 498}
499impl TupleType { 499impl TupleType {
500 pub fn l_paren(&self) -> Option<LParen> { support::token(&self.syntax) } 500 pub fn l_paren_token(&self) -> Option<LParen> { support::token(&self.syntax) }
501 pub fn fields(&self) -> AstChildren<TypeRef> { support::children(&self.syntax) } 501 pub fn fields(&self) -> AstChildren<TypeRef> { support::children(&self.syntax) }
502 pub fn r_paren(&self) -> Option<RParen> { support::token(&self.syntax) } 502 pub fn r_paren_token(&self) -> Option<RParen> { support::token(&self.syntax) }
503} 503}
504#[derive(Debug, Clone, PartialEq, Eq, Hash)] 504#[derive(Debug, Clone, PartialEq, Eq, Hash)]
505pub struct NeverType { 505pub struct NeverType {
@@ -517,7 +517,7 @@ impl AstNode for NeverType {
517 fn syntax(&self) -> &SyntaxNode { &self.syntax } 517 fn syntax(&self) -> &SyntaxNode { &self.syntax }
518} 518}
519impl NeverType { 519impl NeverType {
520 pub fn excl(&self) -> Option<Excl> { support::token(&self.syntax) } 520 pub fn excl_token(&self) -> Option<Excl> { support::token(&self.syntax) }
521} 521}
522#[derive(Debug, Clone, PartialEq, Eq, Hash)] 522#[derive(Debug, Clone, PartialEq, Eq, Hash)]
523pub struct PathType { 523pub struct PathType {
@@ -553,8 +553,8 @@ impl AstNode for PointerType {
553 fn syntax(&self) -> &SyntaxNode { &self.syntax } 553 fn syntax(&self) -> &SyntaxNode { &self.syntax }
554} 554}
555impl PointerType { 555impl PointerType {
556 pub fn star(&self) -> Option<Star> { support::token(&self.syntax) } 556 pub fn star_token(&self) -> Option<Star> { support::token(&self.syntax) }
557 pub fn const_kw(&self) -> Option<ConstKw> { support::token(&self.syntax) } 557 pub fn const_kw_token(&self) -> Option<ConstKw> { support::token(&self.syntax) }
558 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) } 558 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) }
559} 559}
560#[derive(Debug, Clone, PartialEq, Eq, Hash)] 560#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -573,11 +573,11 @@ impl AstNode for ArrayType {
573 fn syntax(&self) -> &SyntaxNode { &self.syntax } 573 fn syntax(&self) -> &SyntaxNode { &self.syntax }
574} 574}
575impl ArrayType { 575impl ArrayType {
576 pub fn l_brack(&self) -> Option<LBrack> { support::token(&self.syntax) } 576 pub fn l_brack_token(&self) -> Option<LBrack> { support::token(&self.syntax) }
577 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) } 577 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) }
578 pub fn semi(&self) -> Option<Semi> { support::token(&self.syntax) } 578 pub fn semi_token(&self) -> Option<Semi> { support::token(&self.syntax) }
579 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } 579 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
580 pub fn r_brack(&self) -> Option<RBrack> { support::token(&self.syntax) } 580 pub fn r_brack_token(&self) -> Option<RBrack> { support::token(&self.syntax) }
581} 581}
582#[derive(Debug, Clone, PartialEq, Eq, Hash)] 582#[derive(Debug, Clone, PartialEq, Eq, Hash)]
583pub struct SliceType { 583pub struct SliceType {
@@ -595,9 +595,9 @@ impl AstNode for SliceType {
595 fn syntax(&self) -> &SyntaxNode { &self.syntax } 595 fn syntax(&self) -> &SyntaxNode { &self.syntax }
596} 596}
597impl SliceType { 597impl SliceType {
598 pub fn l_brack(&self) -> Option<LBrack> { support::token(&self.syntax) } 598 pub fn l_brack_token(&self) -> Option<LBrack> { support::token(&self.syntax) }
599 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) } 599 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) }
600 pub fn r_brack(&self) -> Option<RBrack> { support::token(&self.syntax) } 600 pub fn r_brack_token(&self) -> Option<RBrack> { support::token(&self.syntax) }
601} 601}
602#[derive(Debug, Clone, PartialEq, Eq, Hash)] 602#[derive(Debug, Clone, PartialEq, Eq, Hash)]
603pub struct ReferenceType { 603pub struct ReferenceType {
@@ -615,9 +615,9 @@ impl AstNode for ReferenceType {
615 fn syntax(&self) -> &SyntaxNode { &self.syntax } 615 fn syntax(&self) -> &SyntaxNode { &self.syntax }
616} 616}
617impl ReferenceType { 617impl ReferenceType {
618 pub fn amp(&self) -> Option<Amp> { support::token(&self.syntax) } 618 pub fn amp_token(&self) -> Option<Amp> { support::token(&self.syntax) }
619 pub fn lifetime(&self) -> Option<Lifetime> { support::token(&self.syntax) } 619 pub fn lifetime_token(&self) -> Option<Lifetime> { support::token(&self.syntax) }
620 pub fn mut_kw(&self) -> Option<MutKw> { support::token(&self.syntax) } 620 pub fn mut_kw_token(&self) -> Option<MutKw> { support::token(&self.syntax) }
621 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) } 621 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) }
622} 622}
623#[derive(Debug, Clone, PartialEq, Eq, Hash)] 623#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -636,7 +636,7 @@ impl AstNode for PlaceholderType {
636 fn syntax(&self) -> &SyntaxNode { &self.syntax } 636 fn syntax(&self) -> &SyntaxNode { &self.syntax }
637} 637}
638impl PlaceholderType { 638impl PlaceholderType {
639 pub fn underscore(&self) -> Option<Underscore> { support::token(&self.syntax) } 639 pub fn underscore_token(&self) -> Option<Underscore> { support::token(&self.syntax) }
640} 640}
641#[derive(Debug, Clone, PartialEq, Eq, Hash)] 641#[derive(Debug, Clone, PartialEq, Eq, Hash)]
642pub struct FnPointerType { 642pub struct FnPointerType {
@@ -655,8 +655,8 @@ impl AstNode for FnPointerType {
655} 655}
656impl FnPointerType { 656impl FnPointerType {
657 pub fn abi(&self) -> Option<Abi> { support::child(&self.syntax) } 657 pub fn abi(&self) -> Option<Abi> { support::child(&self.syntax) }
658 pub fn unsafe_kw(&self) -> Option<UnsafeKw> { support::token(&self.syntax) } 658 pub fn unsafe_kw_token(&self) -> Option<UnsafeKw> { support::token(&self.syntax) }
659 pub fn fn_kw(&self) -> Option<FnKw> { support::token(&self.syntax) } 659 pub fn fn_kw_token(&self) -> Option<FnKw> { support::token(&self.syntax) }
660 pub fn param_list(&self) -> Option<ParamList> { support::child(&self.syntax) } 660 pub fn param_list(&self) -> Option<ParamList> { support::child(&self.syntax) }
661 pub fn ret_type(&self) -> Option<RetType> { support::child(&self.syntax) } 661 pub fn ret_type(&self) -> Option<RetType> { support::child(&self.syntax) }
662} 662}
@@ -676,7 +676,7 @@ impl AstNode for ForType {
676 fn syntax(&self) -> &SyntaxNode { &self.syntax } 676 fn syntax(&self) -> &SyntaxNode { &self.syntax }
677} 677}
678impl ForType { 678impl ForType {
679 pub fn for_kw(&self) -> Option<ForKw> { support::token(&self.syntax) } 679 pub fn for_kw_token(&self) -> Option<ForKw> { support::token(&self.syntax) }
680 pub fn type_param_list(&self) -> Option<TypeParamList> { support::child(&self.syntax) } 680 pub fn type_param_list(&self) -> Option<TypeParamList> { support::child(&self.syntax) }
681 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) } 681 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) }
682} 682}
@@ -697,7 +697,7 @@ impl AstNode for ImplTraitType {
697} 697}
698impl ast::TypeBoundsOwner for ImplTraitType {} 698impl ast::TypeBoundsOwner for ImplTraitType {}
699impl ImplTraitType { 699impl ImplTraitType {
700 pub fn impl_kw(&self) -> Option<ImplKw> { support::token(&self.syntax) } 700 pub fn impl_kw_token(&self) -> Option<ImplKw> { support::token(&self.syntax) }
701} 701}
702#[derive(Debug, Clone, PartialEq, Eq, Hash)] 702#[derive(Debug, Clone, PartialEq, Eq, Hash)]
703pub struct DynTraitType { 703pub struct DynTraitType {
@@ -716,7 +716,7 @@ impl AstNode for DynTraitType {
716} 716}
717impl ast::TypeBoundsOwner for DynTraitType {} 717impl ast::TypeBoundsOwner for DynTraitType {}
718impl DynTraitType { 718impl DynTraitType {
719 pub fn dyn_kw(&self) -> Option<DynKw> { support::token(&self.syntax) } 719 pub fn dyn_kw_token(&self) -> Option<DynKw> { support::token(&self.syntax) }
720} 720}
721#[derive(Debug, Clone, PartialEq, Eq, Hash)] 721#[derive(Debug, Clone, PartialEq, Eq, Hash)]
722pub struct TupleExpr { 722pub struct TupleExpr {
@@ -735,9 +735,9 @@ impl AstNode for TupleExpr {
735} 735}
736impl ast::AttrsOwner for TupleExpr {} 736impl ast::AttrsOwner for TupleExpr {}
737impl TupleExpr { 737impl TupleExpr {
738 pub fn l_paren(&self) -> Option<LParen> { support::token(&self.syntax) } 738 pub fn l_paren_token(&self) -> Option<LParen> { support::token(&self.syntax) }
739 pub fn exprs(&self) -> AstChildren<Expr> { support::children(&self.syntax) } 739 pub fn exprs(&self) -> AstChildren<Expr> { support::children(&self.syntax) }
740 pub fn r_paren(&self) -> Option<RParen> { support::token(&self.syntax) } 740 pub fn r_paren_token(&self) -> Option<RParen> { support::token(&self.syntax) }
741} 741}
742#[derive(Debug, Clone, PartialEq, Eq, Hash)] 742#[derive(Debug, Clone, PartialEq, Eq, Hash)]
743pub struct ArrayExpr { 743pub struct ArrayExpr {
@@ -756,10 +756,10 @@ impl AstNode for ArrayExpr {
756} 756}
757impl ast::AttrsOwner for ArrayExpr {} 757impl ast::AttrsOwner for ArrayExpr {}
758impl ArrayExpr { 758impl ArrayExpr {
759 pub fn l_brack(&self) -> Option<LBrack> { support::token(&self.syntax) } 759 pub fn l_brack_token(&self) -> Option<LBrack> { support::token(&self.syntax) }
760 pub fn exprs(&self) -> AstChildren<Expr> { support::children(&self.syntax) } 760 pub fn exprs(&self) -> AstChildren<Expr> { support::children(&self.syntax) }
761 pub fn semi(&self) -> Option<Semi> { support::token(&self.syntax) } 761 pub fn semi_token(&self) -> Option<Semi> { support::token(&self.syntax) }
762 pub fn r_brack(&self) -> Option<RBrack> { support::token(&self.syntax) } 762 pub fn r_brack_token(&self) -> Option<RBrack> { support::token(&self.syntax) }
763} 763}
764#[derive(Debug, Clone, PartialEq, Eq, Hash)] 764#[derive(Debug, Clone, PartialEq, Eq, Hash)]
765pub struct ParenExpr { 765pub struct ParenExpr {
@@ -778,9 +778,9 @@ impl AstNode for ParenExpr {
778} 778}
779impl ast::AttrsOwner for ParenExpr {} 779impl ast::AttrsOwner for ParenExpr {}
780impl ParenExpr { 780impl ParenExpr {
781 pub fn l_paren(&self) -> Option<LParen> { support::token(&self.syntax) } 781 pub fn l_paren_token(&self) -> Option<LParen> { support::token(&self.syntax) }
782 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } 782 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
783 pub fn r_paren(&self) -> Option<RParen> { support::token(&self.syntax) } 783 pub fn r_paren_token(&self) -> Option<RParen> { support::token(&self.syntax) }
784} 784}
785#[derive(Debug, Clone, PartialEq, Eq, Hash)] 785#[derive(Debug, Clone, PartialEq, Eq, Hash)]
786pub struct PathExpr { 786pub struct PathExpr {
@@ -817,9 +817,9 @@ impl AstNode for LambdaExpr {
817} 817}
818impl ast::AttrsOwner for LambdaExpr {} 818impl ast::AttrsOwner for LambdaExpr {}
819impl LambdaExpr { 819impl LambdaExpr {
820 pub fn static_kw(&self) -> Option<StaticKw> { support::token(&self.syntax) } 820 pub fn static_kw_token(&self) -> Option<StaticKw> { support::token(&self.syntax) }
821 pub fn async_kw(&self) -> Option<AsyncKw> { support::token(&self.syntax) } 821 pub fn async_kw_token(&self) -> Option<AsyncKw> { support::token(&self.syntax) }
822 pub fn move_kw(&self) -> Option<MoveKw> { support::token(&self.syntax) } 822 pub fn move_kw_token(&self) -> Option<MoveKw> { support::token(&self.syntax) }
823 pub fn param_list(&self) -> Option<ParamList> { support::child(&self.syntax) } 823 pub fn param_list(&self) -> Option<ParamList> { support::child(&self.syntax) }
824 pub fn ret_type(&self) -> Option<RetType> { support::child(&self.syntax) } 824 pub fn ret_type(&self) -> Option<RetType> { support::child(&self.syntax) }
825 pub fn body(&self) -> Option<Expr> { support::child(&self.syntax) } 825 pub fn body(&self) -> Option<Expr> { support::child(&self.syntax) }
@@ -841,7 +841,7 @@ impl AstNode for IfExpr {
841} 841}
842impl ast::AttrsOwner for IfExpr {} 842impl ast::AttrsOwner for IfExpr {}
843impl IfExpr { 843impl IfExpr {
844 pub fn if_kw(&self) -> Option<IfKw> { support::token(&self.syntax) } 844 pub fn if_kw_token(&self) -> Option<IfKw> { support::token(&self.syntax) }
845 pub fn condition(&self) -> Option<Condition> { support::child(&self.syntax) } 845 pub fn condition(&self) -> Option<Condition> { support::child(&self.syntax) }
846} 846}
847#[derive(Debug, Clone, PartialEq, Eq, Hash)] 847#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -862,7 +862,7 @@ impl AstNode for LoopExpr {
862impl ast::AttrsOwner for LoopExpr {} 862impl ast::AttrsOwner for LoopExpr {}
863impl ast::LoopBodyOwner for LoopExpr {} 863impl ast::LoopBodyOwner for LoopExpr {}
864impl LoopExpr { 864impl LoopExpr {
865 pub fn loop_kw(&self) -> Option<LoopKw> { support::token(&self.syntax) } 865 pub fn loop_kw_token(&self) -> Option<LoopKw> { support::token(&self.syntax) }
866} 866}
867#[derive(Debug, Clone, PartialEq, Eq, Hash)] 867#[derive(Debug, Clone, PartialEq, Eq, Hash)]
868pub struct TryBlockExpr { 868pub struct TryBlockExpr {
@@ -881,7 +881,7 @@ impl AstNode for TryBlockExpr {
881} 881}
882impl ast::AttrsOwner for TryBlockExpr {} 882impl ast::AttrsOwner for TryBlockExpr {}
883impl TryBlockExpr { 883impl TryBlockExpr {
884 pub fn try_kw(&self) -> Option<TryKw> { support::token(&self.syntax) } 884 pub fn try_kw_token(&self) -> Option<TryKw> { support::token(&self.syntax) }
885 pub fn body(&self) -> Option<BlockExpr> { support::child(&self.syntax) } 885 pub fn body(&self) -> Option<BlockExpr> { support::child(&self.syntax) }
886} 886}
887#[derive(Debug, Clone, PartialEq, Eq, Hash)] 887#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -902,9 +902,9 @@ impl AstNode for ForExpr {
902impl ast::AttrsOwner for ForExpr {} 902impl ast::AttrsOwner for ForExpr {}
903impl ast::LoopBodyOwner for ForExpr {} 903impl ast::LoopBodyOwner for ForExpr {}
904impl ForExpr { 904impl ForExpr {
905 pub fn for_kw(&self) -> Option<ForKw> { support::token(&self.syntax) } 905 pub fn for_kw_token(&self) -> Option<ForKw> { support::token(&self.syntax) }
906 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) } 906 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) }
907 pub fn in_kw(&self) -> Option<InKw> { support::token(&self.syntax) } 907 pub fn in_kw_token(&self) -> Option<InKw> { support::token(&self.syntax) }
908 pub fn iterable(&self) -> Option<Expr> { support::child(&self.syntax) } 908 pub fn iterable(&self) -> Option<Expr> { support::child(&self.syntax) }
909} 909}
910#[derive(Debug, Clone, PartialEq, Eq, Hash)] 910#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -925,7 +925,7 @@ impl AstNode for WhileExpr {
925impl ast::AttrsOwner for WhileExpr {} 925impl ast::AttrsOwner for WhileExpr {}
926impl ast::LoopBodyOwner for WhileExpr {} 926impl ast::LoopBodyOwner for WhileExpr {}
927impl WhileExpr { 927impl WhileExpr {
928 pub fn while_kw(&self) -> Option<WhileKw> { support::token(&self.syntax) } 928 pub fn while_kw_token(&self) -> Option<WhileKw> { support::token(&self.syntax) }
929 pub fn condition(&self) -> Option<Condition> { support::child(&self.syntax) } 929 pub fn condition(&self) -> Option<Condition> { support::child(&self.syntax) }
930} 930}
931#[derive(Debug, Clone, PartialEq, Eq, Hash)] 931#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -945,8 +945,8 @@ impl AstNode for ContinueExpr {
945} 945}
946impl ast::AttrsOwner for ContinueExpr {} 946impl ast::AttrsOwner for ContinueExpr {}
947impl ContinueExpr { 947impl ContinueExpr {
948 pub fn continue_kw(&self) -> Option<ContinueKw> { support::token(&self.syntax) } 948 pub fn continue_kw_token(&self) -> Option<ContinueKw> { support::token(&self.syntax) }
949 pub fn lifetime(&self) -> Option<Lifetime> { support::token(&self.syntax) } 949 pub fn lifetime_token(&self) -> Option<Lifetime> { support::token(&self.syntax) }
950} 950}
951#[derive(Debug, Clone, PartialEq, Eq, Hash)] 951#[derive(Debug, Clone, PartialEq, Eq, Hash)]
952pub struct BreakExpr { 952pub struct BreakExpr {
@@ -965,8 +965,8 @@ impl AstNode for BreakExpr {
965} 965}
966impl ast::AttrsOwner for BreakExpr {} 966impl ast::AttrsOwner for BreakExpr {}
967impl BreakExpr { 967impl BreakExpr {
968 pub fn break_kw(&self) -> Option<BreakKw> { support::token(&self.syntax) } 968 pub fn break_kw_token(&self) -> Option<BreakKw> { support::token(&self.syntax) }
969 pub fn lifetime(&self) -> Option<Lifetime> { support::token(&self.syntax) } 969 pub fn lifetime_token(&self) -> Option<Lifetime> { support::token(&self.syntax) }
970 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } 970 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
971} 971}
972#[derive(Debug, Clone, PartialEq, Eq, Hash)] 972#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -985,7 +985,7 @@ impl AstNode for Label {
985 fn syntax(&self) -> &SyntaxNode { &self.syntax } 985 fn syntax(&self) -> &SyntaxNode { &self.syntax }
986} 986}
987impl Label { 987impl Label {
988 pub fn lifetime(&self) -> Option<Lifetime> { support::token(&self.syntax) } 988 pub fn lifetime_token(&self) -> Option<Lifetime> { support::token(&self.syntax) }
989} 989}
990#[derive(Debug, Clone, PartialEq, Eq, Hash)] 990#[derive(Debug, Clone, PartialEq, Eq, Hash)]
991pub struct BlockExpr { 991pub struct BlockExpr {
@@ -1005,7 +1005,7 @@ impl AstNode for BlockExpr {
1005impl ast::AttrsOwner for BlockExpr {} 1005impl ast::AttrsOwner for BlockExpr {}
1006impl BlockExpr { 1006impl BlockExpr {
1007 pub fn label(&self) -> Option<Label> { support::child(&self.syntax) } 1007 pub fn label(&self) -> Option<Label> { support::child(&self.syntax) }
1008 pub fn unsafe_kw(&self) -> Option<UnsafeKw> { support::token(&self.syntax) } 1008 pub fn unsafe_kw_token(&self) -> Option<UnsafeKw> { support::token(&self.syntax) }
1009 pub fn block(&self) -> Option<Block> { support::child(&self.syntax) } 1009 pub fn block(&self) -> Option<Block> { support::child(&self.syntax) }
1010} 1010}
1011#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1011#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -1065,7 +1065,7 @@ impl ast::AttrsOwner for MethodCallExpr {}
1065impl ast::ArgListOwner for MethodCallExpr {} 1065impl ast::ArgListOwner for MethodCallExpr {}
1066impl MethodCallExpr { 1066impl MethodCallExpr {
1067 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } 1067 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
1068 pub fn dot(&self) -> Option<Dot> { support::token(&self.syntax) } 1068 pub fn dot_token(&self) -> Option<Dot> { support::token(&self.syntax) }
1069 pub fn name_ref(&self) -> Option<NameRef> { support::child(&self.syntax) } 1069 pub fn name_ref(&self) -> Option<NameRef> { support::child(&self.syntax) }
1070 pub fn type_arg_list(&self) -> Option<TypeArgList> { support::child(&self.syntax) } 1070 pub fn type_arg_list(&self) -> Option<TypeArgList> { support::child(&self.syntax) }
1071} 1071}
@@ -1086,8 +1086,8 @@ impl AstNode for IndexExpr {
1086} 1086}
1087impl ast::AttrsOwner for IndexExpr {} 1087impl ast::AttrsOwner for IndexExpr {}
1088impl IndexExpr { 1088impl IndexExpr {
1089 pub fn l_brack(&self) -> Option<LBrack> { support::token(&self.syntax) } 1089 pub fn l_brack_token(&self) -> Option<LBrack> { support::token(&self.syntax) }
1090 pub fn r_brack(&self) -> Option<RBrack> { support::token(&self.syntax) } 1090 pub fn r_brack_token(&self) -> Option<RBrack> { support::token(&self.syntax) }
1091} 1091}
1092#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1092#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1093pub struct FieldExpr { 1093pub struct FieldExpr {
@@ -1107,7 +1107,7 @@ impl AstNode for FieldExpr {
1107impl ast::AttrsOwner for FieldExpr {} 1107impl ast::AttrsOwner for FieldExpr {}
1108impl FieldExpr { 1108impl FieldExpr {
1109 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } 1109 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
1110 pub fn dot(&self) -> Option<Dot> { support::token(&self.syntax) } 1110 pub fn dot_token(&self) -> Option<Dot> { support::token(&self.syntax) }
1111 pub fn name_ref(&self) -> Option<NameRef> { support::child(&self.syntax) } 1111 pub fn name_ref(&self) -> Option<NameRef> { support::child(&self.syntax) }
1112} 1112}
1113#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1113#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -1128,8 +1128,8 @@ impl AstNode for AwaitExpr {
1128impl ast::AttrsOwner for AwaitExpr {} 1128impl ast::AttrsOwner for AwaitExpr {}
1129impl AwaitExpr { 1129impl AwaitExpr {
1130 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } 1130 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
1131 pub fn dot(&self) -> Option<Dot> { support::token(&self.syntax) } 1131 pub fn dot_token(&self) -> Option<Dot> { support::token(&self.syntax) }
1132 pub fn await_kw(&self) -> Option<AwaitKw> { support::token(&self.syntax) } 1132 pub fn await_kw_token(&self) -> Option<AwaitKw> { support::token(&self.syntax) }
1133} 1133}
1134#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1134#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1135pub struct TryExpr { 1135pub struct TryExpr {
@@ -1148,7 +1148,7 @@ impl AstNode for TryExpr {
1148} 1148}
1149impl ast::AttrsOwner for TryExpr {} 1149impl ast::AttrsOwner for TryExpr {}
1150impl TryExpr { 1150impl TryExpr {
1151 pub fn try_kw(&self) -> Option<TryKw> { support::token(&self.syntax) } 1151 pub fn try_kw_token(&self) -> Option<TryKw> { support::token(&self.syntax) }
1152 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } 1152 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
1153} 1153}
1154#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1154#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -1169,7 +1169,7 @@ impl AstNode for CastExpr {
1169impl ast::AttrsOwner for CastExpr {} 1169impl ast::AttrsOwner for CastExpr {}
1170impl CastExpr { 1170impl CastExpr {
1171 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } 1171 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
1172 pub fn as_kw(&self) -> Option<AsKw> { support::token(&self.syntax) } 1172 pub fn as_kw_token(&self) -> Option<AsKw> { support::token(&self.syntax) }
1173 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) } 1173 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) }
1174} 1174}
1175#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1175#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -1189,9 +1189,9 @@ impl AstNode for RefExpr {
1189} 1189}
1190impl ast::AttrsOwner for RefExpr {} 1190impl ast::AttrsOwner for RefExpr {}
1191impl RefExpr { 1191impl RefExpr {
1192 pub fn amp(&self) -> Option<Amp> { support::token(&self.syntax) } 1192 pub fn amp_token(&self) -> Option<Amp> { support::token(&self.syntax) }
1193 pub fn raw_kw(&self) -> Option<RawKw> { support::token(&self.syntax) } 1193 pub fn raw_kw_token(&self) -> Option<RawKw> { support::token(&self.syntax) }
1194 pub fn mut_kw(&self) -> Option<MutKw> { support::token(&self.syntax) } 1194 pub fn mut_kw_token(&self) -> Option<MutKw> { support::token(&self.syntax) }
1195 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } 1195 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
1196} 1196}
1197#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1197#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -1211,7 +1211,7 @@ impl AstNode for PrefixExpr {
1211} 1211}
1212impl ast::AttrsOwner for PrefixExpr {} 1212impl ast::AttrsOwner for PrefixExpr {}
1213impl PrefixExpr { 1213impl PrefixExpr {
1214 pub fn prefix_op(&self) -> Option<PrefixOp> { support::token(&self.syntax) } 1214 pub fn prefix_op_token(&self) -> Option<PrefixOp> { support::token(&self.syntax) }
1215 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } 1215 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
1216} 1216}
1217#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1217#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -1231,7 +1231,7 @@ impl AstNode for BoxExpr {
1231} 1231}
1232impl ast::AttrsOwner for BoxExpr {} 1232impl ast::AttrsOwner for BoxExpr {}
1233impl BoxExpr { 1233impl BoxExpr {
1234 pub fn box_kw(&self) -> Option<BoxKw> { support::token(&self.syntax) } 1234 pub fn box_kw_token(&self) -> Option<BoxKw> { support::token(&self.syntax) }
1235 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } 1235 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
1236} 1236}
1237#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1237#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -1251,7 +1251,7 @@ impl AstNode for RangeExpr {
1251} 1251}
1252impl ast::AttrsOwner for RangeExpr {} 1252impl ast::AttrsOwner for RangeExpr {}
1253impl RangeExpr { 1253impl RangeExpr {
1254 pub fn range_op(&self) -> Option<RangeOp> { support::token(&self.syntax) } 1254 pub fn range_op_token(&self) -> Option<RangeOp> { support::token(&self.syntax) }
1255} 1255}
1256#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1256#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1257pub struct BinExpr { 1257pub struct BinExpr {
@@ -1270,7 +1270,7 @@ impl AstNode for BinExpr {
1270} 1270}
1271impl ast::AttrsOwner for BinExpr {} 1271impl ast::AttrsOwner for BinExpr {}
1272impl BinExpr { 1272impl BinExpr {
1273 pub fn bin_op(&self) -> Option<BinOp> { support::token(&self.syntax) } 1273 pub fn bin_op_token(&self) -> Option<BinOp> { support::token(&self.syntax) }
1274} 1274}
1275#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1275#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1276pub struct Literal { 1276pub struct Literal {
@@ -1288,7 +1288,7 @@ impl AstNode for Literal {
1288 fn syntax(&self) -> &SyntaxNode { &self.syntax } 1288 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1289} 1289}
1290impl Literal { 1290impl Literal {
1291 pub fn literal_token(&self) -> Option<LiteralToken> { support::token(&self.syntax) } 1291 pub fn literal_token_token(&self) -> Option<LiteralToken> { support::token(&self.syntax) }
1292} 1292}
1293#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1293#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1294pub struct MatchExpr { 1294pub struct MatchExpr {
@@ -1307,7 +1307,7 @@ impl AstNode for MatchExpr {
1307} 1307}
1308impl ast::AttrsOwner for MatchExpr {} 1308impl ast::AttrsOwner for MatchExpr {}
1309impl MatchExpr { 1309impl MatchExpr {
1310 pub fn match_kw(&self) -> Option<MatchKw> { support::token(&self.syntax) } 1310 pub fn match_kw_token(&self) -> Option<MatchKw> { support::token(&self.syntax) }
1311 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } 1311 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
1312 pub fn match_arm_list(&self) -> Option<MatchArmList> { support::child(&self.syntax) } 1312 pub fn match_arm_list(&self) -> Option<MatchArmList> { support::child(&self.syntax) }
1313} 1313}
@@ -1328,9 +1328,9 @@ impl AstNode for MatchArmList {
1328} 1328}
1329impl ast::AttrsOwner for MatchArmList {} 1329impl ast::AttrsOwner for MatchArmList {}
1330impl MatchArmList { 1330impl MatchArmList {
1331 pub fn l_curly(&self) -> Option<LCurly> { support::token(&self.syntax) } 1331 pub fn l_curly_token(&self) -> Option<LCurly> { support::token(&self.syntax) }
1332 pub fn arms(&self) -> AstChildren<MatchArm> { support::children(&self.syntax) } 1332 pub fn arms(&self) -> AstChildren<MatchArm> { support::children(&self.syntax) }
1333 pub fn r_curly(&self) -> Option<RCurly> { support::token(&self.syntax) } 1333 pub fn r_curly_token(&self) -> Option<RCurly> { support::token(&self.syntax) }
1334} 1334}
1335#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1335#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1336pub struct MatchArm { 1336pub struct MatchArm {
@@ -1351,7 +1351,7 @@ impl ast::AttrsOwner for MatchArm {}
1351impl MatchArm { 1351impl MatchArm {
1352 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) } 1352 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) }
1353 pub fn guard(&self) -> Option<MatchGuard> { support::child(&self.syntax) } 1353 pub fn guard(&self) -> Option<MatchGuard> { support::child(&self.syntax) }
1354 pub fn fat_arrow(&self) -> Option<FatArrow> { support::token(&self.syntax) } 1354 pub fn fat_arrow_token(&self) -> Option<FatArrow> { support::token(&self.syntax) }
1355 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } 1355 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
1356} 1356}
1357#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1357#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -1370,7 +1370,7 @@ impl AstNode for MatchGuard {
1370 fn syntax(&self) -> &SyntaxNode { &self.syntax } 1370 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1371} 1371}
1372impl MatchGuard { 1372impl MatchGuard {
1373 pub fn if_kw(&self) -> Option<IfKw> { support::token(&self.syntax) } 1373 pub fn if_kw_token(&self) -> Option<IfKw> { support::token(&self.syntax) }
1374 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } 1374 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
1375} 1375}
1376#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1376#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -1408,11 +1408,11 @@ impl AstNode for RecordFieldList {
1408 fn syntax(&self) -> &SyntaxNode { &self.syntax } 1408 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1409} 1409}
1410impl RecordFieldList { 1410impl RecordFieldList {
1411 pub fn l_curly(&self) -> Option<LCurly> { support::token(&self.syntax) } 1411 pub fn l_curly_token(&self) -> Option<LCurly> { support::token(&self.syntax) }
1412 pub fn fields(&self) -> AstChildren<RecordField> { support::children(&self.syntax) } 1412 pub fn fields(&self) -> AstChildren<RecordField> { support::children(&self.syntax) }
1413 pub fn dotdot(&self) -> Option<Dotdot> { support::token(&self.syntax) } 1413 pub fn dotdot_token(&self) -> Option<Dotdot> { support::token(&self.syntax) }
1414 pub fn spread(&self) -> Option<Expr> { support::child(&self.syntax) } 1414 pub fn spread(&self) -> Option<Expr> { support::child(&self.syntax) }
1415 pub fn r_curly(&self) -> Option<RCurly> { support::token(&self.syntax) } 1415 pub fn r_curly_token(&self) -> Option<RCurly> { support::token(&self.syntax) }
1416} 1416}
1417#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1417#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1418pub struct RecordField { 1418pub struct RecordField {
@@ -1432,7 +1432,7 @@ impl AstNode for RecordField {
1432impl ast::AttrsOwner for RecordField {} 1432impl ast::AttrsOwner for RecordField {}
1433impl RecordField { 1433impl RecordField {
1434 pub fn name_ref(&self) -> Option<NameRef> { support::child(&self.syntax) } 1434 pub fn name_ref(&self) -> Option<NameRef> { support::child(&self.syntax) }
1435 pub fn colon(&self) -> Option<Colon> { support::token(&self.syntax) } 1435 pub fn colon_token(&self) -> Option<Colon> { support::token(&self.syntax) }
1436 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } 1436 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
1437} 1437}
1438#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1438#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -1469,9 +1469,9 @@ impl AstNode for ParenPat {
1469 fn syntax(&self) -> &SyntaxNode { &self.syntax } 1469 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1470} 1470}
1471impl ParenPat { 1471impl ParenPat {
1472 pub fn l_paren(&self) -> Option<LParen> { support::token(&self.syntax) } 1472 pub fn l_paren_token(&self) -> Option<LParen> { support::token(&self.syntax) }
1473 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) } 1473 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) }
1474 pub fn r_paren(&self) -> Option<RParen> { support::token(&self.syntax) } 1474 pub fn r_paren_token(&self) -> Option<RParen> { support::token(&self.syntax) }
1475} 1475}
1476#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1476#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1477pub struct RefPat { 1477pub struct RefPat {
@@ -1489,8 +1489,8 @@ impl AstNode for RefPat {
1489 fn syntax(&self) -> &SyntaxNode { &self.syntax } 1489 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1490} 1490}
1491impl RefPat { 1491impl RefPat {
1492 pub fn amp(&self) -> Option<Amp> { support::token(&self.syntax) } 1492 pub fn amp_token(&self) -> Option<Amp> { support::token(&self.syntax) }
1493 pub fn mut_kw(&self) -> Option<MutKw> { support::token(&self.syntax) } 1493 pub fn mut_kw_token(&self) -> Option<MutKw> { support::token(&self.syntax) }
1494 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) } 1494 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) }
1495} 1495}
1496#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1496#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -1509,7 +1509,7 @@ impl AstNode for BoxPat {
1509 fn syntax(&self) -> &SyntaxNode { &self.syntax } 1509 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1510} 1510}
1511impl BoxPat { 1511impl BoxPat {
1512 pub fn box_kw(&self) -> Option<BoxKw> { support::token(&self.syntax) } 1512 pub fn box_kw_token(&self) -> Option<BoxKw> { support::token(&self.syntax) }
1513 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) } 1513 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) }
1514} 1514}
1515#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1515#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -1530,8 +1530,8 @@ impl AstNode for BindPat {
1530impl ast::AttrsOwner for BindPat {} 1530impl ast::AttrsOwner for BindPat {}
1531impl ast::NameOwner for BindPat {} 1531impl ast::NameOwner for BindPat {}
1532impl BindPat { 1532impl BindPat {
1533 pub fn ref_kw(&self) -> Option<RefKw> { support::token(&self.syntax) } 1533 pub fn ref_kw_token(&self) -> Option<RefKw> { support::token(&self.syntax) }
1534 pub fn mut_kw(&self) -> Option<MutKw> { support::token(&self.syntax) } 1534 pub fn mut_kw_token(&self) -> Option<MutKw> { support::token(&self.syntax) }
1535 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) } 1535 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) }
1536} 1536}
1537#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1537#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -1550,7 +1550,7 @@ impl AstNode for PlaceholderPat {
1550 fn syntax(&self) -> &SyntaxNode { &self.syntax } 1550 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1551} 1551}
1552impl PlaceholderPat { 1552impl PlaceholderPat {
1553 pub fn underscore(&self) -> Option<Underscore> { support::token(&self.syntax) } 1553 pub fn underscore_token(&self) -> Option<Underscore> { support::token(&self.syntax) }
1554} 1554}
1555#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1555#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1556pub struct DotDotPat { 1556pub struct DotDotPat {
@@ -1568,7 +1568,7 @@ impl AstNode for DotDotPat {
1568 fn syntax(&self) -> &SyntaxNode { &self.syntax } 1568 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1569} 1569}
1570impl DotDotPat { 1570impl DotDotPat {
1571 pub fn dotdot(&self) -> Option<Dotdot> { support::token(&self.syntax) } 1571 pub fn dotdot_token(&self) -> Option<Dotdot> { support::token(&self.syntax) }
1572} 1572}
1573#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1573#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1574pub struct PathPat { 1574pub struct PathPat {
@@ -1604,9 +1604,9 @@ impl AstNode for SlicePat {
1604 fn syntax(&self) -> &SyntaxNode { &self.syntax } 1604 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1605} 1605}
1606impl SlicePat { 1606impl SlicePat {
1607 pub fn l_brack(&self) -> Option<LBrack> { support::token(&self.syntax) } 1607 pub fn l_brack_token(&self) -> Option<LBrack> { support::token(&self.syntax) }
1608 pub fn args(&self) -> AstChildren<Pat> { support::children(&self.syntax) } 1608 pub fn args(&self) -> AstChildren<Pat> { support::children(&self.syntax) }
1609 pub fn r_brack(&self) -> Option<RBrack> { support::token(&self.syntax) } 1609 pub fn r_brack_token(&self) -> Option<RBrack> { support::token(&self.syntax) }
1610} 1610}
1611#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1611#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1612pub struct RangePat { 1612pub struct RangePat {
@@ -1624,7 +1624,7 @@ impl AstNode for RangePat {
1624 fn syntax(&self) -> &SyntaxNode { &self.syntax } 1624 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1625} 1625}
1626impl RangePat { 1626impl RangePat {
1627 pub fn range_separator(&self) -> Option<RangeSeparator> { support::token(&self.syntax) } 1627 pub fn range_separator_token(&self) -> Option<RangeSeparator> { support::token(&self.syntax) }
1628} 1628}
1629#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1629#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1630pub struct LiteralPat { 1630pub struct LiteralPat {
@@ -1699,14 +1699,14 @@ impl AstNode for RecordFieldPatList {
1699 fn syntax(&self) -> &SyntaxNode { &self.syntax } 1699 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1700} 1700}
1701impl RecordFieldPatList { 1701impl RecordFieldPatList {
1702 pub fn l_curly(&self) -> Option<LCurly> { support::token(&self.syntax) } 1702 pub fn l_curly_token(&self) -> Option<LCurly> { support::token(&self.syntax) }
1703 pub fn pats(&self) -> AstChildren<RecordInnerPat> { support::children(&self.syntax) } 1703 pub fn pats(&self) -> AstChildren<RecordInnerPat> { support::children(&self.syntax) }
1704 pub fn record_field_pats(&self) -> AstChildren<RecordFieldPat> { 1704 pub fn record_field_pats(&self) -> AstChildren<RecordFieldPat> {
1705 support::children(&self.syntax) 1705 support::children(&self.syntax)
1706 } 1706 }
1707 pub fn bind_pats(&self) -> AstChildren<BindPat> { support::children(&self.syntax) } 1707 pub fn bind_pats(&self) -> AstChildren<BindPat> { support::children(&self.syntax) }
1708 pub fn dotdot(&self) -> Option<Dotdot> { support::token(&self.syntax) } 1708 pub fn dotdot_token(&self) -> Option<Dotdot> { support::token(&self.syntax) }
1709 pub fn r_curly(&self) -> Option<RCurly> { support::token(&self.syntax) } 1709 pub fn r_curly_token(&self) -> Option<RCurly> { support::token(&self.syntax) }
1710} 1710}
1711#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1711#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1712pub struct RecordFieldPat { 1712pub struct RecordFieldPat {
@@ -1726,7 +1726,7 @@ impl AstNode for RecordFieldPat {
1726impl ast::AttrsOwner for RecordFieldPat {} 1726impl ast::AttrsOwner for RecordFieldPat {}
1727impl ast::NameOwner for RecordFieldPat {} 1727impl ast::NameOwner for RecordFieldPat {}
1728impl RecordFieldPat { 1728impl RecordFieldPat {
1729 pub fn colon(&self) -> Option<Colon> { support::token(&self.syntax) } 1729 pub fn colon_token(&self) -> Option<Colon> { support::token(&self.syntax) }
1730 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) } 1730 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) }
1731} 1731}
1732#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1732#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -1746,9 +1746,9 @@ impl AstNode for TupleStructPat {
1746} 1746}
1747impl TupleStructPat { 1747impl TupleStructPat {
1748 pub fn path(&self) -> Option<Path> { support::child(&self.syntax) } 1748 pub fn path(&self) -> Option<Path> { support::child(&self.syntax) }
1749 pub fn l_paren(&self) -> Option<LParen> { support::token(&self.syntax) } 1749 pub fn l_paren_token(&self) -> Option<LParen> { support::token(&self.syntax) }
1750 pub fn args(&self) -> AstChildren<Pat> { support::children(&self.syntax) } 1750 pub fn args(&self) -> AstChildren<Pat> { support::children(&self.syntax) }
1751 pub fn r_paren(&self) -> Option<RParen> { support::token(&self.syntax) } 1751 pub fn r_paren_token(&self) -> Option<RParen> { support::token(&self.syntax) }
1752} 1752}
1753#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1753#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1754pub struct TuplePat { 1754pub struct TuplePat {
@@ -1766,9 +1766,9 @@ impl AstNode for TuplePat {
1766 fn syntax(&self) -> &SyntaxNode { &self.syntax } 1766 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1767} 1767}
1768impl TuplePat { 1768impl TuplePat {
1769 pub fn l_paren(&self) -> Option<LParen> { support::token(&self.syntax) } 1769 pub fn l_paren_token(&self) -> Option<LParen> { support::token(&self.syntax) }
1770 pub fn args(&self) -> AstChildren<Pat> { support::children(&self.syntax) } 1770 pub fn args(&self) -> AstChildren<Pat> { support::children(&self.syntax) }
1771 pub fn r_paren(&self) -> Option<RParen> { support::token(&self.syntax) } 1771 pub fn r_paren_token(&self) -> Option<RParen> { support::token(&self.syntax) }
1772} 1772}
1773#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1773#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1774pub struct Visibility { 1774pub struct Visibility {
@@ -1786,10 +1786,10 @@ impl AstNode for Visibility {
1786 fn syntax(&self) -> &SyntaxNode { &self.syntax } 1786 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1787} 1787}
1788impl Visibility { 1788impl Visibility {
1789 pub fn pub_kw(&self) -> Option<PubKw> { support::token(&self.syntax) } 1789 pub fn pub_kw_token(&self) -> Option<PubKw> { support::token(&self.syntax) }
1790 pub fn super_kw(&self) -> Option<SuperKw> { support::token(&self.syntax) } 1790 pub fn super_kw_token(&self) -> Option<SuperKw> { support::token(&self.syntax) }
1791 pub fn self_kw(&self) -> Option<SelfKw> { support::token(&self.syntax) } 1791 pub fn self_kw_token(&self) -> Option<SelfKw> { support::token(&self.syntax) }
1792 pub fn crate_kw(&self) -> Option<CrateKw> { support::token(&self.syntax) } 1792 pub fn crate_kw_token(&self) -> Option<CrateKw> { support::token(&self.syntax) }
1793} 1793}
1794#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1794#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1795pub struct Name { 1795pub struct Name {
@@ -1807,7 +1807,7 @@ impl AstNode for Name {
1807 fn syntax(&self) -> &SyntaxNode { &self.syntax } 1807 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1808} 1808}
1809impl Name { 1809impl Name {
1810 pub fn ident(&self) -> Option<Ident> { support::token(&self.syntax) } 1810 pub fn ident_token(&self) -> Option<Ident> { support::token(&self.syntax) }
1811} 1811}
1812#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1812#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1813pub struct NameRef { 1813pub struct NameRef {
@@ -1825,7 +1825,7 @@ impl AstNode for NameRef {
1825 fn syntax(&self) -> &SyntaxNode { &self.syntax } 1825 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1826} 1826}
1827impl NameRef { 1827impl NameRef {
1828 pub fn name_ref_token(&self) -> Option<NameRefToken> { support::token(&self.syntax) } 1828 pub fn name_ref_token_token(&self) -> Option<NameRefToken> { support::token(&self.syntax) }
1829} 1829}
1830#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1830#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1831pub struct MacroCall { 1831pub struct MacroCall {
@@ -1847,9 +1847,9 @@ impl ast::AttrsOwner for MacroCall {}
1847impl ast::DocCommentsOwner for MacroCall {} 1847impl ast::DocCommentsOwner for MacroCall {}
1848impl MacroCall { 1848impl MacroCall {
1849 pub fn path(&self) -> Option<Path> { support::child(&self.syntax) } 1849 pub fn path(&self) -> Option<Path> { support::child(&self.syntax) }
1850 pub fn excl(&self) -> Option<Excl> { support::token(&self.syntax) } 1850 pub fn excl_token(&self) -> Option<Excl> { support::token(&self.syntax) }
1851 pub fn token_tree(&self) -> Option<TokenTree> { support::child(&self.syntax) } 1851 pub fn token_tree(&self) -> Option<TokenTree> { support::child(&self.syntax) }
1852 pub fn semi(&self) -> Option<Semi> { support::token(&self.syntax) } 1852 pub fn semi_token(&self) -> Option<Semi> { support::token(&self.syntax) }
1853} 1853}
1854#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1854#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1855pub struct Attr { 1855pub struct Attr {
@@ -1867,13 +1867,13 @@ impl AstNode for Attr {
1867 fn syntax(&self) -> &SyntaxNode { &self.syntax } 1867 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1868} 1868}
1869impl Attr { 1869impl Attr {
1870 pub fn pound(&self) -> Option<Pound> { support::token(&self.syntax) } 1870 pub fn pound_token(&self) -> Option<Pound> { support::token(&self.syntax) }
1871 pub fn excl(&self) -> Option<Excl> { support::token(&self.syntax) } 1871 pub fn excl_token(&self) -> Option<Excl> { support::token(&self.syntax) }
1872 pub fn l_brack(&self) -> Option<LBrack> { support::token(&self.syntax) } 1872 pub fn l_brack_token(&self) -> Option<LBrack> { support::token(&self.syntax) }
1873 pub fn path(&self) -> Option<Path> { support::child(&self.syntax) } 1873 pub fn path(&self) -> Option<Path> { support::child(&self.syntax) }
1874 pub fn eq(&self) -> Option<Eq> { support::token(&self.syntax) } 1874 pub fn eq_token(&self) -> Option<Eq> { support::token(&self.syntax) }
1875 pub fn input(&self) -> Option<AttrInput> { support::child(&self.syntax) } 1875 pub fn input(&self) -> Option<AttrInput> { support::child(&self.syntax) }
1876 pub fn r_brack(&self) -> Option<RBrack> { support::token(&self.syntax) } 1876 pub fn r_brack_token(&self) -> Option<RBrack> { support::token(&self.syntax) }
1877} 1877}
1878#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1878#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1879pub struct TokenTree { 1879pub struct TokenTree {
@@ -1907,12 +1907,12 @@ impl AstNode for TypeParamList {
1907 fn syntax(&self) -> &SyntaxNode { &self.syntax } 1907 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1908} 1908}
1909impl TypeParamList { 1909impl TypeParamList {
1910 pub fn l_angle(&self) -> Option<LAngle> { support::token(&self.syntax) } 1910 pub fn l_angle_token(&self) -> Option<LAngle> { support::token(&self.syntax) }
1911 pub fn generic_params(&self) -> AstChildren<GenericParam> { support::children(&self.syntax) } 1911 pub fn generic_params(&self) -> AstChildren<GenericParam> { support::children(&self.syntax) }
1912 pub fn type_params(&self) -> AstChildren<TypeParam> { support::children(&self.syntax) } 1912 pub fn type_params(&self) -> AstChildren<TypeParam> { support::children(&self.syntax) }
1913 pub fn lifetime_params(&self) -> AstChildren<LifetimeParam> { support::children(&self.syntax) } 1913 pub fn lifetime_params(&self) -> AstChildren<LifetimeParam> { support::children(&self.syntax) }
1914 pub fn const_params(&self) -> AstChildren<ConstParam> { support::children(&self.syntax) } 1914 pub fn const_params(&self) -> AstChildren<ConstParam> { support::children(&self.syntax) }
1915 pub fn r_angle(&self) -> Option<RAngle> { support::token(&self.syntax) } 1915 pub fn r_angle_token(&self) -> Option<RAngle> { support::token(&self.syntax) }
1916} 1916}
1917#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1917#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1918pub struct TypeParam { 1918pub struct TypeParam {
@@ -1933,7 +1933,7 @@ impl ast::NameOwner for TypeParam {}
1933impl ast::AttrsOwner for TypeParam {} 1933impl ast::AttrsOwner for TypeParam {}
1934impl ast::TypeBoundsOwner for TypeParam {} 1934impl ast::TypeBoundsOwner for TypeParam {}
1935impl TypeParam { 1935impl TypeParam {
1936 pub fn eq(&self) -> Option<Eq> { support::token(&self.syntax) } 1936 pub fn eq_token(&self) -> Option<Eq> { support::token(&self.syntax) }
1937 pub fn default_type(&self) -> Option<TypeRef> { support::child(&self.syntax) } 1937 pub fn default_type(&self) -> Option<TypeRef> { support::child(&self.syntax) }
1938} 1938}
1939#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1939#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -1955,7 +1955,7 @@ impl ast::NameOwner for ConstParam {}
1955impl ast::AttrsOwner for ConstParam {} 1955impl ast::AttrsOwner for ConstParam {}
1956impl ast::TypeAscriptionOwner for ConstParam {} 1956impl ast::TypeAscriptionOwner for ConstParam {}
1957impl ConstParam { 1957impl ConstParam {
1958 pub fn eq(&self) -> Option<Eq> { support::token(&self.syntax) } 1958 pub fn eq_token(&self) -> Option<Eq> { support::token(&self.syntax) }
1959 pub fn default_val(&self) -> Option<Expr> { support::child(&self.syntax) } 1959 pub fn default_val(&self) -> Option<Expr> { support::child(&self.syntax) }
1960} 1960}
1961#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1961#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -1975,7 +1975,7 @@ impl AstNode for LifetimeParam {
1975} 1975}
1976impl ast::AttrsOwner for LifetimeParam {} 1976impl ast::AttrsOwner for LifetimeParam {}
1977impl LifetimeParam { 1977impl LifetimeParam {
1978 pub fn lifetime(&self) -> Option<Lifetime> { support::token(&self.syntax) } 1978 pub fn lifetime_token(&self) -> Option<Lifetime> { support::token(&self.syntax) }
1979} 1979}
1980#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1980#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1981pub struct TypeBound { 1981pub struct TypeBound {
@@ -1993,8 +1993,8 @@ impl AstNode for TypeBound {
1993 fn syntax(&self) -> &SyntaxNode { &self.syntax } 1993 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1994} 1994}
1995impl TypeBound { 1995impl TypeBound {
1996 pub fn lifetime(&self) -> Option<Lifetime> { support::token(&self.syntax) } 1996 pub fn lifetime_token(&self) -> Option<Lifetime> { support::token(&self.syntax) }
1997 pub fn const_kw(&self) -> Option<ConstKw> { support::token(&self.syntax) } 1997 pub fn const_kw_token(&self) -> Option<ConstKw> { support::token(&self.syntax) }
1998 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) } 1998 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) }
1999} 1999}
2000#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2000#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -2032,7 +2032,7 @@ impl AstNode for WherePred {
2032} 2032}
2033impl ast::TypeBoundsOwner for WherePred {} 2033impl ast::TypeBoundsOwner for WherePred {}
2034impl WherePred { 2034impl WherePred {
2035 pub fn lifetime(&self) -> Option<Lifetime> { support::token(&self.syntax) } 2035 pub fn lifetime_token(&self) -> Option<Lifetime> { support::token(&self.syntax) }
2036 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) } 2036 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) }
2037} 2037}
2038#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2038#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -2051,7 +2051,7 @@ impl AstNode for WhereClause {
2051 fn syntax(&self) -> &SyntaxNode { &self.syntax } 2051 fn syntax(&self) -> &SyntaxNode { &self.syntax }
2052} 2052}
2053impl WhereClause { 2053impl WhereClause {
2054 pub fn where_kw(&self) -> Option<WhereKw> { support::token(&self.syntax) } 2054 pub fn where_kw_token(&self) -> Option<WhereKw> { support::token(&self.syntax) }
2055 pub fn predicates(&self) -> AstChildren<WherePred> { support::children(&self.syntax) } 2055 pub fn predicates(&self) -> AstChildren<WherePred> { support::children(&self.syntax) }
2056} 2056}
2057#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2057#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -2070,7 +2070,7 @@ impl AstNode for Abi {
2070 fn syntax(&self) -> &SyntaxNode { &self.syntax } 2070 fn syntax(&self) -> &SyntaxNode { &self.syntax }
2071} 2071}
2072impl Abi { 2072impl Abi {
2073 pub fn string(&self) -> Option<String> { support::token(&self.syntax) } 2073 pub fn string_token(&self) -> Option<String> { support::token(&self.syntax) }
2074} 2074}
2075#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2075#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2076pub struct ExprStmt { 2076pub struct ExprStmt {
@@ -2090,7 +2090,7 @@ impl AstNode for ExprStmt {
2090impl ast::AttrsOwner for ExprStmt {} 2090impl ast::AttrsOwner for ExprStmt {}
2091impl ExprStmt { 2091impl ExprStmt {
2092 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } 2092 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
2093 pub fn semi(&self) -> Option<Semi> { support::token(&self.syntax) } 2093 pub fn semi_token(&self) -> Option<Semi> { support::token(&self.syntax) }
2094} 2094}
2095#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2095#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2096pub struct LetStmt { 2096pub struct LetStmt {
@@ -2110,9 +2110,9 @@ impl AstNode for LetStmt {
2110impl ast::AttrsOwner for LetStmt {} 2110impl ast::AttrsOwner for LetStmt {}
2111impl ast::TypeAscriptionOwner for LetStmt {} 2111impl ast::TypeAscriptionOwner for LetStmt {}
2112impl LetStmt { 2112impl LetStmt {
2113 pub fn let_kw(&self) -> Option<LetKw> { support::token(&self.syntax) } 2113 pub fn let_kw_token(&self) -> Option<LetKw> { support::token(&self.syntax) }
2114 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) } 2114 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) }
2115 pub fn eq(&self) -> Option<Eq> { support::token(&self.syntax) } 2115 pub fn eq_token(&self) -> Option<Eq> { support::token(&self.syntax) }
2116 pub fn initializer(&self) -> Option<Expr> { support::child(&self.syntax) } 2116 pub fn initializer(&self) -> Option<Expr> { support::child(&self.syntax) }
2117} 2117}
2118#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2118#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -2131,9 +2131,9 @@ impl AstNode for Condition {
2131 fn syntax(&self) -> &SyntaxNode { &self.syntax } 2131 fn syntax(&self) -> &SyntaxNode { &self.syntax }
2132} 2132}
2133impl Condition { 2133impl Condition {
2134 pub fn let_kw(&self) -> Option<LetKw> { support::token(&self.syntax) } 2134 pub fn let_kw_token(&self) -> Option<LetKw> { support::token(&self.syntax) }
2135 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) } 2135 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) }
2136 pub fn eq(&self) -> Option<Eq> { support::token(&self.syntax) } 2136 pub fn eq_token(&self) -> Option<Eq> { support::token(&self.syntax) }
2137 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } 2137 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
2138} 2138}
2139#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2139#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -2154,10 +2154,10 @@ impl AstNode for Block {
2154impl ast::AttrsOwner for Block {} 2154impl ast::AttrsOwner for Block {}
2155impl ast::ModuleItemOwner for Block {} 2155impl ast::ModuleItemOwner for Block {}
2156impl Block { 2156impl Block {
2157 pub fn l_curly(&self) -> Option<LCurly> { support::token(&self.syntax) } 2157 pub fn l_curly_token(&self) -> Option<LCurly> { support::token(&self.syntax) }
2158 pub fn statements(&self) -> AstChildren<Stmt> { support::children(&self.syntax) } 2158 pub fn statements(&self) -> AstChildren<Stmt> { support::children(&self.syntax) }
2159 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } 2159 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
2160 pub fn r_curly(&self) -> Option<RCurly> { support::token(&self.syntax) } 2160 pub fn r_curly_token(&self) -> Option<RCurly> { support::token(&self.syntax) }
2161} 2161}
2162#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2162#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2163pub struct ParamList { 2163pub struct ParamList {
@@ -2175,10 +2175,10 @@ impl AstNode for ParamList {
2175 fn syntax(&self) -> &SyntaxNode { &self.syntax } 2175 fn syntax(&self) -> &SyntaxNode { &self.syntax }
2176} 2176}
2177impl ParamList { 2177impl ParamList {
2178 pub fn l_paren(&self) -> Option<LParen> { support::token(&self.syntax) } 2178 pub fn l_paren_token(&self) -> Option<LParen> { support::token(&self.syntax) }
2179 pub fn self_param(&self) -> Option<SelfParam> { support::child(&self.syntax) } 2179 pub fn self_param(&self) -> Option<SelfParam> { support::child(&self.syntax) }
2180 pub fn params(&self) -> AstChildren<Param> { support::children(&self.syntax) } 2180 pub fn params(&self) -> AstChildren<Param> { support::children(&self.syntax) }
2181 pub fn r_paren(&self) -> Option<RParen> { support::token(&self.syntax) } 2181 pub fn r_paren_token(&self) -> Option<RParen> { support::token(&self.syntax) }
2182} 2182}
2183#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2183#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2184pub struct SelfParam { 2184pub struct SelfParam {
@@ -2198,9 +2198,9 @@ impl AstNode for SelfParam {
2198impl ast::TypeAscriptionOwner for SelfParam {} 2198impl ast::TypeAscriptionOwner for SelfParam {}
2199impl ast::AttrsOwner for SelfParam {} 2199impl ast::AttrsOwner for SelfParam {}
2200impl SelfParam { 2200impl SelfParam {
2201 pub fn amp(&self) -> Option<Amp> { support::token(&self.syntax) } 2201 pub fn amp_token(&self) -> Option<Amp> { support::token(&self.syntax) }
2202 pub fn lifetime(&self) -> Option<Lifetime> { support::token(&self.syntax) } 2202 pub fn lifetime_token(&self) -> Option<Lifetime> { support::token(&self.syntax) }
2203 pub fn self_kw(&self) -> Option<SelfKw> { support::token(&self.syntax) } 2203 pub fn self_kw_token(&self) -> Option<SelfKw> { support::token(&self.syntax) }
2204} 2204}
2205#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2205#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2206pub struct Param { 2206pub struct Param {
@@ -2221,7 +2221,7 @@ impl ast::TypeAscriptionOwner for Param {}
2221impl ast::AttrsOwner for Param {} 2221impl ast::AttrsOwner for Param {}
2222impl Param { 2222impl Param {
2223 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) } 2223 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) }
2224 pub fn dotdotdot(&self) -> Option<Dotdotdot> { support::token(&self.syntax) } 2224 pub fn dotdotdot_token(&self) -> Option<Dotdotdot> { support::token(&self.syntax) }
2225} 2225}
2226#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2226#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2227pub struct UseItem { 2227pub struct UseItem {
@@ -2241,7 +2241,7 @@ impl AstNode for UseItem {
2241impl ast::AttrsOwner for UseItem {} 2241impl ast::AttrsOwner for UseItem {}
2242impl ast::VisibilityOwner for UseItem {} 2242impl ast::VisibilityOwner for UseItem {}
2243impl UseItem { 2243impl UseItem {
2244 pub fn use_kw(&self) -> Option<UseKw> { support::token(&self.syntax) } 2244 pub fn use_kw_token(&self) -> Option<UseKw> { support::token(&self.syntax) }
2245 pub fn use_tree(&self) -> Option<UseTree> { support::child(&self.syntax) } 2245 pub fn use_tree(&self) -> Option<UseTree> { support::child(&self.syntax) }
2246} 2246}
2247#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2247#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -2261,7 +2261,7 @@ impl AstNode for UseTree {
2261} 2261}
2262impl UseTree { 2262impl UseTree {
2263 pub fn path(&self) -> Option<Path> { support::child(&self.syntax) } 2263 pub fn path(&self) -> Option<Path> { support::child(&self.syntax) }
2264 pub fn star(&self) -> Option<Star> { support::token(&self.syntax) } 2264 pub fn star_token(&self) -> Option<Star> { support::token(&self.syntax) }
2265 pub fn use_tree_list(&self) -> Option<UseTreeList> { support::child(&self.syntax) } 2265 pub fn use_tree_list(&self) -> Option<UseTreeList> { support::child(&self.syntax) }
2266 pub fn alias(&self) -> Option<Alias> { support::child(&self.syntax) } 2266 pub fn alias(&self) -> Option<Alias> { support::child(&self.syntax) }
2267} 2267}
@@ -2282,7 +2282,7 @@ impl AstNode for Alias {
2282} 2282}
2283impl ast::NameOwner for Alias {} 2283impl ast::NameOwner for Alias {}
2284impl Alias { 2284impl Alias {
2285 pub fn as_kw(&self) -> Option<AsKw> { support::token(&self.syntax) } 2285 pub fn as_kw_token(&self) -> Option<AsKw> { support::token(&self.syntax) }
2286} 2286}
2287#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2287#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2288pub struct UseTreeList { 2288pub struct UseTreeList {
@@ -2300,9 +2300,9 @@ impl AstNode for UseTreeList {
2300 fn syntax(&self) -> &SyntaxNode { &self.syntax } 2300 fn syntax(&self) -> &SyntaxNode { &self.syntax }
2301} 2301}
2302impl UseTreeList { 2302impl UseTreeList {
2303 pub fn l_curly(&self) -> Option<LCurly> { support::token(&self.syntax) } 2303 pub fn l_curly_token(&self) -> Option<LCurly> { support::token(&self.syntax) }
2304 pub fn use_trees(&self) -> AstChildren<UseTree> { support::children(&self.syntax) } 2304 pub fn use_trees(&self) -> AstChildren<UseTree> { support::children(&self.syntax) }
2305 pub fn r_curly(&self) -> Option<RCurly> { support::token(&self.syntax) } 2305 pub fn r_curly_token(&self) -> Option<RCurly> { support::token(&self.syntax) }
2306} 2306}
2307#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2307#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2308pub struct ExternCrateItem { 2308pub struct ExternCrateItem {
@@ -2322,8 +2322,8 @@ impl AstNode for ExternCrateItem {
2322impl ast::AttrsOwner for ExternCrateItem {} 2322impl ast::AttrsOwner for ExternCrateItem {}
2323impl ast::VisibilityOwner for ExternCrateItem {} 2323impl ast::VisibilityOwner for ExternCrateItem {}
2324impl ExternCrateItem { 2324impl ExternCrateItem {
2325 pub fn extern_kw(&self) -> Option<ExternKw> { support::token(&self.syntax) } 2325 pub fn extern_kw_token(&self) -> Option<ExternKw> { support::token(&self.syntax) }
2326 pub fn crate_kw(&self) -> Option<CrateKw> { support::token(&self.syntax) } 2326 pub fn crate_kw_token(&self) -> Option<CrateKw> { support::token(&self.syntax) }
2327 pub fn name_ref(&self) -> Option<NameRef> { support::child(&self.syntax) } 2327 pub fn name_ref(&self) -> Option<NameRef> { support::child(&self.syntax) }
2328 pub fn alias(&self) -> Option<Alias> { support::child(&self.syntax) } 2328 pub fn alias(&self) -> Option<Alias> { support::child(&self.syntax) }
2329} 2329}
@@ -2343,9 +2343,9 @@ impl AstNode for ArgList {
2343 fn syntax(&self) -> &SyntaxNode { &self.syntax } 2343 fn syntax(&self) -> &SyntaxNode { &self.syntax }
2344} 2344}
2345impl ArgList { 2345impl ArgList {
2346 pub fn l_paren(&self) -> Option<LParen> { support::token(&self.syntax) } 2346 pub fn l_paren_token(&self) -> Option<LParen> { support::token(&self.syntax) }
2347 pub fn args(&self) -> AstChildren<Expr> { support::children(&self.syntax) } 2347 pub fn args(&self) -> AstChildren<Expr> { support::children(&self.syntax) }
2348 pub fn r_paren(&self) -> Option<RParen> { support::token(&self.syntax) } 2348 pub fn r_paren_token(&self) -> Option<RParen> { support::token(&self.syntax) }
2349} 2349}
2350#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2350#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2351pub struct Path { 2351pub struct Path {
@@ -2382,14 +2382,14 @@ impl AstNode for PathSegment {
2382 fn syntax(&self) -> &SyntaxNode { &self.syntax } 2382 fn syntax(&self) -> &SyntaxNode { &self.syntax }
2383} 2383}
2384impl PathSegment { 2384impl PathSegment {
2385 pub fn coloncolon(&self) -> Option<Coloncolon> { support::token(&self.syntax) } 2385 pub fn coloncolon_token(&self) -> Option<Coloncolon> { support::token(&self.syntax) }
2386 pub fn l_angle(&self) -> Option<LAngle> { support::token(&self.syntax) } 2386 pub fn l_angle_token(&self) -> Option<LAngle> { support::token(&self.syntax) }
2387 pub fn name_ref(&self) -> Option<NameRef> { support::child(&self.syntax) } 2387 pub fn name_ref(&self) -> Option<NameRef> { support::child(&self.syntax) }
2388 pub fn type_arg_list(&self) -> Option<TypeArgList> { support::child(&self.syntax) } 2388 pub fn type_arg_list(&self) -> Option<TypeArgList> { support::child(&self.syntax) }
2389 pub fn param_list(&self) -> Option<ParamList> { support::child(&self.syntax) } 2389 pub fn param_list(&self) -> Option<ParamList> { support::child(&self.syntax) }
2390 pub fn ret_type(&self) -> Option<RetType> { support::child(&self.syntax) } 2390 pub fn ret_type(&self) -> Option<RetType> { support::child(&self.syntax) }
2391 pub fn path_type(&self) -> Option<PathType> { support::child(&self.syntax) } 2391 pub fn path_type(&self) -> Option<PathType> { support::child(&self.syntax) }
2392 pub fn r_angle(&self) -> Option<RAngle> { support::token(&self.syntax) } 2392 pub fn r_angle_token(&self) -> Option<RAngle> { support::token(&self.syntax) }
2393} 2393}
2394#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2394#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2395pub struct TypeArgList { 2395pub struct TypeArgList {
@@ -2407,14 +2407,14 @@ impl AstNode for TypeArgList {
2407 fn syntax(&self) -> &SyntaxNode { &self.syntax } 2407 fn syntax(&self) -> &SyntaxNode { &self.syntax }
2408} 2408}
2409impl TypeArgList { 2409impl TypeArgList {
2410 pub fn coloncolon(&self) -> Option<Coloncolon> { support::token(&self.syntax) } 2410 pub fn coloncolon_token(&self) -> Option<Coloncolon> { support::token(&self.syntax) }
2411 pub fn l_angle(&self) -> Option<LAngle> { support::token(&self.syntax) } 2411 pub fn l_angle_token(&self) -> Option<LAngle> { support::token(&self.syntax) }
2412 pub fn generic_args(&self) -> AstChildren<GenericArg> { support::children(&self.syntax) } 2412 pub fn generic_args(&self) -> AstChildren<GenericArg> { support::children(&self.syntax) }
2413 pub fn type_args(&self) -> AstChildren<TypeArg> { support::children(&self.syntax) } 2413 pub fn type_args(&self) -> AstChildren<TypeArg> { support::children(&self.syntax) }
2414 pub fn lifetime_args(&self) -> AstChildren<LifetimeArg> { support::children(&self.syntax) } 2414 pub fn lifetime_args(&self) -> AstChildren<LifetimeArg> { support::children(&self.syntax) }
2415 pub fn assoc_type_args(&self) -> AstChildren<AssocTypeArg> { support::children(&self.syntax) } 2415 pub fn assoc_type_args(&self) -> AstChildren<AssocTypeArg> { support::children(&self.syntax) }
2416 pub fn const_args(&self) -> AstChildren<ConstArg> { support::children(&self.syntax) } 2416 pub fn const_args(&self) -> AstChildren<ConstArg> { support::children(&self.syntax) }
2417 pub fn r_angle(&self) -> Option<RAngle> { support::token(&self.syntax) } 2417 pub fn r_angle_token(&self) -> Option<RAngle> { support::token(&self.syntax) }
2418} 2418}
2419#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2419#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2420pub struct TypeArg { 2420pub struct TypeArg {
@@ -2452,7 +2452,7 @@ impl AstNode for AssocTypeArg {
2452impl ast::TypeBoundsOwner for AssocTypeArg {} 2452impl ast::TypeBoundsOwner for AssocTypeArg {}
2453impl AssocTypeArg { 2453impl AssocTypeArg {
2454 pub fn name_ref(&self) -> Option<NameRef> { support::child(&self.syntax) } 2454 pub fn name_ref(&self) -> Option<NameRef> { support::child(&self.syntax) }
2455 pub fn eq(&self) -> Option<Eq> { support::token(&self.syntax) } 2455 pub fn eq_token(&self) -> Option<Eq> { support::token(&self.syntax) }
2456 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) } 2456 pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) }
2457} 2457}
2458#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2458#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -2471,7 +2471,7 @@ impl AstNode for LifetimeArg {
2471 fn syntax(&self) -> &SyntaxNode { &self.syntax } 2471 fn syntax(&self) -> &SyntaxNode { &self.syntax }
2472} 2472}
2473impl LifetimeArg { 2473impl LifetimeArg {
2474 pub fn lifetime(&self) -> Option<Lifetime> { support::token(&self.syntax) } 2474 pub fn lifetime_token(&self) -> Option<Lifetime> { support::token(&self.syntax) }
2475} 2475}
2476#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2476#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2477pub struct ConstArg { 2477pub struct ConstArg {
@@ -2490,7 +2490,7 @@ impl AstNode for ConstArg {
2490} 2490}
2491impl ConstArg { 2491impl ConstArg {
2492 pub fn literal(&self) -> Option<Literal> { support::child(&self.syntax) } 2492 pub fn literal(&self) -> Option<Literal> { support::child(&self.syntax) }
2493 pub fn eq(&self) -> Option<Eq> { support::token(&self.syntax) } 2493 pub fn eq_token(&self) -> Option<Eq> { support::token(&self.syntax) }
2494 pub fn block_expr(&self) -> Option<BlockExpr> { support::child(&self.syntax) } 2494 pub fn block_expr(&self) -> Option<BlockExpr> { support::child(&self.syntax) }
2495} 2495}
2496#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2496#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -2548,9 +2548,9 @@ impl AstNode for ExternItemList {
2548impl ast::FnDefOwner for ExternItemList {} 2548impl ast::FnDefOwner for ExternItemList {}
2549impl ast::ModuleItemOwner for ExternItemList {} 2549impl ast::ModuleItemOwner for ExternItemList {}
2550impl ExternItemList { 2550impl ExternItemList {
2551 pub fn l_curly(&self) -> Option<LCurly> { support::token(&self.syntax) } 2551 pub fn l_curly_token(&self) -> Option<LCurly> { support::token(&self.syntax) }
2552 pub fn extern_items(&self) -> AstChildren<ExternItem> { support::children(&self.syntax) } 2552 pub fn extern_items(&self) -> AstChildren<ExternItem> { support::children(&self.syntax) }
2553 pub fn r_curly(&self) -> Option<RCurly> { support::token(&self.syntax) } 2553 pub fn r_curly_token(&self) -> Option<RCurly> { support::token(&self.syntax) }
2554} 2554}
2555#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2555#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2556pub struct ExternBlock { 2556pub struct ExternBlock {
@@ -2588,7 +2588,7 @@ impl AstNode for MetaItem {
2588} 2588}
2589impl MetaItem { 2589impl MetaItem {
2590 pub fn path(&self) -> Option<Path> { support::child(&self.syntax) } 2590 pub fn path(&self) -> Option<Path> { support::child(&self.syntax) }
2591 pub fn eq(&self) -> Option<Eq> { support::token(&self.syntax) } 2591 pub fn eq_token(&self) -> Option<Eq> { support::token(&self.syntax) }
2592 pub fn attr_input(&self) -> Option<AttrInput> { support::child(&self.syntax) } 2592 pub fn attr_input(&self) -> Option<AttrInput> { support::child(&self.syntax) }
2593 pub fn nested_meta_items(&self) -> AstChildren<MetaItem> { support::children(&self.syntax) } 2593 pub fn nested_meta_items(&self) -> AstChildren<MetaItem> { support::children(&self.syntax) }
2594} 2594}
diff --git a/xtask/src/codegen/gen_syntax.rs b/xtask/src/codegen/gen_syntax.rs
index 6657c9fc5..b5594e3a9 100644
--- a/xtask/src/codegen/gen_syntax.rs
+++ b/xtask/src/codegen/gen_syntax.rs
@@ -208,6 +208,7 @@ fn generate_nodes(kinds: KindsSrc<'_>, grammar: AstSrc<'_>) -> Result<String> {
208 FieldSrc::Optional(_) | FieldSrc::Shorthand => { 208 FieldSrc::Optional(_) | FieldSrc::Shorthand => {
209 let is_token = token_kinds.contains(&ty.to_string()); 209 let is_token = token_kinds.contains(&ty.to_string());
210 if is_token { 210 if is_token {
211 let method_name = format_ident!("{}_token", method_name);
211 quote! { 212 quote! {
212 pub fn #method_name(&self) -> Option<#ty> { 213 pub fn #method_name(&self) -> Option<#ty> {
213 support::token(&self.syntax) 214 support::token(&self.syntax)