Skip to main content

oxc_syntax/
lib.rs

1//! Common code for JavaScript Syntax
2
3use std::num::NonZeroU32;
4
5use oxc_ast_macros::ast;
6
7pub mod class;
8pub mod constant_value;
9pub mod es_target;
10pub mod identifier;
11pub mod keyword;
12pub mod line_terminator;
13pub mod module_record;
14pub mod node;
15pub mod number;
16pub mod operator;
17pub mod precedence;
18pub mod reference;
19pub mod scope;
20pub mod semantic_id;
21#[cfg(feature = "serialize")]
22mod serialize;
23pub mod symbol;
24pub mod xml_entities;
25
26pub use node::GetNodeId;
27
28mod generated {
29    #[cfg(debug_assertions)]
30    mod assert_layouts;
31    mod derive_clone_in;
32    mod derive_content_eq;
33    mod derive_dummy;
34    #[cfg(feature = "serialize")]
35    mod derive_estree;
36}
37
38/// Dummy type to communicate the content of `nonmax::NonMaxU32` to `oxc_ast_tools`.
39#[ast(foreign = NonMaxU32)]
40#[expect(dead_code)]
41struct NonMaxU32Alias(NonZeroU32);