Skip to content

Commit 6e9d26b

Browse files
committed
perf(semantic): inline enter_kind for ClassBody (oxc-project#17397)
Ref https://github.com/oxc-project/backlog/issues/72
1 parent d930962 commit 6e9d26b

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

crates/oxc_semantic/src/builder.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2163,6 +2163,15 @@ impl<'a> Visit<'a> for SemanticBuilder<'a> {
21632163
}
21642164
self.leave_node(kind);
21652165
}
2166+
2167+
fn visit_class_body(&mut self, body: &ClassBody<'a>) {
2168+
let kind = AstKind::ClassBody(self.alloc(body));
2169+
self.enter_node(kind);
2170+
self.class_table_builder.declare_class_body(body, self.current_node_id, &self.nodes);
2171+
self.visit_span(&body.span);
2172+
self.visit_class_elements(&body.body);
2173+
self.leave_node(kind);
2174+
}
21662175
}
21672176

21682177
impl<'a> SemanticBuilder<'a> {
@@ -2184,13 +2193,6 @@ impl<'a> SemanticBuilder<'a> {
21842193
/* cfg */
21852194

21862195
match kind {
2187-
AstKind::ClassBody(body) => {
2188-
self.class_table_builder.declare_class_body(
2189-
body,
2190-
self.current_node_id,
2191-
&self.nodes,
2192-
);
2193-
}
21942196
AstKind::PrivateIdentifier(ident) => {
21952197
self.class_table_builder.add_private_identifier_reference(
21962198
ident,

0 commit comments

Comments
 (0)