@@ -5,8 +5,9 @@ use serde::{Deserialize, Serialize};
55use oxc_ast:: {
66 ast:: {
77 ArrayExpression , ArrayExpressionElement , CallExpression , Expression , ObjectExpression ,
8- ObjectPropertyKind ,
8+ ObjectPropertyKind , ReturnStatement ,
99 } ,
10+ visit:: walk,
1011 AstKind , Visit ,
1112} ;
1213use oxc_diagnostics:: { LabeledSpan , OxcDiagnostic } ;
@@ -637,21 +638,15 @@ impl<'a, F> Visit<'a> for SpreadInReturnVisitor<'a, '_, F>
637638where
638639 F : FnMut ( Spread < ' a , ' _ > ) ,
639640{
640- #[ inline]
641- fn enter_node ( & mut self , kind : AstKind < ' a > ) {
642- if let AstKind :: ReturnStatement ( stmt) = kind {
643- self . is_in_return = true ;
644- self . return_span = stmt. argument . as_ref ( ) . map ( GetSpan :: span) ;
645- }
646- }
641+ fn visit_return_statement ( & mut self , stmt : & ReturnStatement < ' a > ) {
642+ self . is_in_return = true ;
643+ self . return_span = stmt. argument . as_ref ( ) . map ( GetSpan :: span) ;
647644
648- #[ inline]
649- fn leave_node ( & mut self , kind : AstKind < ' a > ) {
650- if let AstKind :: ReturnStatement ( _) = kind {
651- self . is_in_return = false ;
652- // NOTE: do not clear `return_span` here. We want to keep the last
653- // encountered `return` for reporting.
654- }
645+ walk:: walk_return_statement ( self , stmt) ;
646+
647+ self . is_in_return = false ;
648+ // NOTE: do not clear `return_span` here. We want to keep the last
649+ // encountered `return` for reporting.
655650 }
656651
657652 fn visit_expression ( & mut self , expr : & Expression < ' a > ) {
0 commit comments