diff --git a/crates/oxc_semantic/src/binder.rs b/crates/oxc_semantic/src/binder.rs index 6e0c1888a2565..dbfe8b2cfb05c 100644 --- a/crates/oxc_semantic/src/binder.rs +++ b/crates/oxc_semantic/src/binder.rs @@ -5,13 +5,13 @@ use std::ptr; use oxc_ast::{ast::*, AstKind}; use oxc_ecmascript::{BoundNames, IsSimpleParameterList}; use oxc_span::{GetSpan, SourceType}; - -use crate::{ +use oxc_syntax::{ scope::{ScopeFlags, ScopeId}, symbol::SymbolFlags, - SemanticBuilder, }; +use crate::SemanticBuilder; + pub(crate) trait Binder<'a> { #[allow(unused_variables)] fn bind(&self, builder: &mut SemanticBuilder<'a>) {} diff --git a/crates/oxc_semantic/src/builder.rs b/crates/oxc_semantic/src/builder.rs index 16a782aae20a1..a38ad3956a0b4 100644 --- a/crates/oxc_semantic/src/builder.rs +++ b/crates/oxc_semantic/src/builder.rs @@ -9,6 +9,12 @@ use oxc_cfg::{ }; use oxc_diagnostics::OxcDiagnostic; use oxc_span::{Atom, CompactStr, SourceType, Span}; +use oxc_syntax::{ + node::{NodeFlags, NodeId}, + reference::{ReferenceFlags, ReferenceId}, + scope::{ScopeFlags, ScopeId}, + symbol::{SymbolFlags, SymbolId}, +}; use rustc_hash::FxHashMap; use crate::{ @@ -18,11 +24,11 @@ use crate::{ diagnostics::redeclaration, jsdoc::JSDocBuilder, label::UnusedLabels, - node::{AstNodes, NodeFlags, NodeId}, - reference::{Reference, ReferenceFlags, ReferenceId}, - scope::{Bindings, ScopeFlags, ScopeId, ScopeTree}, + node::AstNodes, + reference::Reference, + scope::{Bindings, ScopeTree}, stats::Stats, - symbol::{SymbolFlags, SymbolId, SymbolTable}, + symbol::SymbolTable, unresolved_stack::UnresolvedReferencesStack, JSDocFinder, Semantic, }; diff --git a/crates/oxc_semantic/src/checker/javascript.rs b/crates/oxc_semantic/src/checker/javascript.rs index 6aca8107e04bb..8cc93760d39d8 100644 --- a/crates/oxc_semantic/src/checker/javascript.rs +++ b/crates/oxc_semantic/src/checker/javascript.rs @@ -5,11 +5,12 @@ use oxc_span::{GetSpan, ModuleKind, Span}; use oxc_syntax::{ number::NumberBase, operator::{AssignmentOperator, BinaryOperator, LogicalOperator, UnaryOperator}, + scope::ScopeFlags, }; use phf::{phf_set, Set}; use rustc_hash::FxHashMap; -use crate::{builder::SemanticBuilder, diagnostics::redeclaration, scope::ScopeFlags, AstNode}; +use crate::{builder::SemanticBuilder, diagnostics::redeclaration, AstNode}; pub fn check_duplicate_class_elements(ctx: &SemanticBuilder<'_>) { let classes = &ctx.class_table_builder.classes; diff --git a/crates/oxc_semantic/src/class/table.rs b/crates/oxc_semantic/src/class/table.rs index a3c868ef37520..e8dc80224be23 100644 --- a/crates/oxc_semantic/src/class/table.rs +++ b/crates/oxc_semantic/src/class/table.rs @@ -1,10 +1,11 @@ use oxc_index::IndexVec; use oxc_span::{CompactStr, Span}; -use oxc_syntax::class::{ClassId, ElementId, ElementKind}; +use oxc_syntax::{ + class::{ClassId, ElementId, ElementKind}, + node::NodeId, +}; use rustc_hash::FxHashMap; -use crate::node::NodeId; - #[derive(Debug)] pub struct Element { pub name: CompactStr, diff --git a/crates/oxc_semantic/src/label.rs b/crates/oxc_semantic/src/label.rs index bf47b764cc9da..260c84641662d 100644 --- a/crates/oxc_semantic/src/label.rs +++ b/crates/oxc_semantic/src/label.rs @@ -1,4 +1,4 @@ -use crate::NodeId; +use oxc_syntax::node::NodeId; #[derive(Debug)] pub struct LabeledScope<'a> { diff --git a/crates/oxc_semantic/src/node.rs b/crates/oxc_semantic/src/node.rs index 24bb70dcddf05..25b2fd071c1a3 100644 --- a/crates/oxc_semantic/src/node.rs +++ b/crates/oxc_semantic/src/node.rs @@ -2,9 +2,10 @@ use oxc_ast::AstKind; use oxc_cfg::BlockNodeId; use oxc_index::IndexVec; use oxc_span::GetSpan; -pub use oxc_syntax::node::{NodeFlags, NodeId}; - -use crate::scope::ScopeId; +use oxc_syntax::{ + node::{NodeFlags, NodeId}, + scope::ScopeId, +}; /// Semantic node contains all the semantic information about an ast node. #[derive(Debug, Clone, Copy)] diff --git a/crates/oxc_semantic/src/reference.rs b/crates/oxc_semantic/src/reference.rs index 1e2eed8802f74..e2e57ab5f0da5 100644 --- a/crates/oxc_semantic/src/reference.rs +++ b/crates/oxc_semantic/src/reference.rs @@ -1,11 +1,9 @@ -pub use oxc_syntax::reference::{ReferenceFlags, ReferenceId}; +use oxc_syntax::{node::NodeId, reference::ReferenceFlags, symbol::SymbolId}; #[cfg(feature = "serialize")] use serde::Serialize; #[cfg(feature = "serialize")] use tsify::Tsify; -use crate::{symbol::SymbolId, NodeId}; - /// Describes where and how a Symbol is used in the AST. /// /// References indicate how they are being used using [`ReferenceFlags`]. Refer diff --git a/crates/oxc_semantic/src/scope.rs b/crates/oxc_semantic/src/scope.rs index 3bcf62391ef0b..4bc37480c6153 100644 --- a/crates/oxc_semantic/src/scope.rs +++ b/crates/oxc_semantic/src/scope.rs @@ -3,12 +3,14 @@ use std::mem; use indexmap::IndexMap; use oxc_index::IndexVec; use oxc_span::CompactStr; -use oxc_syntax::reference::ReferenceId; -pub use oxc_syntax::scope::{ScopeFlags, ScopeId}; +use oxc_syntax::{ + node::NodeId, + reference::ReferenceId, + scope::{ScopeFlags, ScopeId}, + symbol::SymbolId, +}; use rustc_hash::{FxBuildHasher, FxHashMap}; -use crate::{symbol::SymbolId, NodeId}; - type FxIndexMap = IndexMap; pub(crate) type Bindings = FxIndexMap; diff --git a/crates/oxc_semantic/src/symbol.rs b/crates/oxc_semantic/src/symbol.rs index 9986540a47009..033df256296e0 100644 --- a/crates/oxc_semantic/src/symbol.rs +++ b/crates/oxc_semantic/src/symbol.rs @@ -3,7 +3,9 @@ use std::mem; use oxc_ast::ast::{Expression, IdentifierReference}; use oxc_index::IndexVec; use oxc_span::{CompactStr, Span}; -pub use oxc_syntax::{ +use oxc_syntax::{ + node::NodeId, + reference::ReferenceId, scope::ScopeId, symbol::{RedeclarationId, SymbolFlags, SymbolId}, }; @@ -12,10 +14,7 @@ use serde::Serialize; #[cfg(feature = "serialize")] use tsify::Tsify; -use crate::{ - node::NodeId, - reference::{Reference, ReferenceId}, -}; +use crate::reference::Reference; #[cfg(feature = "serialize")] #[wasm_bindgen::prelude::wasm_bindgen(typescript_custom_section)]