mirror of
https://github.com/danbulant/oxc
synced 2026-05-24 12:21:58 +00:00
chore(semantic): use Arc<ModuleRecord>
This commit is contained in:
parent
aa7b665fe9
commit
ba54eb67b3
3 changed files with 8 additions and 7 deletions
|
|
@ -1,6 +1,6 @@
|
|||
//! Semantic Builder
|
||||
|
||||
use std::{cell::RefCell, rc::Rc};
|
||||
use std::{cell::RefCell, rc::Rc, sync::Arc};
|
||||
|
||||
use itertools::Itertools;
|
||||
#[allow(clippy::wildcard_imports)]
|
||||
|
|
@ -149,7 +149,7 @@ impl<'a> SemanticBuilder<'a> {
|
|||
nodes: self.nodes,
|
||||
scopes: self.scope,
|
||||
symbols: self.symbols,
|
||||
module_record,
|
||||
module_record: Arc::new(module_record),
|
||||
jsdoc: self.jsdoc.build(),
|
||||
unused_labels: self.unused_labels.labels,
|
||||
};
|
||||
|
|
@ -164,7 +164,7 @@ impl<'a> SemanticBuilder<'a> {
|
|||
nodes: self.nodes,
|
||||
scopes: self.scope,
|
||||
symbols: self.symbols,
|
||||
module_record: ModuleRecord::default(),
|
||||
module_record: Arc::new(ModuleRecord::default()),
|
||||
jsdoc: self.jsdoc.build(),
|
||||
unused_labels: self.unused_labels.labels,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ mod reference;
|
|||
mod scope;
|
||||
mod symbol;
|
||||
|
||||
use std::rc::Rc;
|
||||
use std::{rc::Rc, sync::Arc};
|
||||
|
||||
pub use builder::{SemanticBuilder, SemanticBuilderReturn};
|
||||
pub use jsdoc::{JSDoc, JSDocComment, JSDocTag};
|
||||
|
|
@ -41,7 +41,7 @@ pub struct Semantic<'a> {
|
|||
|
||||
trivias: Rc<Trivias>,
|
||||
|
||||
module_record: ModuleRecord,
|
||||
module_record: Arc<ModuleRecord>,
|
||||
|
||||
jsdoc: JSDoc<'a>,
|
||||
|
||||
|
|
|
|||
|
|
@ -9,10 +9,11 @@ mod module_record_tests {
|
|||
use oxc_span::{SourceType, Span};
|
||||
#[allow(clippy::wildcard_imports)]
|
||||
use oxc_syntax::module_record::*;
|
||||
use std::sync::Arc;
|
||||
|
||||
use crate::SemanticBuilder;
|
||||
|
||||
fn build(source_text: &str) -> ModuleRecord {
|
||||
fn build(source_text: &str) -> Arc<ModuleRecord> {
|
||||
let source_type = SourceType::default().with_module(true);
|
||||
let allocator = Allocator::default();
|
||||
let ret = Parser::new(&allocator, source_text, source_type).parse();
|
||||
|
|
@ -21,7 +22,7 @@ mod module_record_tests {
|
|||
.with_trivias(ret.trivias)
|
||||
.with_module_record_builder(true)
|
||||
.build(program);
|
||||
semantic_ret.semantic.module_record
|
||||
Arc::clone(&semantic_ret.semantic.module_record)
|
||||
}
|
||||
|
||||
// Table 55 gives examples of ImportEntry records fields used to represent the syntactic import forms:
|
||||
|
|
|
|||
Loading…
Reference in a new issue