-
-
Notifications
You must be signed in to change notification settings - Fork 735
fix(codegen): add support for printing type arguments in new expressions #15963
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(codegen): add support for printing type arguments in new expressions #15963
Conversation
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR fixes a bug in the TypeScript codegen where type arguments were not being printed for new expressions. Previously, new Map<string, number>() would be incorrectly printed as new Map(), while call expressions like test<string, number>() were already handled correctly.
Key changes:
- Added type argument printing support for
NewExpressionin the codegen - Added test coverage for
newexpressions with type arguments
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| crates/oxc_codegen/src/gen.rs | Added logic to print type arguments for NewExpression, following the same pattern used by CallExpression |
| crates/oxc_codegen/tests/integration/ts.rs | Added test case to verify new expressions with type arguments are printed correctly |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
CodSpeed Performance ReportMerging #15963 will not alter performanceComparing Summary
Footnotes
|
d808a71 to
9e65fc4
Compare
9e65fc4 to
9f9e5d6
Compare
Merge activity
You must have a Graphite account in order to use the merge queue. Create an account and try again using this link |
### 💥 BREAKING CHANGES - cbb27fd ast: [**BREAKING**] Add `TSGlobalDeclaration` type (#15712) (overlookmotel) ### 🚀 Features - 0c1f82b linter/plugins: Add `tokens` property to `Program` (#16020) (overlookmotel) - 6cff132 span: Add `Span::merge_within` method (#15869) (sapphi-red) - 102365d allocator/vec: Add `Vec::into_bump_slice` method (#15770) (Dunqing) ### 🐛 Bug Fixes - e2ca770 codegen: Add support for printing type arguments in new expressions (#15963) (Ives van Hoorne) - 2bd3cb6 apps, editors, napi: Fix `oxlint-disable` comments (#16014) (overlookmotel) - 622cb5e parser: Preserve legal comments with @preserve/@license when preceded by other annotations (#15929) (copilot-swe-agent) - 7c46a9e transformer/tagged-template-transform: Handle `\n` escape sequences (#15830) (Dunqing) - f386efc minifier: Avoid generating invalid spans (#15778) (sapphi-red) - d4ff004 parser: Forbid invalid modifiers on `module` and `global` (#15723) (overlookmotel) - 2191ae9 semantic: Allow reserved keywords in typescript ambient contexts (#15495) (sapphi-red) - 7d1ebad isolated-declarations: Incorrect nested namespace output in isolated declarations (#15800) (copilot-swe-agent) ### ⚡ Performance - b4b0ed8 transformer/typescript: Reverse order of checks (#15722) (overlookmotel) ### 📚 Documentation - c81a331 data_structures: Doc comments on fields of `Stack` (#15793) (overlookmotel) - cfae31d allocator: Use `allocator` as var name in examples (#15781) (overlookmotel) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
Code that's parsed as follows:
Is printed by codegen as follows:
While for
CallExpressionwe do render them:Is rendered the same.
This PR adds support for rendering type parameters also for new expressions.