11//! Generated by `ast-generator`, do not edit by hand.
2- ¶{ {! < - denotes empty line that should be kept, all blank lines are removed otherwise} }
3- #![cfg_attr(any(), rustfmt::skip)]
4- ¶
2+
53use super::base::Translator;
64use super::mappings::TextValue;
75use crate::emit_detached;
@@ -11,30 +9,33 @@ use ra_ap_syntax::ast::{
119 HasArgList, HasAttrs, HasGenericArgs, HasGenericParams, HasLoopBody, HasModuleItem, HasName,
1210 HasTypeBounds, HasVisibility, RangeItem,
1311} ;
14- use ra_ap_syntax::{ ast, AstNode} ;
15- ¶
12+ #[rustfmt::skip]
13+ use ra_ap_syntax::{ AstNode, ast} ;
14+
1615impl Translator<'_> {
17- fn emit_else_branch(&mut self, node: ast::ElseBranch) -> Option< Label< generated::Expr>> {
16+ fn emit_else_branch(&mut self, node: & ast::ElseBranch) -> Option< Label< generated::Expr>> {
1817 match node {
1918 ast::ElseBranch::IfExpr(inner) => self.emit_if_expr(inner).map(Into::into),
2019 ast::ElseBranch::Block(inner) => self.emit_block_expr(inner).map(Into::into),
2120 }
2221 }
2322 { {#enums} }
24- ¶
25- pub(crate) fn emit_{ {snake_case_name} }(&mut self, node: ast::{ {ast_name} }) -> Option<Label <generated::{{name}} >> {
26- match node {
23+
24+ pub(crate) fn emit_{ {snake_case_name} }(&mut self, node: & ast::{ {ast_name} }) -> Option<Label <generated::{{name}} >> {
25+ let label = match node {
2726 {{#variants} }
2827 ast::{ {ast_name} }::{ {variant_ast_name} }(inner) => self.emit_{ {snake_case_name} }(inner).map(Into::into),
2928 { {/variants} }
30- }
29+ }?;
30+ emit_detached!({ {name} }, self, node, label);
31+ Some(label)
3132 }
3233 { {/enums} }
3334 { {#nodes} }
34- ¶
35- pub(crate) fn emit_{ {snake_case_name} }(&mut self, node: ast::{ {ast_name} }) -> Option<Label <generated::{{name}} >> {
35+
36+ pub(crate) fn emit_{ {snake_case_name} }(&mut self, node: & ast::{ {ast_name} }) -> Option<Label <generated::{{name}} >> {
3637 {{#has_attrs} }
37- if self.should_be_excluded(& node) { return None; }
38+ if self.should_be_excluded(node) { return None; }
3839 { {/has_attrs} }
3940 { {#fields} }
4041 { {#predicate} }
@@ -44,10 +45,10 @@ impl Translator<'_> {
4445 let { {name} } = node.try_get_text();
4546 { {/string} }
4647 { {#list} }
47- let { {name} } = node.{ {method} }().filter_map(|x| self.emit_{ {snake_case_ty} }(x)).collect();
48+ let { {name} } = node.{ {method} }().filter_map(|x| self.emit_{ {snake_case_ty} }(& x)).collect();
4849 { {/list} }
4950 { {#optional} }
50- let { {name} } = node.{ {method} }().and_then(|x| self.emit_{ {snake_case_ty} }(x));
51+ let { {name} } = node.{ {method} }().and_then(|x| self.emit_{ {snake_case_ty} }(& x));
5152 { {/optional} }
5253 { {/fields} }
5354 let label = self.trap.emit(generated::{ {name} } {
@@ -56,9 +57,9 @@ impl Translator<'_> {
5657 { {name} },
5758 { {/fields} }
5859 });
59- self.emit_location(label, & node);
60+ self.emit_location(label, node);
6061 emit_detached!({ {name} }, self, node, label);
61- self.emit_tokens(& node, label.into(), node.syntax().children_with_tokens());
62+ self.emit_tokens(node, label.into(), node.syntax().children_with_tokens());
6263 Some(label)
6364 }
6465 { {/nodes} }
0 commit comments