Visit delim tokens
diff --git a/src/gen/fold.rs b/src/gen/fold.rs
index d9a1b92..05694a4 100644
--- a/src/gen/fold.rs
+++ b/src/gen/fold.rs
@@ -10,6 +10,7 @@
#![cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))]
use *;
+use token::{Brace, Bracket, Paren, Group};
use proc_macro2::Span;
use gen::helper::fold::*;
@@ -478,7 +479,7 @@
Attribute {
style: _visitor.fold_attr_style(_i . style),
pound_token: Token ! [ # ](tokens_helper(_visitor, &(_i . pound_token).0)),
- bracket_token: _i . bracket_token,
+ bracket_token: Bracket(tokens_helper(_visitor, &(_i . bracket_token).0)),
path: _visitor.fold_path(_i . path),
tts: _i . tts,
is_sugared_doc: _i . is_sugared_doc,
@@ -517,7 +518,7 @@
unsafety: _visitor.fold_unsafety(_i . unsafety),
abi: (_i . abi).map(|it| { _visitor.fold_abi(it) }),
fn_token: Token ! [ fn ](tokens_helper(_visitor, &(_i . fn_token).0)),
- paren_token: _i . paren_token,
+ paren_token: Paren(tokens_helper(_visitor, &(_i . paren_token).0)),
inputs: FoldHelper::lift(_i . inputs, |it| { _visitor.fold_bare_fn_arg(it) }),
variadic: (_i . variadic).map(|it| { Token ! [ ... ](tokens_helper(_visitor, &(it).0)) }),
output: _visitor.fold_return_type(_i . output),
@@ -689,7 +690,7 @@
# [ cfg ( feature = "full" ) ]
pub fn fold_block<V: Folder + ?Sized>(_visitor: &mut V, _i: Block) -> Block {
Block {
- brace_token: _i . brace_token,
+ brace_token: Brace(tokens_helper(_visitor, &(_i . brace_token).0)),
stmts: FoldHelper::lift(_i . stmts, |it| { _visitor.fold_stmt(it) }),
}
}
@@ -713,7 +714,7 @@
pub fn fold_body_enum<V: Folder + ?Sized>(_visitor: &mut V, _i: BodyEnum) -> BodyEnum {
BodyEnum {
enum_token: Token ! [ enum ](tokens_helper(_visitor, &(_i . enum_token).0)),
- brace_token: _i . brace_token,
+ brace_token: Brace(tokens_helper(_visitor, &(_i . brace_token).0)),
variants: FoldHelper::lift(_i . variants, |it| { _visitor.fold_variant(it) }),
}
}
@@ -811,7 +812,7 @@
pub fn fold_expr_array<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprArray) -> ExprArray {
ExprArray {
exprs: FoldHelper::lift(_i . exprs, |it| { _visitor.fold_expr(it) }),
- bracket_token: _i . bracket_token,
+ bracket_token: Bracket(tokens_helper(_visitor, &(_i . bracket_token).0)),
}
}
# [ cfg ( feature = "full" ) ]
@@ -864,7 +865,7 @@
ExprCall {
func: Box::new(_visitor.fold_expr(* _i . func)),
args: FoldHelper::lift(_i . args, |it| { _visitor.fold_expr(it) }),
- paren_token: _i . paren_token,
+ paren_token: Paren(tokens_helper(_visitor, &(_i . paren_token).0)),
}
}
@@ -925,7 +926,7 @@
pub fn fold_expr_group<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprGroup) -> ExprGroup {
ExprGroup {
expr: Box::new(_visitor.fold_expr(* _i . expr)),
- group_token: _i . group_token,
+ group_token: Group(tokens_helper(_visitor, &(_i . group_token).0)),
}
}
# [ cfg ( feature = "full" ) ]
@@ -964,7 +965,7 @@
ExprIndex {
expr: Box::new(_visitor.fold_expr(* _i . expr)),
index: Box::new(_visitor.fold_expr(* _i . index)),
- bracket_token: _i . bracket_token,
+ bracket_token: Bracket(tokens_helper(_visitor, &(_i . bracket_token).0)),
}
}
@@ -1181,7 +1182,7 @@
pub fn fold_expr_match<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprMatch) -> ExprMatch {
ExprMatch {
match_token: Token ! [ match ](tokens_helper(_visitor, &(_i . match_token).0)),
- brace_token: _i . brace_token,
+ brace_token: Brace(tokens_helper(_visitor, &(_i . brace_token).0)),
expr: Box::new(_visitor.fold_expr(* _i . expr)),
arms: FoldHelper::lift(_i . arms, |it| { _visitor.fold_arm(it) }),
}
@@ -1193,7 +1194,7 @@
method: _visitor.fold_ident(_i . method),
typarams: FoldHelper::lift(_i . typarams, |it| { _visitor.fold_type(it) }),
args: FoldHelper::lift(_i . args, |it| { _visitor.fold_expr(it) }),
- paren_token: _i . paren_token,
+ paren_token: Paren(tokens_helper(_visitor, &(_i . paren_token).0)),
dot_token: Token ! [ . ](tokens_helper(_visitor, &(_i . dot_token).0)),
lt_token: (_i . lt_token).map(|it| { Token ! [ < ](tokens_helper(_visitor, &(it).0)) }),
colon2_token: (_i . colon2_token).map(|it| { Token ! [ :: ](tokens_helper(_visitor, &(it).0)) }),
@@ -1204,7 +1205,7 @@
pub fn fold_expr_paren<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprParen) -> ExprParen {
ExprParen {
expr: Box::new(_visitor.fold_expr(* _i . expr)),
- paren_token: _i . paren_token,
+ paren_token: Paren(tokens_helper(_visitor, &(_i . paren_token).0)),
}
}
@@ -1225,7 +1226,7 @@
# [ cfg ( feature = "full" ) ]
pub fn fold_expr_repeat<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprRepeat) -> ExprRepeat {
ExprRepeat {
- bracket_token: _i . bracket_token,
+ bracket_token: Bracket(tokens_helper(_visitor, &(_i . bracket_token).0)),
semi_token: Token ! [ ; ](tokens_helper(_visitor, &(_i . semi_token).0)),
expr: Box::new(_visitor.fold_expr(* _i . expr)),
amt: Box::new(_visitor.fold_expr(* _i . amt)),
@@ -1245,7 +1246,7 @@
fields: FoldHelper::lift(_i . fields, |it| { _visitor.fold_field_value(it) }),
rest: (_i . rest).map(|it| { Box::new(_visitor.fold_expr(* it)) }),
dot2_token: (_i . dot2_token).map(|it| { Token ! [ .. ](tokens_helper(_visitor, &(it).0)) }),
- brace_token: _i . brace_token,
+ brace_token: Brace(tokens_helper(_visitor, &(_i . brace_token).0)),
}
}
# [ cfg ( feature = "full" ) ]
@@ -1259,7 +1260,7 @@
pub fn fold_expr_tuple<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprTuple) -> ExprTuple {
ExprTuple {
args: FoldHelper::lift(_i . args, |it| { _visitor.fold_expr(it) }),
- paren_token: _i . paren_token,
+ paren_token: Paren(tokens_helper(_visitor, &(_i . paren_token).0)),
}
}
@@ -1387,7 +1388,7 @@
pub fn fold_fn_decl<V: Folder + ?Sized>(_visitor: &mut V, _i: FnDecl) -> FnDecl {
FnDecl {
fn_token: Token ! [ fn ](tokens_helper(_visitor, &(_i . fn_token).0)),
- paren_token: _i . paren_token,
+ paren_token: Paren(tokens_helper(_visitor, &(_i . paren_token).0)),
inputs: FoldHelper::lift(_i . inputs, |it| { _visitor.fold_fn_arg(it) }),
output: _visitor.fold_return_type(_i . output),
generics: _visitor.fold_generics(_i . generics),
@@ -1728,7 +1729,7 @@
path: _visitor.fold_path(_i . path),
for_token: Token ! [ for ](tokens_helper(_visitor, &(_i . for_token).0)),
dot2_token: Token ! [ .. ](tokens_helper(_visitor, &(_i . dot2_token).0)),
- brace_token: _i . brace_token,
+ brace_token: Brace(tokens_helper(_visitor, &(_i . brace_token).0)),
}
}
# [ cfg ( feature = "full" ) ]
@@ -1739,7 +1740,7 @@
enum_token: Token ! [ enum ](tokens_helper(_visitor, &(_i . enum_token).0)),
ident: _visitor.fold_ident(_i . ident),
generics: _visitor.fold_generics(_i . generics),
- brace_token: _i . brace_token,
+ brace_token: Brace(tokens_helper(_visitor, &(_i . brace_token).0)),
variants: FoldHelper::lift(_i . variants, |it| { _visitor.fold_variant(it) }),
}
}
@@ -1776,7 +1777,7 @@
ItemForeignMod {
attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
abi: _visitor.fold_abi(_i . abi),
- brace_token: _i . brace_token,
+ brace_token: Brace(tokens_helper(_visitor, &(_i . brace_token).0)),
items: FoldHelper::lift(_i . items, |it| { _visitor.fold_foreign_item(it) }),
}
}
@@ -1794,7 +1795,7 @@
Token ! [ for ](tokens_helper(_visitor, &(( it ) . 2).0)),
) }),
self_ty: Box::new(_visitor.fold_type(* _i . self_ty)),
- brace_token: _i . brace_token,
+ brace_token: Brace(tokens_helper(_visitor, &(_i . brace_token).0)),
items: FoldHelper::lift(_i . items, |it| { _visitor.fold_impl_item(it) }),
}
}
@@ -1826,7 +1827,7 @@
mod_token: Token ! [ mod ](tokens_helper(_visitor, &(_i . mod_token).0)),
ident: _visitor.fold_ident(_i . ident),
content: (_i . content).map(|it| { (
- ( it ) . 0,
+ Brace(tokens_helper(_visitor, &(( it ) . 0).0)),
FoldHelper::lift(( it ) . 1, |it| { _visitor.fold_item(it) }),
) }),
semi: (_i . semi).map(|it| { Token ! [ ; ](tokens_helper(_visitor, &(it).0)) }),
@@ -1871,7 +1872,7 @@
generics: _visitor.fold_generics(_i . generics),
colon_token: (_i . colon_token).map(|it| { Token ! [ : ](tokens_helper(_visitor, &(it).0)) }),
supertraits: FoldHelper::lift(_i . supertraits, |it| { _visitor.fold_type_param_bound(it) }),
- brace_token: _i . brace_token,
+ brace_token: Brace(tokens_helper(_visitor, &(_i . brace_token).0)),
items: FoldHelper::lift(_i . items, |it| { _visitor.fold_trait_item(it) }),
}
}
@@ -1996,7 +1997,7 @@
pub fn fold_meta_item_list<V: Folder + ?Sized>(_visitor: &mut V, _i: MetaItemList) -> MetaItemList {
MetaItemList {
ident: _visitor.fold_ident(_i . ident),
- paren_token: _i . paren_token,
+ paren_token: Paren(tokens_helper(_visitor, &(_i . paren_token).0)),
nested: FoldHelper::lift(_i . nested, |it| { _visitor.fold_nested_meta_item(it) }),
}
}
@@ -2056,7 +2057,7 @@
pub fn fold_parenthesized_generic_arguments<V: Folder + ?Sized>(_visitor: &mut V, _i: ParenthesizedGenericArguments) -> ParenthesizedGenericArguments {
ParenthesizedGenericArguments {
- paren_token: _i . paren_token,
+ paren_token: Paren(tokens_helper(_visitor, &(_i . paren_token).0)),
inputs: FoldHelper::lift(_i . inputs, |it| { _visitor.fold_type(it) }),
output: _visitor.fold_return_type(_i . output),
}
@@ -2180,7 +2181,7 @@
back: FoldHelper::lift(_i . back, |it| { _visitor.fold_pat(it) }),
dot2_token: (_i . dot2_token).map(|it| { Token ! [ .. ](tokens_helper(_visitor, &(it).0)) }),
comma_token: (_i . comma_token).map(|it| { Token ! [ , ](tokens_helper(_visitor, &(it).0)) }),
- bracket_token: _i . bracket_token,
+ bracket_token: Bracket(tokens_helper(_visitor, &(_i . bracket_token).0)),
}
}
# [ cfg ( feature = "full" ) ]
@@ -2188,7 +2189,7 @@
PatStruct {
path: _visitor.fold_path(_i . path),
fields: FoldHelper::lift(_i . fields, |it| { _visitor.fold_field_pat(it) }),
- brace_token: _i . brace_token,
+ brace_token: Brace(tokens_helper(_visitor, &(_i . brace_token).0)),
dot2_token: (_i . dot2_token).map(|it| { Token ! [ .. ](tokens_helper(_visitor, &(it).0)) }),
}
}
@@ -2197,7 +2198,7 @@
PatTuple {
pats: FoldHelper::lift(_i . pats, |it| { _visitor.fold_pat(it) }),
dots_pos: _i . dots_pos,
- paren_token: _i . paren_token,
+ paren_token: Paren(tokens_helper(_visitor, &(_i . paren_token).0)),
dot2_token: (_i . dot2_token).map(|it| { Token ! [ .. ](tokens_helper(_visitor, &(it).0)) }),
comma_token: (_i . comma_token).map(|it| { Token ! [ , ](tokens_helper(_visitor, &(it).0)) }),
}
@@ -2488,7 +2489,7 @@
pub fn fold_type_array<V: Folder + ?Sized>(_visitor: &mut V, _i: TypeArray) -> TypeArray {
TypeArray {
- bracket_token: _i . bracket_token,
+ bracket_token: Bracket(tokens_helper(_visitor, &(_i . bracket_token).0)),
ty: Box::new(_visitor.fold_type(* _i . ty)),
semi_token: Token ! [ ; ](tokens_helper(_visitor, &(_i . semi_token).0)),
amt: _visitor.fold_expr(_i . amt),
@@ -2511,7 +2512,7 @@
pub fn fold_type_group<V: Folder + ?Sized>(_visitor: &mut V, _i: TypeGroup) -> TypeGroup {
TypeGroup {
- group_token: _i . group_token,
+ group_token: Group(tokens_helper(_visitor, &(_i . group_token).0)),
ty: Box::new(_visitor.fold_type(* _i . ty)),
}
}
@@ -2565,7 +2566,7 @@
pub fn fold_type_paren<V: Folder + ?Sized>(_visitor: &mut V, _i: TypeParen) -> TypeParen {
TypeParen {
- paren_token: _i . paren_token,
+ paren_token: Paren(tokens_helper(_visitor, &(_i . paren_token).0)),
ty: Box::new(_visitor.fold_type(* _i . ty)),
}
}
@@ -2596,7 +2597,7 @@
pub fn fold_type_slice<V: Folder + ?Sized>(_visitor: &mut V, _i: TypeSlice) -> TypeSlice {
TypeSlice {
ty: Box::new(_visitor.fold_type(* _i . ty)),
- bracket_token: _i . bracket_token,
+ bracket_token: Bracket(tokens_helper(_visitor, &(_i . bracket_token).0)),
}
}
@@ -2609,7 +2610,7 @@
pub fn fold_type_tuple<V: Folder + ?Sized>(_visitor: &mut V, _i: TypeTuple) -> TypeTuple {
TypeTuple {
- paren_token: _i . paren_token,
+ paren_token: Paren(tokens_helper(_visitor, &(_i . paren_token).0)),
tys: FoldHelper::lift(_i . tys, |it| { _visitor.fold_type(it) }),
}
}
@@ -2655,7 +2656,7 @@
# [ cfg ( feature = "full" ) ]
pub fn fold_use_list<V: Folder + ?Sized>(_visitor: &mut V, _i: UseList) -> UseList {
UseList {
- brace_token: _i . brace_token,
+ brace_token: Brace(tokens_helper(_visitor, &(_i . brace_token).0)),
items: FoldHelper::lift(_i . items, |it| { _visitor.fold_use_tree(it) }),
}
}
@@ -2707,13 +2708,13 @@
Struct(_binding_0, _binding_1, ) => {
Struct (
FoldHelper::lift(_binding_0, |it| { _visitor.fold_field(it) }),
- _binding_1,
+ Brace(tokens_helper(_visitor, &(_binding_1).0)),
)
}
Tuple(_binding_0, _binding_1, ) => {
Tuple (
FoldHelper::lift(_binding_0, |it| { _visitor.fold_field(it) }),
- _binding_1,
+ Paren(tokens_helper(_visitor, &(_binding_1).0)),
)
}
Unit => { Unit }
@@ -2723,7 +2724,7 @@
pub fn fold_vis_crate<V: Folder + ?Sized>(_visitor: &mut V, _i: VisCrate) -> VisCrate {
VisCrate {
pub_token: Token ! [ pub ](tokens_helper(_visitor, &(_i . pub_token).0)),
- paren_token: _i . paren_token,
+ paren_token: Paren(tokens_helper(_visitor, &(_i . paren_token).0)),
crate_token: Token ! [ crate ](tokens_helper(_visitor, &(_i . crate_token).0)),
}
}
@@ -2742,7 +2743,7 @@
pub fn fold_vis_restricted<V: Folder + ?Sized>(_visitor: &mut V, _i: VisRestricted) -> VisRestricted {
VisRestricted {
pub_token: Token ! [ pub ](tokens_helper(_visitor, &(_i . pub_token).0)),
- paren_token: _i . paren_token,
+ paren_token: Paren(tokens_helper(_visitor, &(_i . paren_token).0)),
in_token: (_i . in_token).map(|it| { Token ! [ in ](tokens_helper(_visitor, &(it).0)) }),
path: Box::new(_visitor.fold_path(* _i . path)),
}
diff --git a/src/gen/visit.rs b/src/gen/visit.rs
index 5c1a7d6..12fd3b6 100644
--- a/src/gen/visit.rs
+++ b/src/gen/visit.rs
@@ -458,7 +458,7 @@
pub fn visit_attribute<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Attribute) {
_visitor.visit_attr_style(& _i . style);
tokens_helper(_visitor, &(& _i . pound_token).0);
- // Skipped field _i . bracket_token;
+ tokens_helper(_visitor, &(& _i . bracket_token).0);
_visitor.visit_path(& _i . path);
// Skipped field _i . tts;
// Skipped field _i . is_sugared_doc;
@@ -489,7 +489,7 @@
_visitor.visit_unsafety(& _i . unsafety);
if let Some(ref it) = _i . abi { _visitor.visit_abi(it) };
tokens_helper(_visitor, &(& _i . fn_token).0);
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &(& _i . paren_token).0);
for el in & _i . inputs { let it = el.item(); _visitor.visit_bare_fn_arg(it) };
if let Some(ref it) = _i . variadic { tokens_helper(_visitor, &(it).0) };
_visitor.visit_return_type(& _i . output);
@@ -599,7 +599,7 @@
}
# [ cfg ( feature = "full" ) ]
pub fn visit_block<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Block) {
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &(& _i . brace_token).0);
for it in & _i . stmts { _visitor.visit_stmt(it) };
}
@@ -617,7 +617,7 @@
pub fn visit_body_enum<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast BodyEnum) {
tokens_helper(_visitor, &(& _i . enum_token).0);
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &(& _i . brace_token).0);
for el in & _i . variants { let it = el.item(); _visitor.visit_variant(it) };
}
@@ -695,7 +695,7 @@
# [ cfg ( feature = "full" ) ]
pub fn visit_expr_array<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprArray) {
for el in & _i . exprs { let it = el.item(); _visitor.visit_expr(it) };
- // Skipped field _i . bracket_token;
+ tokens_helper(_visitor, &(& _i . bracket_token).0);
}
# [ cfg ( feature = "full" ) ]
pub fn visit_expr_assign<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprAssign) {
@@ -734,7 +734,7 @@
pub fn visit_expr_call<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprCall) {
_visitor.visit_expr(& * _i . func);
for el in & _i . args { let it = el.item(); _visitor.visit_expr(it) };
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &(& _i . paren_token).0);
}
pub fn visit_expr_cast<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprCast) {
@@ -781,7 +781,7 @@
pub fn visit_expr_group<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprGroup) {
_visitor.visit_expr(& * _i . expr);
- // Skipped field _i . group_token;
+ tokens_helper(_visitor, &(& _i . group_token).0);
}
# [ cfg ( feature = "full" ) ]
pub fn visit_expr_if<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprIf) {
@@ -812,7 +812,7 @@
pub fn visit_expr_index<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprIndex) {
_visitor.visit_expr(& * _i . expr);
_visitor.visit_expr(& * _i . index);
- // Skipped field _i . bracket_token;
+ tokens_helper(_visitor, &(& _i . bracket_token).0);
}
pub fn visit_expr_kind<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprKind) {
@@ -947,7 +947,7 @@
# [ cfg ( feature = "full" ) ]
pub fn visit_expr_match<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprMatch) {
tokens_helper(_visitor, &(& _i . match_token).0);
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &(& _i . brace_token).0);
_visitor.visit_expr(& * _i . expr);
for it in & _i . arms { _visitor.visit_arm(it) };
}
@@ -957,7 +957,7 @@
_visitor.visit_ident(& _i . method);
for el in & _i . typarams { let it = el.item(); _visitor.visit_type(it) };
for el in & _i . args { let it = el.item(); _visitor.visit_expr(it) };
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &(& _i . paren_token).0);
tokens_helper(_visitor, &(& _i . dot_token).0);
if let Some(ref it) = _i . lt_token { tokens_helper(_visitor, &(it).0) };
if let Some(ref it) = _i . colon2_token { tokens_helper(_visitor, &(it).0) };
@@ -966,7 +966,7 @@
pub fn visit_expr_paren<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprParen) {
_visitor.visit_expr(& * _i . expr);
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &(& _i . paren_token).0);
}
pub fn visit_expr_path<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprPath) {
@@ -981,7 +981,7 @@
}
# [ cfg ( feature = "full" ) ]
pub fn visit_expr_repeat<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprRepeat) {
- // Skipped field _i . bracket_token;
+ tokens_helper(_visitor, &(& _i . bracket_token).0);
tokens_helper(_visitor, &(& _i . semi_token).0);
_visitor.visit_expr(& * _i . expr);
_visitor.visit_expr(& * _i . amt);
@@ -997,7 +997,7 @@
for el in & _i . fields { let it = el.item(); _visitor.visit_field_value(it) };
if let Some(ref it) = _i . rest { _visitor.visit_expr(& * * it) };
if let Some(ref it) = _i . dot2_token { tokens_helper(_visitor, &(it).0) };
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &(& _i . brace_token).0);
}
# [ cfg ( feature = "full" ) ]
pub fn visit_expr_try<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprTry) {
@@ -1007,7 +1007,7 @@
# [ cfg ( feature = "full" ) ]
pub fn visit_expr_tuple<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprTuple) {
for el in & _i . args { let it = el.item(); _visitor.visit_expr(it) };
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &(& _i . paren_token).0);
}
pub fn visit_expr_type<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprType) {
@@ -1103,7 +1103,7 @@
# [ cfg ( feature = "full" ) ]
pub fn visit_fn_decl<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast FnDecl) {
tokens_helper(_visitor, &(& _i . fn_token).0);
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &(& _i . paren_token).0);
for el in & _i . inputs { let it = el.item(); _visitor.visit_fn_arg(it) };
_visitor.visit_return_type(& _i . output);
_visitor.visit_generics(& _i . generics);
@@ -1354,7 +1354,7 @@
_visitor.visit_path(& _i . path);
tokens_helper(_visitor, &(& _i . for_token).0);
tokens_helper(_visitor, &(& _i . dot2_token).0);
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &(& _i . brace_token).0);
}
# [ cfg ( feature = "full" ) ]
pub fn visit_item_enum<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemEnum) {
@@ -1363,7 +1363,7 @@
tokens_helper(_visitor, &(& _i . enum_token).0);
_visitor.visit_ident(& _i . ident);
_visitor.visit_generics(& _i . generics);
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &(& _i . brace_token).0);
for el in & _i . variants { let it = el.item(); _visitor.visit_variant(it) };
}
# [ cfg ( feature = "full" ) ]
@@ -1394,7 +1394,7 @@
pub fn visit_item_foreign_mod<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemForeignMod) {
for it in & _i . attrs { _visitor.visit_attribute(it) };
_visitor.visit_abi(& _i . abi);
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &(& _i . brace_token).0);
for it in & _i . items { _visitor.visit_foreign_item(it) };
}
# [ cfg ( feature = "full" ) ]
@@ -1410,7 +1410,7 @@
tokens_helper(_visitor, &(& ( it ) . 2).0);
};
_visitor.visit_type(& * _i . self_ty);
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &(& _i . brace_token).0);
for it in & _i . items { _visitor.visit_impl_item(it) };
}
# [ cfg ( feature = "full" ) ]
@@ -1436,7 +1436,7 @@
tokens_helper(_visitor, &(& _i . mod_token).0);
_visitor.visit_ident(& _i . ident);
if let Some(ref it) = _i . content {
- // Skipped field ( it ) . 0;
+ tokens_helper(_visitor, &(& ( it ) . 0).0);
for it in & ( it ) . 1 { _visitor.visit_item(it) };
};
if let Some(ref it) = _i . semi { tokens_helper(_visitor, &(it).0) };
@@ -1475,7 +1475,7 @@
_visitor.visit_generics(& _i . generics);
if let Some(ref it) = _i . colon_token { tokens_helper(_visitor, &(it).0) };
for el in & _i . supertraits { let it = el.item(); _visitor.visit_type_param_bound(it) };
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &(& _i . brace_token).0);
for it in & _i . items { _visitor.visit_trait_item(it) };
}
# [ cfg ( feature = "full" ) ]
@@ -1572,7 +1572,7 @@
pub fn visit_meta_item_list<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast MetaItemList) {
_visitor.visit_ident(& _i . ident);
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &(& _i . paren_token).0);
for el in & _i . nested { let it = el.item(); _visitor.visit_nested_meta_item(it) };
}
@@ -1618,7 +1618,7 @@
}
pub fn visit_parenthesized_generic_arguments<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ParenthesizedGenericArguments) {
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &(& _i . paren_token).0);
for el in & _i . inputs { let it = el.item(); _visitor.visit_type(it) };
_visitor.visit_return_type(& _i . output);
}
@@ -1704,20 +1704,20 @@
for el in & _i . back { let it = el.item(); _visitor.visit_pat(it) };
if let Some(ref it) = _i . dot2_token { tokens_helper(_visitor, &(it).0) };
if let Some(ref it) = _i . comma_token { tokens_helper(_visitor, &(it).0) };
- // Skipped field _i . bracket_token;
+ tokens_helper(_visitor, &(& _i . bracket_token).0);
}
# [ cfg ( feature = "full" ) ]
pub fn visit_pat_struct<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PatStruct) {
_visitor.visit_path(& _i . path);
for el in & _i . fields { let it = el.item(); _visitor.visit_field_pat(it) };
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &(& _i . brace_token).0);
if let Some(ref it) = _i . dot2_token { tokens_helper(_visitor, &(it).0) };
}
# [ cfg ( feature = "full" ) ]
pub fn visit_pat_tuple<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PatTuple) {
for el in & _i . pats { let it = el.item(); _visitor.visit_pat(it) };
// Skipped field _i . dots_pos;
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &(& _i . paren_token).0);
if let Some(ref it) = _i . dot2_token { tokens_helper(_visitor, &(it).0) };
if let Some(ref it) = _i . comma_token { tokens_helper(_visitor, &(it).0) };
}
@@ -1929,7 +1929,7 @@
}
pub fn visit_type_array<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeArray) {
- // Skipped field _i . bracket_token;
+ tokens_helper(_visitor, &(& _i . bracket_token).0);
_visitor.visit_type(& * _i . ty);
tokens_helper(_visitor, &(& _i . semi_token).0);
_visitor.visit_expr(& _i . amt);
@@ -1946,7 +1946,7 @@
}
pub fn visit_type_group<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeGroup) {
- // Skipped field _i . group_token;
+ tokens_helper(_visitor, &(& _i . group_token).0);
_visitor.visit_type(& * _i . ty);
}
@@ -1986,7 +1986,7 @@
}
pub fn visit_type_paren<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeParen) {
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &(& _i . paren_token).0);
_visitor.visit_type(& * _i . ty);
}
@@ -2009,7 +2009,7 @@
pub fn visit_type_slice<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeSlice) {
_visitor.visit_type(& * _i . ty);
- // Skipped field _i . bracket_token;
+ tokens_helper(_visitor, &(& _i . bracket_token).0);
}
pub fn visit_type_trait_object<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeTraitObject) {
@@ -2018,7 +2018,7 @@
}
pub fn visit_type_tuple<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeTuple) {
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &(& _i . paren_token).0);
for el in & _i . tys { let it = el.item(); _visitor.visit_type(it) };
}
@@ -2052,7 +2052,7 @@
}
# [ cfg ( feature = "full" ) ]
pub fn visit_use_list<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast UseList) {
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &(& _i . brace_token).0);
for el in & _i . items { let it = el.item(); _visitor.visit_use_tree(it) };
}
# [ cfg ( feature = "full" ) ]
@@ -2092,11 +2092,11 @@
match *_i {
Struct(ref _binding_0, ref _binding_1, ) => {
for el in _binding_0 { let it = el.item(); _visitor.visit_field(it) };
- // Skipped field _binding_1;
+ tokens_helper(_visitor, &(_binding_1).0);
}
Tuple(ref _binding_0, ref _binding_1, ) => {
for el in _binding_0 { let it = el.item(); _visitor.visit_field(it) };
- // Skipped field _binding_1;
+ tokens_helper(_visitor, &(_binding_1).0);
}
Unit => { }
}
@@ -2104,7 +2104,7 @@
pub fn visit_vis_crate<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast VisCrate) {
tokens_helper(_visitor, &(& _i . pub_token).0);
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &(& _i . paren_token).0);
tokens_helper(_visitor, &(& _i . crate_token).0);
}
@@ -2117,7 +2117,7 @@
pub fn visit_vis_restricted<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast VisRestricted) {
tokens_helper(_visitor, &(& _i . pub_token).0);
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &(& _i . paren_token).0);
if let Some(ref it) = _i . in_token { tokens_helper(_visitor, &(it).0) };
_visitor.visit_path(& * _i . path);
}
diff --git a/src/gen/visit_mut.rs b/src/gen/visit_mut.rs
index 81a0a11..1f06b98 100644
--- a/src/gen/visit_mut.rs
+++ b/src/gen/visit_mut.rs
@@ -458,7 +458,7 @@
pub fn visit_attribute_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut Attribute) {
_visitor.visit_attr_style_mut(& mut _i . style);
tokens_helper(_visitor, &mut (& mut _i . pound_token).0);
- // Skipped field _i . bracket_token;
+ tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
_visitor.visit_path_mut(& mut _i . path);
// Skipped field _i . tts;
// Skipped field _i . is_sugared_doc;
@@ -489,7 +489,7 @@
_visitor.visit_unsafety_mut(& mut _i . unsafety);
if let Some(ref mut it) = _i . abi { _visitor.visit_abi_mut(it) };
tokens_helper(_visitor, &mut (& mut _i . fn_token).0);
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
for mut el in & mut _i . inputs { let it = el.item_mut(); _visitor.visit_bare_fn_arg_mut(it) };
if let Some(ref mut it) = _i . variadic { tokens_helper(_visitor, &mut (it).0) };
_visitor.visit_return_type_mut(& mut _i . output);
@@ -599,7 +599,7 @@
}
# [ cfg ( feature = "full" ) ]
pub fn visit_block_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut Block) {
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
for it in & mut _i . stmts { _visitor.visit_stmt_mut(it) };
}
@@ -617,7 +617,7 @@
pub fn visit_body_enum_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut BodyEnum) {
tokens_helper(_visitor, &mut (& mut _i . enum_token).0);
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
for mut el in & mut _i . variants { let it = el.item_mut(); _visitor.visit_variant_mut(it) };
}
@@ -695,7 +695,7 @@
# [ cfg ( feature = "full" ) ]
pub fn visit_expr_array_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ExprArray) {
for mut el in & mut _i . exprs { let it = el.item_mut(); _visitor.visit_expr_mut(it) };
- // Skipped field _i . bracket_token;
+ tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
}
# [ cfg ( feature = "full" ) ]
pub fn visit_expr_assign_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ExprAssign) {
@@ -734,7 +734,7 @@
pub fn visit_expr_call_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ExprCall) {
_visitor.visit_expr_mut(& mut * _i . func);
for mut el in & mut _i . args { let it = el.item_mut(); _visitor.visit_expr_mut(it) };
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
}
pub fn visit_expr_cast_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ExprCast) {
@@ -781,7 +781,7 @@
pub fn visit_expr_group_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ExprGroup) {
_visitor.visit_expr_mut(& mut * _i . expr);
- // Skipped field _i . group_token;
+ tokens_helper(_visitor, &mut (& mut _i . group_token).0);
}
# [ cfg ( feature = "full" ) ]
pub fn visit_expr_if_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ExprIf) {
@@ -812,7 +812,7 @@
pub fn visit_expr_index_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ExprIndex) {
_visitor.visit_expr_mut(& mut * _i . expr);
_visitor.visit_expr_mut(& mut * _i . index);
- // Skipped field _i . bracket_token;
+ tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
}
pub fn visit_expr_kind_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ExprKind) {
@@ -947,7 +947,7 @@
# [ cfg ( feature = "full" ) ]
pub fn visit_expr_match_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ExprMatch) {
tokens_helper(_visitor, &mut (& mut _i . match_token).0);
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
_visitor.visit_expr_mut(& mut * _i . expr);
for it in & mut _i . arms { _visitor.visit_arm_mut(it) };
}
@@ -957,7 +957,7 @@
_visitor.visit_ident_mut(& mut _i . method);
for mut el in & mut _i . typarams { let it = el.item_mut(); _visitor.visit_type_mut(it) };
for mut el in & mut _i . args { let it = el.item_mut(); _visitor.visit_expr_mut(it) };
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
tokens_helper(_visitor, &mut (& mut _i . dot_token).0);
if let Some(ref mut it) = _i . lt_token { tokens_helper(_visitor, &mut (it).0) };
if let Some(ref mut it) = _i . colon2_token { tokens_helper(_visitor, &mut (it).0) };
@@ -966,7 +966,7 @@
pub fn visit_expr_paren_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ExprParen) {
_visitor.visit_expr_mut(& mut * _i . expr);
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
}
pub fn visit_expr_path_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ExprPath) {
@@ -981,7 +981,7 @@
}
# [ cfg ( feature = "full" ) ]
pub fn visit_expr_repeat_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ExprRepeat) {
- // Skipped field _i . bracket_token;
+ tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
_visitor.visit_expr_mut(& mut * _i . expr);
_visitor.visit_expr_mut(& mut * _i . amt);
@@ -997,7 +997,7 @@
for mut el in & mut _i . fields { let it = el.item_mut(); _visitor.visit_field_value_mut(it) };
if let Some(ref mut it) = _i . rest { _visitor.visit_expr_mut(& mut * * it) };
if let Some(ref mut it) = _i . dot2_token { tokens_helper(_visitor, &mut (it).0) };
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
}
# [ cfg ( feature = "full" ) ]
pub fn visit_expr_try_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ExprTry) {
@@ -1007,7 +1007,7 @@
# [ cfg ( feature = "full" ) ]
pub fn visit_expr_tuple_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ExprTuple) {
for mut el in & mut _i . args { let it = el.item_mut(); _visitor.visit_expr_mut(it) };
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
}
pub fn visit_expr_type_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ExprType) {
@@ -1103,7 +1103,7 @@
# [ cfg ( feature = "full" ) ]
pub fn visit_fn_decl_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut FnDecl) {
tokens_helper(_visitor, &mut (& mut _i . fn_token).0);
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
for mut el in & mut _i . inputs { let it = el.item_mut(); _visitor.visit_fn_arg_mut(it) };
_visitor.visit_return_type_mut(& mut _i . output);
_visitor.visit_generics_mut(& mut _i . generics);
@@ -1354,7 +1354,7 @@
_visitor.visit_path_mut(& mut _i . path);
tokens_helper(_visitor, &mut (& mut _i . for_token).0);
tokens_helper(_visitor, &mut (& mut _i . dot2_token).0);
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
}
# [ cfg ( feature = "full" ) ]
pub fn visit_item_enum_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ItemEnum) {
@@ -1363,7 +1363,7 @@
tokens_helper(_visitor, &mut (& mut _i . enum_token).0);
_visitor.visit_ident_mut(& mut _i . ident);
_visitor.visit_generics_mut(& mut _i . generics);
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
for mut el in & mut _i . variants { let it = el.item_mut(); _visitor.visit_variant_mut(it) };
}
# [ cfg ( feature = "full" ) ]
@@ -1394,7 +1394,7 @@
pub fn visit_item_foreign_mod_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ItemForeignMod) {
for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
_visitor.visit_abi_mut(& mut _i . abi);
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
for it in & mut _i . items { _visitor.visit_foreign_item_mut(it) };
}
# [ cfg ( feature = "full" ) ]
@@ -1410,7 +1410,7 @@
tokens_helper(_visitor, &mut (& mut ( it ) . 2).0);
};
_visitor.visit_type_mut(& mut * _i . self_ty);
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
for it in & mut _i . items { _visitor.visit_impl_item_mut(it) };
}
# [ cfg ( feature = "full" ) ]
@@ -1436,7 +1436,7 @@
tokens_helper(_visitor, &mut (& mut _i . mod_token).0);
_visitor.visit_ident_mut(& mut _i . ident);
if let Some(ref mut it) = _i . content {
- // Skipped field ( it ) . 0;
+ tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
for it in & mut ( it ) . 1 { _visitor.visit_item_mut(it) };
};
if let Some(ref mut it) = _i . semi { tokens_helper(_visitor, &mut (it).0) };
@@ -1475,7 +1475,7 @@
_visitor.visit_generics_mut(& mut _i . generics);
if let Some(ref mut it) = _i . colon_token { tokens_helper(_visitor, &mut (it).0) };
for mut el in & mut _i . supertraits { let it = el.item_mut(); _visitor.visit_type_param_bound_mut(it) };
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
for it in & mut _i . items { _visitor.visit_trait_item_mut(it) };
}
# [ cfg ( feature = "full" ) ]
@@ -1572,7 +1572,7 @@
pub fn visit_meta_item_list_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut MetaItemList) {
_visitor.visit_ident_mut(& mut _i . ident);
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
for mut el in & mut _i . nested { let it = el.item_mut(); _visitor.visit_nested_meta_item_mut(it) };
}
@@ -1618,7 +1618,7 @@
}
pub fn visit_parenthesized_generic_arguments_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ParenthesizedGenericArguments) {
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
for mut el in & mut _i . inputs { let it = el.item_mut(); _visitor.visit_type_mut(it) };
_visitor.visit_return_type_mut(& mut _i . output);
}
@@ -1704,20 +1704,20 @@
for mut el in & mut _i . back { let it = el.item_mut(); _visitor.visit_pat_mut(it) };
if let Some(ref mut it) = _i . dot2_token { tokens_helper(_visitor, &mut (it).0) };
if let Some(ref mut it) = _i . comma_token { tokens_helper(_visitor, &mut (it).0) };
- // Skipped field _i . bracket_token;
+ tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
}
# [ cfg ( feature = "full" ) ]
pub fn visit_pat_struct_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut PatStruct) {
_visitor.visit_path_mut(& mut _i . path);
for mut el in & mut _i . fields { let it = el.item_mut(); _visitor.visit_field_pat_mut(it) };
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
if let Some(ref mut it) = _i . dot2_token { tokens_helper(_visitor, &mut (it).0) };
}
# [ cfg ( feature = "full" ) ]
pub fn visit_pat_tuple_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut PatTuple) {
for mut el in & mut _i . pats { let it = el.item_mut(); _visitor.visit_pat_mut(it) };
// Skipped field _i . dots_pos;
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
if let Some(ref mut it) = _i . dot2_token { tokens_helper(_visitor, &mut (it).0) };
if let Some(ref mut it) = _i . comma_token { tokens_helper(_visitor, &mut (it).0) };
}
@@ -1929,7 +1929,7 @@
}
pub fn visit_type_array_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut TypeArray) {
- // Skipped field _i . bracket_token;
+ tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
_visitor.visit_type_mut(& mut * _i . ty);
tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
_visitor.visit_expr_mut(& mut _i . amt);
@@ -1946,7 +1946,7 @@
}
pub fn visit_type_group_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut TypeGroup) {
- // Skipped field _i . group_token;
+ tokens_helper(_visitor, &mut (& mut _i . group_token).0);
_visitor.visit_type_mut(& mut * _i . ty);
}
@@ -1986,7 +1986,7 @@
}
pub fn visit_type_paren_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut TypeParen) {
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
_visitor.visit_type_mut(& mut * _i . ty);
}
@@ -2009,7 +2009,7 @@
pub fn visit_type_slice_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut TypeSlice) {
_visitor.visit_type_mut(& mut * _i . ty);
- // Skipped field _i . bracket_token;
+ tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
}
pub fn visit_type_trait_object_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut TypeTraitObject) {
@@ -2018,7 +2018,7 @@
}
pub fn visit_type_tuple_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut TypeTuple) {
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
for mut el in & mut _i . tys { let it = el.item_mut(); _visitor.visit_type_mut(it) };
}
@@ -2052,7 +2052,7 @@
}
# [ cfg ( feature = "full" ) ]
pub fn visit_use_list_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut UseList) {
- // Skipped field _i . brace_token;
+ tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
for mut el in & mut _i . items { let it = el.item_mut(); _visitor.visit_use_tree_mut(it) };
}
# [ cfg ( feature = "full" ) ]
@@ -2092,11 +2092,11 @@
match *_i {
Struct(ref mut _binding_0, ref mut _binding_1, ) => {
for mut el in _binding_0 { let it = el.item_mut(); _visitor.visit_field_mut(it) };
- // Skipped field _binding_1;
+ tokens_helper(_visitor, &mut (_binding_1).0);
}
Tuple(ref mut _binding_0, ref mut _binding_1, ) => {
for mut el in _binding_0 { let it = el.item_mut(); _visitor.visit_field_mut(it) };
- // Skipped field _binding_1;
+ tokens_helper(_visitor, &mut (_binding_1).0);
}
Unit => { }
}
@@ -2104,7 +2104,7 @@
pub fn visit_vis_crate_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut VisCrate) {
tokens_helper(_visitor, &mut (& mut _i . pub_token).0);
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
tokens_helper(_visitor, &mut (& mut _i . crate_token).0);
}
@@ -2117,7 +2117,7 @@
pub fn visit_vis_restricted_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut VisRestricted) {
tokens_helper(_visitor, &mut (& mut _i . pub_token).0);
- // Skipped field _i . paren_token;
+ tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
if let Some(ref mut it) = _i . in_token { tokens_helper(_visitor, &mut (it).0) };
_visitor.visit_path_mut(& mut * _i . path);
}
diff --git a/syn_codegen/src/main.rs b/syn_codegen/src/main.rs
index 3c2912c..3624655 100644
--- a/syn_codegen/src/main.rs
+++ b/syn_codegen/src/main.rs
@@ -329,7 +329,7 @@
Option(&'a Type),
Tuple(&'a Delimited<Type, Token![,]>),
Simple(&'a AstItem),
- Token(&'a Macro),
+ Token(Tokens),
Pass,
}
@@ -342,6 +342,9 @@
"Vec" => RelevantType::Vec(first_arg(&last.arguments)),
"Delimited" => RelevantType::Delimited(first_arg(&last.arguments)),
"Option" => RelevantType::Option(first_arg(&last.arguments)),
+ "Brace" | "Bracket" | "Paren" | "Group" => {
+ RelevantType::Token(last.ident.into_tokens())
+ }
_ => {
if let Some(item) = lookup.get(&last.ident) {
RelevantType::Simple(item)
@@ -355,7 +358,7 @@
RelevantType::Tuple(tys)
}
Type::Macro(ref mac) if mac.path.segments.last().unwrap().into_item().ident == "Token" => {
- RelevantType::Token(mac)
+ RelevantType::Token(mac.into_tokens())
}
_ => RelevantType::Pass,
}
@@ -603,11 +606,11 @@
}
}
- fn token_visit(mac: &Macro, kind: Kind, name: &Operand) -> String {
+ fn token_visit(ty: Tokens, kind: Kind, name: &Operand) -> String {
match kind {
Fold => format!(
- "{mac}(tokens_helper(_visitor, &({name}).0))",
- mac = mac.into_tokens(),
+ "{ty}(tokens_helper(_visitor, &({name}).0))",
+ ty = ty,
name = name.owned_tokens(),
),
Visit => format!(
@@ -653,8 +656,8 @@
res
})
}
- RelevantType::Token(mac) => {
- Some(token_visit(mac, kind, name))
+ RelevantType::Token(ty) => {
+ Some(token_visit(ty, kind, name))
}
RelevantType::Pass => {
None
@@ -977,6 +980,7 @@
#![cfg_attr(feature = \"cargo-clippy\", allow(needless_pass_by_value))]
use *;
+use token::{{Brace, Bracket, Paren, Group}};
use proc_macro2::Span;
use gen::helper::fold::*;