Store else token together with else branch
diff --git a/src/gen/fold.rs b/src/gen/fold.rs
index 25ddbc6..90a3393 100644
--- a/src/gen/fold.rs
+++ b/src/gen/fold.rs
@@ -1147,9 +1147,11 @@
attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
if_token: Token ! [ if ](tokens_helper(_visitor, &(_i . if_token).0)),
cond: Box::new(_visitor.fold_expr(* _i . cond)),
- if_true: _visitor.fold_block(_i . if_true),
- else_token: (_i . else_token).map(|it| { Token ! [ else ](tokens_helper(_visitor, &(it).0)) }),
- if_false: (_i . if_false).map(|it| { Box::new(_visitor.fold_expr(* it)) }),
+ then_branch: _visitor.fold_block(_i . then_branch),
+ else_branch: (_i . else_branch).map(|it| { (
+ Token ! [ else ](tokens_helper(_visitor, &(( it ) . 0).0)),
+ Box::new(_visitor.fold_expr(* ( it ) . 1)),
+ ) }),
}
}
# [ cfg ( feature = "full" ) ]
@@ -1161,9 +1163,11 @@
pat: Box::new(_visitor.fold_pat(* _i . pat)),
eq_token: Token ! [ = ](tokens_helper(_visitor, &(_i . eq_token).0)),
expr: Box::new(_visitor.fold_expr(* _i . expr)),
- if_true: _visitor.fold_block(_i . if_true),
- else_token: (_i . else_token).map(|it| { Token ! [ else ](tokens_helper(_visitor, &(it).0)) }),
- if_false: (_i . if_false).map(|it| { Box::new(_visitor.fold_expr(* it)) }),
+ then_branch: _visitor.fold_block(_i . then_branch),
+ else_branch: (_i . else_branch).map(|it| { (
+ Token ! [ else ](tokens_helper(_visitor, &(( it ) . 0).0)),
+ Box::new(_visitor.fold_expr(* ( it ) . 1)),
+ ) }),
}
}
# [ cfg ( feature = "full" ) ]
diff --git a/src/gen/visit.rs b/src/gen/visit.rs
index d00b2b2..1a9609e 100644
--- a/src/gen/visit.rs
+++ b/src/gen/visit.rs
@@ -924,9 +924,11 @@
for it in & _i . attrs { _visitor.visit_attribute(it) };
tokens_helper(_visitor, &(& _i . if_token).0);
_visitor.visit_expr(& * _i . cond);
- _visitor.visit_block(& _i . if_true);
- if let Some(ref it) = _i . else_token { tokens_helper(_visitor, &(it).0) };
- if let Some(ref it) = _i . if_false { _visitor.visit_expr(& * * it) };
+ _visitor.visit_block(& _i . then_branch);
+ if let Some(ref it) = _i . else_branch {
+ tokens_helper(_visitor, &(& ( it ) . 0).0);
+ _visitor.visit_expr(& * ( it ) . 1);
+ };
}
# [ cfg ( feature = "full" ) ]
pub fn visit_expr_if_let<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprIfLet) {
@@ -936,9 +938,11 @@
_visitor.visit_pat(& * _i . pat);
tokens_helper(_visitor, &(& _i . eq_token).0);
_visitor.visit_expr(& * _i . expr);
- _visitor.visit_block(& _i . if_true);
- if let Some(ref it) = _i . else_token { tokens_helper(_visitor, &(it).0) };
- if let Some(ref it) = _i . if_false { _visitor.visit_expr(& * * it) };
+ _visitor.visit_block(& _i . then_branch);
+ if let Some(ref it) = _i . else_branch {
+ tokens_helper(_visitor, &(& ( it ) . 0).0);
+ _visitor.visit_expr(& * ( it ) . 1);
+ };
}
# [ cfg ( feature = "full" ) ]
pub fn visit_expr_in_place<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprInPlace) {
diff --git a/src/gen/visit_mut.rs b/src/gen/visit_mut.rs
index 353c246..a82f430 100644
--- a/src/gen/visit_mut.rs
+++ b/src/gen/visit_mut.rs
@@ -924,9 +924,11 @@
for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
tokens_helper(_visitor, &mut (& mut _i . if_token).0);
_visitor.visit_expr_mut(& mut * _i . cond);
- _visitor.visit_block_mut(& mut _i . if_true);
- if let Some(ref mut it) = _i . else_token { tokens_helper(_visitor, &mut (it).0) };
- if let Some(ref mut it) = _i . if_false { _visitor.visit_expr_mut(& mut * * it) };
+ _visitor.visit_block_mut(& mut _i . then_branch);
+ if let Some(ref mut it) = _i . else_branch {
+ tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
+ _visitor.visit_expr_mut(& mut * ( it ) . 1);
+ };
}
# [ cfg ( feature = "full" ) ]
pub fn visit_expr_if_let_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ExprIfLet) {
@@ -936,9 +938,11 @@
_visitor.visit_pat_mut(& mut * _i . pat);
tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
_visitor.visit_expr_mut(& mut * _i . expr);
- _visitor.visit_block_mut(& mut _i . if_true);
- if let Some(ref mut it) = _i . else_token { tokens_helper(_visitor, &mut (it).0) };
- if let Some(ref mut it) = _i . if_false { _visitor.visit_expr_mut(& mut * * it) };
+ _visitor.visit_block_mut(& mut _i . then_branch);
+ if let Some(ref mut it) = _i . else_branch {
+ tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
+ _visitor.visit_expr_mut(& mut * ( it ) . 1);
+ };
}
# [ cfg ( feature = "full" ) ]
pub fn visit_expr_in_place_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ExprInPlace) {