From f88cbcd4ab20276c50f54aa0aaeb522c253eaacc Mon Sep 17 00:00:00 2001 From: overlookmotel <557937+overlookmotel@users.noreply.github.com> Date: Wed, 14 Aug 2024 18:55:27 +0000 Subject: [PATCH] feat(transformer): add `BoundIdentifier::new_uid_in_current_scope` method (#4903) Add method `BoundIdentifier::new_uid_in_current_scope` as a shortcut. --- crates/oxc_transformer/src/es2015/arrow_functions.rs | 3 +-- crates/oxc_transformer/src/helpers/bindings.rs | 10 ++++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/crates/oxc_transformer/src/es2015/arrow_functions.rs b/crates/oxc_transformer/src/es2015/arrow_functions.rs index 8b2be7efff039..1aea03547cd86 100644 --- a/crates/oxc_transformer/src/es2015/arrow_functions.rs +++ b/crates/oxc_transformer/src/es2015/arrow_functions.rs @@ -81,9 +81,8 @@ impl<'a> ArrowFunctions<'a> { fn get_this_name(&mut self, ctx: &mut TraverseCtx<'a>) -> BoundIdentifier<'a> { if self.this_var.is_none() { - self.this_var = Some(BoundIdentifier::new_uid( + self.this_var = Some(BoundIdentifier::new_uid_in_current_scope( "this", - ctx.current_scope_id(), SymbolFlags::FunctionScopedVariable, ctx, )); diff --git a/crates/oxc_transformer/src/helpers/bindings.rs b/crates/oxc_transformer/src/helpers/bindings.rs index ec93386db0ee8..085a6a1532b1a 100644 --- a/crates/oxc_transformer/src/helpers/bindings.rs +++ b/crates/oxc_transformer/src/helpers/bindings.rs @@ -65,6 +65,16 @@ impl<'a> BoundIdentifier<'a> { Self::new_uid(name, scope_id, flags, ctx) } + /// Create `BoundIdentifier` for new binding in current scope + pub fn new_uid_in_current_scope( + name: &str, + flags: SymbolFlags, + ctx: &mut TraverseCtx<'a>, + ) -> Self { + let scope_id = ctx.current_scope_id(); + Self::new_uid(name, scope_id, flags, ctx) + } + /// Create `BindingIdentifier` for this binding pub fn create_binding_identifier(&self) -> BindingIdentifier<'a> { BindingIdentifier {