Skip to content

Commit eacd876

Browse files
committed
perf(semantic): inline enter_kind for BindingRestElement (oxc-project#17399)
Ref oxc-project/backlog#72
1 parent adc657a commit eacd876

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

crates/oxc_semantic/src/builder.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2184,6 +2184,15 @@ impl<'a> Visit<'a> for SemanticBuilder<'a> {
21842184
self.visit_span(&ident.span);
21852185
self.leave_node(kind);
21862186
}
2187+
2188+
fn visit_binding_rest_element(&mut self, element: &BindingRestElement<'a>) {
2189+
let kind = AstKind::BindingRestElement(self.alloc(element));
2190+
self.enter_node(kind);
2191+
element.bind(self);
2192+
self.visit_span(&element.span);
2193+
self.visit_binding_pattern(&element.argument);
2194+
self.leave_node(kind);
2195+
}
21872196
}
21882197

21892198
impl<'a> SemanticBuilder<'a> {
@@ -2205,9 +2214,6 @@ impl<'a> SemanticBuilder<'a> {
22052214
/* cfg */
22062215

22072216
match kind {
2208-
AstKind::BindingRestElement(element) => {
2209-
element.bind(self);
2210-
}
22112217
AstKind::FormalParameter(param) => {
22122218
param.bind(self);
22132219
}

0 commit comments

Comments
 (0)