Skip to content

Commit

Permalink
feat(traverse): add `TraverseCtx::generate_uid_in_current_hoist_scope…
Browse files Browse the repository at this point in the history
…_based_on_node` (#7642)

We have a lot of usage for this API in `class-properties`
  • Loading branch information
Dunqing committed Dec 5, 2024
1 parent 3de4a43 commit ff73c7f
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions crates/oxc_traverse/src/context/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -427,6 +427,19 @@ impl<'a> TraverseCtx<'a> {
self.generate_uid(name, self.current_hoist_scope_id(), SymbolFlags::FunctionScopedVariable)
}

/// Generate UID in current hoist scope based on node.
///
/// See also comments on [`TraverseScoping::generate_uid_name`] for important information
/// on how UIDs are generated. There are some potential "gotchas".
#[inline]
pub fn generate_uid_in_current_hoist_scope_based_on_node<N: GatherNodeParts<'a>>(
&mut self,
node: &N,
) -> BoundIdentifier<'a> {
let name = get_var_name_from_node(node);
self.generate_uid_in_current_hoist_scope(&name)
}

/// Create a reference bound to a `SymbolId`.
///
/// This is a shortcut for `ctx.scoping.create_bound_reference`.
Expand Down

0 comments on commit ff73c7f

Please sign in to comment.