Repository navigation
fix(parser): treat escaped class modifiers as property names - #642
Conversation
Leave escaped contextual keywords to class element name parsing so ASI can separate them from following members. Only recognize an unescaped static keyword as the start of a static block. Cover field names and static flags, including escaped get, set, async, and static spellings and TypeScript class fields. Related tests: tc39/test262#5134 Related V8 fix: https://chromium-review.googlesource.com/c/v8/v8/+/8403169
Gungraun benchmark diffValues are shown as Download the raw Gungraun and Valgrind data (retained for 90 days). Callgrind metric changesCallgrind instruction counts (Ir) and CodSpeed throughput cycle estimates (Ct) for the merge and base revisions. Values are shown as merge / base in K (1,000), truncated to whole thousands; Ct is converted from centi-cycles to cycles first. Multi-part profiles use the part numbers from Gungraun and include an aggregated Total. New and Removed identify benchmarks that exist on only one side; the missing value is shown as a dash. Percentages are rounded to at most three decimal places. Lower is better: 🟢 improvement, 🔴 regression, ⚪ unchanged. Codegen
Parser
Resolver
Semantic
Type strip
Visit
Benchmark results |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
## [0.2.1] - 2026-09-14 ### 🐛 Bug Fixes - *(parser)* Respect line breaks before import assertions (#628) - *(parser)* Diagnose function bodies in ambient contexts (#631) - *(parser)* Unify in operator grammar context handling (#637) - *(ast)* Seal AST storage traits (#638) - *(parser)* Treat escaped class modifiers as property names (#642) ### 🚜 Refactor - *(ast)* Simplify flattened AST extra data design (#622) - *(bridge)* Centralize N-API dependencies (#639) - Consolidate Wasm build and packaging tooling (#640) ### 📚 Documentation - Align pull request template and creator guidance (#641) ### ⚙️ Miscellaneous Tasks - Ignore local development metadata (#632) - *(build)* Strip symbols from release binaries (#630) - *(ci)* Use the default test profile (#633) - *(ci)* Simplify Gungraun table formatting (#634) Co-authored-by: swc-project-bot[bot] <316843836+swc-project-bot[bot]@users.noreply.github.com>
Leave escaped contextual keywords to class element name parsing so ASI can separate them from following members. Only recognize an unescaped static keyword as the start of a static block.
Cover field names and static flags, including escaped get, set, async, and static spellings and TypeScript class fields.