Skip to content

Commit 4adc1ed

Browse files
committed
perf(mangler): remove unnecessary AstNode lookups (#12663)
Small perf improvement. There's no need to look up an `AstNode` just to get its `NodeId`. You already have the `NodeId` in order to look up the `AstNode`. So skip getting the `AstNode` and just use `NodeId`s.
1 parent 6564215 commit 4adc1ed

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

crates/oxc_mangler/src/keep_names.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use oxc_ast::{AstKind, ast::*};
2-
use oxc_semantic::{AstNode, AstNodes, ReferenceId, Scoping, SymbolId};
2+
use oxc_semantic::{AstNode, AstNodes, NodeId, ReferenceId, Scoping, SymbolId};
33
use rustc_hash::FxHashSet;
44

55
#[derive(Debug, Clone, Copy, Default)]
@@ -74,8 +74,8 @@ impl<'a, 'b: 'a> NameSymbolCollector<'a, 'b> {
7474

7575
fn has_name_set_reference_node(&self, symbol_id: SymbolId) -> bool {
7676
self.scoping.get_resolved_reference_ids(symbol_id).into_iter().any(|reference_id| {
77-
let node = self.ast_nodes.get_node(self.scoping.get_reference(*reference_id).node_id());
78-
self.is_name_set_reference_node(node, *reference_id)
77+
let node_id = self.scoping.get_reference(*reference_id).node_id();
78+
self.is_name_set_reference_node(node_id, *reference_id)
7979
})
8080
}
8181

@@ -110,9 +110,9 @@ impl<'a, 'b: 'a> NameSymbolCollector<'a, 'b> {
110110
}
111111
}
112112

113-
fn is_name_set_reference_node(&self, node: &AstNode, reference_id: ReferenceId) -> bool {
114-
let parent_node = self.ast_nodes.parent_node(node.id());
115-
match parent_node.kind() {
113+
fn is_name_set_reference_node(&self, node_id: NodeId, reference_id: ReferenceId) -> bool {
114+
let parent_node_id = self.ast_nodes.parent_id(node_id);
115+
match self.ast_nodes.kind(parent_node_id) {
116116
// Check for direct assignment: foo = function() {}
117117
AstKind::AssignmentExpression(assign_expr) => {
118118
Self::is_assignment_target_id_of_specific_reference(&assign_expr.left, reference_id)
@@ -133,7 +133,7 @@ impl<'a, 'b: 'a> NameSymbolCollector<'a, 'b> {
133133
| AstKind::ComputedMemberExpression(_)
134134
| AstKind::PrivateFieldExpression(_)
135135
| AstKind::StaticMemberExpression(_) => {
136-
let grand_parent_node_kind = self.ast_nodes.parent_kind(parent_node.id());
136+
let grand_parent_node_kind = self.ast_nodes.parent_kind(parent_node_id);
137137

138138
match grand_parent_node_kind {
139139
AstKind::AssignmentExpression(assign_expr) => {

0 commit comments

Comments
 (0)