mirror of
https://github.com/oxc-project/oxc.git
synced 2026-09-14 19:36:11 +08:00
b6f1458dec
### 💥 BREAKING CHANGES -a33788east: [**BREAKING**] Group class heritage into `ClassHeritage` (#25360) (camc314) -5c5cdcdast: [**BREAKING**] Narrow `TSInterfaceHeritage::expression` to TSTypeName (#24360) (camc314) -6be314fast: [**BREAKING**] Remove duplicated `VariableDeclarator::kind` (#25319) (camc314) -44fd320ast: [**BREAKING**] Split TS external modules & Namespace Declarations (#25284) (camc314) ### 🚀 Features -9a37c41napi: Restructure React transform options (#25326) (Boshen) -b3c1b30allocator: Add `ArenaVec::push_mut` (#25338) (overlookmotel) ### 🐛 Bug Fixes -bbd6ed3codegen: Wrap string literal in parens after directives (#25435) (overlookmotel) -d07a293codegen: Preserve cast parentheses in conditional tests (#25115) (camc314) -8b7d441codegen: Preserve satisfies parentheses before bitwise operators (#25113) (camc314) -e0fb2d7minifier: Avoid unsafe return removal in labeled blocks (#25406) (Armano) -c49f4ceparser: Preserve terminal license comments (#25400) (camc314) -9d19ab3transform_react: Downgrade nonfatal compiler diagnostics (#25418) (Boshen) -937825creact_compiler: Disable exhaustive memo validation by default (#25417) (Boshen) -12937b3parser: Reject comma expressions in class fields (#25385) (Cameron) -7d8a9b5react_compiler: Preserve hook spans for React Refresh (#25393) (Boshen) -9e93ba6parser: Reset auto-accessor initializer context (#25384) (camc314) -cc2e28dparser: Reject trailing tokens in `Parser::parse_expression` (#25371) (camc314) -697c629minifier: Preserve Annex B labeled-function bindings in implicit-return rewrite (#25349) (Armano) -4d723caparser: Report TS1035 for quoted module names (#25305) (camc314) -0c9b980semantic: Report module declaration diagnostics (#25285) (camc314) -2a1058anapi: Omit parser header from WASI declarations (#25254) (camc314) ### ⚡ Performance -dd1430bsemantic: Avoid allocation in class overload check (#25440) (camc314) -e420816parser: Optimize trailing comma tracking (#25376) (camc314) -6529d1aminifier: Short-circuit scope check when alternate already determines result (#25318) (Armano) ### 📚 Documentation -fe111eballocator: Improve doc comments for `Arena` methods (#24922) (overlookmotel)
Oxc AST Visit
Visitor pattern implementations for traversing and mutating AST nodes.
Overview
This crate provides visitor traits and implementations for systematically traversing AST nodes. It supports both immutable visitation (Visit) and mutable transformation (VisitMut).
Key Features
Visittrait: Immutable AST traversal for analysisVisitMuttrait: Mutable AST traversal for transformations- Generated implementations: Most visitor code is auto-generated for consistency
- UTF-8 to UTF-16 conversion: Special visitors for span conversion
Architecture
The visitor pattern is designed for:
- Analysis: Static analysis, linting, and code inspection
- Transformation: Code modification and transpilation
- Consistency: Systematic traversal of all AST nodes
- Performance: Efficient traversal with minimal overhead
Most visitor implementations are generated by oxc_ast_tools to ensure all AST nodes are covered and traversal is consistent.