From 527b94fba643cc334937fadbb3e619f419b8aca3 Mon Sep 17 00:00:00 2001 From: Boshen Date: Mon, 19 Jun 2023 20:23:46 +0800 Subject: [PATCH] refactor(hir): use Cell for SymbolId instead of RefCell --- crates/oxc_hir/src/hir.rs | 6 +++--- crates/oxc_minifier/src/mangler/mod.rs | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/crates/oxc_hir/src/hir.rs b/crates/oxc_hir/src/hir.rs index 4298149e6..1b857e56d 100644 --- a/crates/oxc_hir/src/hir.rs +++ b/crates/oxc_hir/src/hir.rs @@ -1,5 +1,5 @@ use std::{ - cell::RefCell, + cell::Cell, fmt, hash::{Hash, Hasher}, }; @@ -407,7 +407,7 @@ pub struct IdentifierReference { pub span: Span, pub name: Atom, #[cfg_attr(feature = "serde", serde(skip))] - pub reference_id: RefCell, + pub reference_id: Cell, } impl Hash for IdentifierReference { @@ -424,7 +424,7 @@ pub struct BindingIdentifier { pub span: Span, pub name: Atom, #[cfg_attr(feature = "serde", serde(skip))] - pub symbol_id: RefCell, + pub symbol_id: Cell, } impl Hash for BindingIdentifier { diff --git a/crates/oxc_minifier/src/mangler/mod.rs b/crates/oxc_minifier/src/mangler/mod.rs index d685265c6..1729b356c 100644 --- a/crates/oxc_minifier/src/mangler/mod.rs +++ b/crates/oxc_minifier/src/mangler/mod.rs @@ -85,13 +85,13 @@ impl<'a> Visit<'a> for ManglerBuilder<'a> { ) { let symbol_id = self.semantic.declare_symbol_for_mangler(ident.span, &ident.name, includes, excludes); - *ident.symbol_id.borrow_mut() = symbol_id; + ident.symbol_id.replace(symbol_id); } fn visit_identifier_reference(&mut self, ident: &'a IdentifierReference) { let reference = Reference::new(ident.span, ident.name.clone(), ReferenceFlag::read()); let reference_id = self.semantic.declare_reference(reference); - *ident.reference_id.borrow_mut() = reference_id; + ident.reference_id.replace(reference_id); } }