-
-
Notifications
You must be signed in to change notification settings - Fork 456
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
refactor(ast): reduce #[cfg_attr]
boilerplate in AST type defs
#4375
refactor(ast): reduce #[cfg_attr]
boilerplate in AST type defs
#4375
Conversation
Your org has enabled the Graphite merge queue for merging into mainAdd the label “merge” to the PR and Graphite will automatically add it to the merge queue when it’s ready to merge. Or use the label “hotfix” to add to the merge queue as a hot fix. You must have a Graphite account and log in to Graphite in order to use the merge queue. Sign up using this link. |
This stack of pull requests is managed by Graphite. Learn more about stacking. Join @overlookmotel and the rest of your teammates on Graphite |
CodSpeed Performance ReportMerging #4375 will not alter performanceComparing Summary
|
3211b92
to
838ac4f
Compare
Merge activity
|
Remove a ton of `#[cfg_attr(feature = "serialize", serde(...))]` boilerplate from AST type definitions. Before: `#[cfg_attr(feature = "serialize", serde(flatten))]` After: `#[serde(flatten)]` This is a reprise of #2669, which was later reverted, but this time doing it using our existing zero-cost `#[ast]` dummy macro attr, so no compile time penalty this time around. This makes no difference to either runtime or compile time behavior, purely removes the `cfg_attr` boilerplate and makes the code easier to read.
838ac4f
to
abfccbd
Compare
## [0.22.0] - 2024-07-22 - 85a7cea semantic: [**BREAKING**] Remove name from `reference` (#4329) (Dunqing) - f68b659 ast: [**BREAKING**] Reorder fields of `ArrowFunctionExpression` (#4364) (Dunqing) ### Features - d345b84 ast: Add `#[ast]` attribute to non-visited AST types. (#4309) (rzvxa) - 3c0c709 linter: Add typescript-eslint/no-extraneous-class (#4357) (Jaden Rodriguez) - 0deb027 minfier: Dce `if (xxx) else if (false) { REMOVE }` (#4407) (Boshen) - e33ec18 minifier: Compress `typeof foo == "undefined"` into `typeof foo > "u"` (#4412) (Boshen)- 6068e6b Add error codes to OxcDiagnostic (#4334) (DonIsaac) ### Bug Fixes - aece1df ast: Visit `Program`s `hashbang` field first (#4368) (overlookmotel) - 44a10c4 codegen: Object shorthand with parens `({x: (x)})` -> `({ x })` (#4391) (Boshen) - 3d88f20 codegen: Print shorthand for all `{ x }` variants (#4374) (Boshen) - e624dff codegen,mangler: Do not print shorthand for `ObjectProperty` (#4350) (Boshen) - 267f7c4 minifier: Skip `Object.defineProperty(exports, ...)` for `cjs-module-lexer` (#4409) (Boshen) - bc8d4e5 semantic: Correct comment (#4410) (overlookmotel) - 6ffce86 semantic: Align `visit_arrow_function_expression` field visit order with ast (#4366) (Dunqing) - 4cd5df0 sourcemap: Avoid negative line if token_chunks has same prev_dst_line (#4348) (underfin) - f8565ae transformer/typescript: Unexpectedly removed class binding from ExportNamedDeclaration (#4351) (Dunqing)- ea33f94 Impl PartialEq<str> for CompactStr (#4352) (DonIsaac) ### Performance - 1b51511 semantic: Use `Atom` instead of `CompactStr` for `UnresolvedReferencesStack` (#4401) (Dunqing) - 40f9356 semantic: Calculate number of nodes, scopes, symbols, references before visiting AST (#4367) (Dunqing) - da13d93 semantic: Remove bounds checks on unresolved references stack (#4390) (overlookmotel) - e70c67b semantic: Remove a branch from `add_scope` (#4384) (overlookmotel) - 402006f semantic: Simplify logic in `enter_scope` + `leave_scope` (#4383) (overlookmotel) - 7469e01 semantic: Remove branch from `Nodes::add_node` (#4361) (overlookmotel) - 7eb2864 traverse: Speed up finding UID binding name (#4356) (overlookmotel)- a207923 Replace some CompactStr usages with Cows (#4377) (DonIsaac) ### Refactor - d213773 ast: Replace serde rename "lowercase" with "camelCase" (#4376) (overlookmotel) - abfccbd ast: Reduce `#[cfg_attr]` boilerplate in AST type defs (#4375) (overlookmotel) - 5f1c7ec ast: Rename the `visited_node` marker to `ast`. (#4289) (rzvxa) - 58f6ec2 ast: Enter node before scope (#4347) (Dunqing) - 59aea73 ast: Scope is created only if CatchClause has param (#4346) (Dunqing) - 7a3e925 ast_codegen: Better visit marker parsing. (#4371) (rzvxa) - 7a75e0f linter: Use diagnostic codes in lint rules (#4349) (DonIsaac) - a2eabe1 parser: Use error codes for ts diagnostics (#4335) (DonIsaac) - 5d77b36 semantic: `visit_program` visit `hashbang` field (#4370) (overlookmotel) - f7b9ada semantic: `Program` visitor leave scope before node (#4369) (overlookmotel) - 729b288 semantic: Shorten code (#4358) (overlookmotel) - 21d0eee semantic: Use error codes for ts diagnostics (#4336) (DonIsaac) Co-authored-by: Boshen <Boshen@users.noreply.github.com>
## [0.22.0] - 2024-07-23 - 85a7cea semantic: [**BREAKING**] Remove name from `reference` (#4329) (Dunqing) - f68b659 ast: [**BREAKING**] Reorder fields of `ArrowFunctionExpression` (#4364) (Dunqing) ### Features - d345b84 ast: Add `#[ast]` attribute to non-visited AST types. (#4309) (rzvxa) - 3c0c709 linter: Add typescript-eslint/no-extraneous-class (#4357) (Jaden Rodriguez) - 68efcd4 linter/react-perf: Handle new objects and arrays in prop assignment patterns (#4396) (DonIsaac) - 0deb027 minfier: Dce `if (xxx) else if (false) { REMOVE }` (#4407) (Boshen) - e33ec18 minifier: Compress `typeof foo == "undefined"` into `typeof foo > "u"` (#4412) (Boshen)- 6068e6b Add error codes to OxcDiagnostic (#4334) (DonIsaac) ### Bug Fixes - aece1df ast: Visit `Program`s `hashbang` field first (#4368) (overlookmotel) - 44a10c4 codegen: Object shorthand with parens `({x: (x)})` -> `({ x })` (#4391) (Boshen) - 3d88f20 codegen: Print shorthand for all `{ x }` variants (#4374) (Boshen) - e624dff codegen,mangler: Do not print shorthand for `ObjectProperty` (#4350) (Boshen) - ac08de8 linter/react_perf: Allow new objects, array, fns, etc in top scope (#4395) (DonIsaac) - 267f7c4 minifier: Skip `Object.defineProperty(exports, ...)` for `cjs-module-lexer` (#4409) (Boshen) - bc8d4e5 semantic: Correct comment (#4410) (overlookmotel) - 6ffce86 semantic: Align `visit_arrow_function_expression` field visit order with ast (#4366) (Dunqing) - 4cd5df0 sourcemap: Avoid negative line if token_chunks has same prev_dst_line (#4348) (underfin) - f8565ae transformer/typescript: Unexpectedly removed class binding from ExportNamedDeclaration (#4351) (Dunqing)- ea33f94 Impl PartialEq<str> for CompactStr (#4352) (DonIsaac) ### Performance - 1b51511 semantic: Use `Atom` instead of `CompactStr` for `UnresolvedReferencesStack` (#4401) (Dunqing) - 40f9356 semantic: Calculate number of nodes, scopes, symbols, references before visiting AST (#4367) (Dunqing) - da13d93 semantic: Remove bounds checks on unresolved references stack (#4390) (overlookmotel) - e70c67b semantic: Remove a branch from `add_scope` (#4384) (overlookmotel) - 402006f semantic: Simplify logic in `enter_scope` + `leave_scope` (#4383) (overlookmotel) - 7469e01 semantic: Remove branch from `Nodes::add_node` (#4361) (overlookmotel) - 7eb2864 traverse: Speed up finding UID binding name (#4356) (overlookmotel)- a207923 Replace some CompactStr usages with Cows (#4377) (DonIsaac) ### Refactor - d213773 ast: Replace serde rename "lowercase" with "camelCase" (#4376) (overlookmotel) - abfccbd ast: Reduce `#[cfg_attr]` boilerplate in AST type defs (#4375) (overlookmotel) - 5f1c7ec ast: Rename the `visited_node` marker to `ast`. (#4289) (rzvxa) - 58f6ec2 ast: Enter node before scope (#4347) (Dunqing) - 59aea73 ast: Scope is created only if CatchClause has param (#4346) (Dunqing) - 7a3e925 ast_codegen: Better visit marker parsing. (#4371) (rzvxa) - 7a75e0f linter: Use diagnostic codes in lint rules (#4349) (DonIsaac) - a2eabe1 parser: Use error codes for ts diagnostics (#4335) (DonIsaac) - 5d77b36 semantic: `visit_program` visit `hashbang` field (#4370) (overlookmotel) - f7b9ada semantic: `Program` visitor leave scope before node (#4369) (overlookmotel) - 729b288 semantic: Shorten code (#4358) (overlookmotel) - 21d0eee semantic: Use error codes for ts diagnostics (#4336) (DonIsaac) Co-authored-by: Boshen <Boshen@users.noreply.github.com>
## [0.22.0] - 2024-07-22 - 85a7cea semantic: [**BREAKING**] Remove name from `reference` (#4329) (Dunqing) - f68b659 ast: [**BREAKING**] Reorder fields of `ArrowFunctionExpression` (#4364) (Dunqing) ### Features - d345b84 ast: Add `#[ast]` attribute to non-visited AST types. (#4309) (rzvxa) - 3c0c709 linter: Add typescript-eslint/no-extraneous-class (#4357) (Jaden Rodriguez) - 0deb027 minfier: Dce `if (xxx) else if (false) { REMOVE }` (#4407) (Boshen) - e33ec18 minifier: Compress `typeof foo == "undefined"` into `typeof foo > "u"` (#4412) (Boshen)- 6068e6b Add error codes to OxcDiagnostic (#4334) (DonIsaac) ### Bug Fixes - aece1df ast: Visit `Program`s `hashbang` field first (#4368) (overlookmotel) - 44a10c4 codegen: Object shorthand with parens `({x: (x)})` -> `({ x })` (#4391) (Boshen) - 3d88f20 codegen: Print shorthand for all `{ x }` variants (#4374) (Boshen) - e624dff codegen,mangler: Do not print shorthand for `ObjectProperty` (#4350) (Boshen) - 267f7c4 minifier: Skip `Object.defineProperty(exports, ...)` for `cjs-module-lexer` (#4409) (Boshen) - bc8d4e5 semantic: Correct comment (#4410) (overlookmotel) - 6ffce86 semantic: Align `visit_arrow_function_expression` field visit order with ast (#4366) (Dunqing) - 4cd5df0 sourcemap: Avoid negative line if token_chunks has same prev_dst_line (#4348) (underfin) - f8565ae transformer/typescript: Unexpectedly removed class binding from ExportNamedDeclaration (#4351) (Dunqing)- ea33f94 Impl PartialEq<str> for CompactStr (#4352) (DonIsaac) ### Performance - 1b51511 semantic: Use `Atom` instead of `CompactStr` for `UnresolvedReferencesStack` (#4401) (Dunqing) - 40f9356 semantic: Calculate number of nodes, scopes, symbols, references before visiting AST (#4367) (Dunqing) - da13d93 semantic: Remove bounds checks on unresolved references stack (#4390) (overlookmotel) - e70c67b semantic: Remove a branch from `add_scope` (#4384) (overlookmotel) - 402006f semantic: Simplify logic in `enter_scope` + `leave_scope` (#4383) (overlookmotel) - 7469e01 semantic: Remove branch from `Nodes::add_node` (#4361) (overlookmotel) - 7eb2864 traverse: Speed up finding UID binding name (#4356) (overlookmotel)- a207923 Replace some CompactStr usages with Cows (#4377) (DonIsaac) ### Refactor - d213773 ast: Replace serde rename "lowercase" with "camelCase" (#4376) (overlookmotel) - abfccbd ast: Reduce `#[cfg_attr]` boilerplate in AST type defs (#4375) (overlookmotel) - 5f1c7ec ast: Rename the `visited_node` marker to `ast`. (#4289) (rzvxa) - 58f6ec2 ast: Enter node before scope (#4347) (Dunqing) - 59aea73 ast: Scope is created only if CatchClause has param (#4346) (Dunqing) - 7a3e925 ast_codegen: Better visit marker parsing. (#4371) (rzvxa) - 7a75e0f linter: Use diagnostic codes in lint rules (#4349) (DonIsaac) - a2eabe1 parser: Use error codes for ts diagnostics (#4335) (DonIsaac) - 5d77b36 semantic: `visit_program` visit `hashbang` field (#4370) (overlookmotel) - f7b9ada semantic: `Program` visitor leave scope before node (#4369) (overlookmotel) - 729b288 semantic: Shorten code (#4358) (overlookmotel) - 21d0eee semantic: Use error codes for ts diagnostics (#4336) (DonIsaac) Co-authored-by: Boshen <Boshen@users.noreply.github.com>
## [0.22.0] - 2024-07-23 - 85a7cea semantic: [**BREAKING**] Remove name from `reference` (#4329) (Dunqing) - f68b659 ast: [**BREAKING**] Reorder fields of `ArrowFunctionExpression` (#4364) (Dunqing) ### Features - d345b84 ast: Add `#[ast]` attribute to non-visited AST types. (#4309) (rzvxa) - 3c0c709 linter: Add typescript-eslint/no-extraneous-class (#4357) (Jaden Rodriguez) - 68efcd4 linter/react-perf: Handle new objects and arrays in prop assignment patterns (#4396) (DonIsaac) - 0deb027 minfier: Dce `if (xxx) else if (false) { REMOVE }` (#4407) (Boshen) - e33ec18 minifier: Compress `typeof foo == "undefined"` into `typeof foo > "u"` (#4412) (Boshen)- 6068e6b Add error codes to OxcDiagnostic (#4334) (DonIsaac) ### Bug Fixes - aece1df ast: Visit `Program`s `hashbang` field first (#4368) (overlookmotel) - 44a10c4 codegen: Object shorthand with parens `({x: (x)})` -> `({ x })` (#4391) (Boshen) - 3d88f20 codegen: Print shorthand for all `{ x }` variants (#4374) (Boshen) - e624dff codegen,mangler: Do not print shorthand for `ObjectProperty` (#4350) (Boshen) - ac08de8 linter/react_perf: Allow new objects, array, fns, etc in top scope (#4395) (DonIsaac) - 267f7c4 minifier: Skip `Object.defineProperty(exports, ...)` for `cjs-module-lexer` (#4409) (Boshen) - bc8d4e5 semantic: Correct comment (#4410) (overlookmotel) - 6ffce86 semantic: Align `visit_arrow_function_expression` field visit order with ast (#4366) (Dunqing) - 4cd5df0 sourcemap: Avoid negative line if token_chunks has same prev_dst_line (#4348) (underfin) - f8565ae transformer/typescript: Unexpectedly removed class binding from ExportNamedDeclaration (#4351) (Dunqing)- ea33f94 Impl PartialEq<str> for CompactStr (#4352) (DonIsaac) ### Performance - 1b51511 semantic: Use `Atom` instead of `CompactStr` for `UnresolvedReferencesStack` (#4401) (Dunqing) - 40f9356 semantic: Calculate number of nodes, scopes, symbols, references before visiting AST (#4367) (Dunqing) - da13d93 semantic: Remove bounds checks on unresolved references stack (#4390) (overlookmotel) - e70c67b semantic: Remove a branch from `add_scope` (#4384) (overlookmotel) - 402006f semantic: Simplify logic in `enter_scope` + `leave_scope` (#4383) (overlookmotel) - 7469e01 semantic: Remove branch from `Nodes::add_node` (#4361) (overlookmotel) - 7eb2864 traverse: Speed up finding UID binding name (#4356) (overlookmotel)- a207923 Replace some CompactStr usages with Cows (#4377) (DonIsaac) ### Refactor - d213773 ast: Replace serde rename "lowercase" with "camelCase" (#4376) (overlookmotel) - abfccbd ast: Reduce `#[cfg_attr]` boilerplate in AST type defs (#4375) (overlookmotel) - 5f1c7ec ast: Rename the `visited_node` marker to `ast`. (#4289) (rzvxa) - 58f6ec2 ast: Enter node before scope (#4347) (Dunqing) - 59aea73 ast: Scope is created only if CatchClause has param (#4346) (Dunqing) - 7a3e925 ast_codegen: Better visit marker parsing. (#4371) (rzvxa) - 7a75e0f linter: Use diagnostic codes in lint rules (#4349) (DonIsaac) - a2eabe1 parser: Use error codes for ts diagnostics (#4335) (DonIsaac) - 5d77b36 semantic: `visit_program` visit `hashbang` field (#4370) (overlookmotel) - f7b9ada semantic: `Program` visitor leave scope before node (#4369) (overlookmotel) - 729b288 semantic: Shorten code (#4358) (overlookmotel) - 21d0eee semantic: Use error codes for ts diagnostics (#4336) (DonIsaac) Co-authored-by: Boshen <Boshen@users.noreply.github.com>
## [0.22.0] - 2024-07-23 - 85a7cea semantic: [**BREAKING**] Remove name from `reference` (#4329) (Dunqing) - f68b659 ast: [**BREAKING**] Reorder fields of `ArrowFunctionExpression` (#4364) (Dunqing) ### Features - d345b84 ast: Add `#[ast]` attribute to non-visited AST types. (#4309) (rzvxa) - 3c0c709 linter: Add typescript-eslint/no-extraneous-class (#4357) (Jaden Rodriguez) - 68efcd4 linter/react-perf: Handle new objects and arrays in prop assignment patterns (#4396) (DonIsaac) - 0deb027 minfier: Dce `if (xxx) else if (false) { REMOVE }` (#4407) (Boshen) - e33ec18 minifier: Compress `typeof foo == "undefined"` into `typeof foo > "u"` (#4412) (Boshen)- 6068e6b Add error codes to OxcDiagnostic (#4334) (DonIsaac) ### Bug Fixes - aece1df ast: Visit `Program`s `hashbang` field first (#4368) (overlookmotel) - 44a10c4 codegen: Object shorthand with parens `({x: (x)})` -> `({ x })` (#4391) (Boshen) - 3d88f20 codegen: Print shorthand for all `{ x }` variants (#4374) (Boshen) - e624dff codegen,mangler: Do not print shorthand for `ObjectProperty` (#4350) (Boshen) - ac08de8 linter/react_perf: Allow new objects, array, fns, etc in top scope (#4395) (DonIsaac) - 267f7c4 minifier: Skip `Object.defineProperty(exports, ...)` for `cjs-module-lexer` (#4409) (Boshen) - bc8d4e5 semantic: Correct comment (#4410) (overlookmotel) - 6ffce86 semantic: Align `visit_arrow_function_expression` field visit order with ast (#4366) (Dunqing) - 4cd5df0 sourcemap: Avoid negative line if token_chunks has same prev_dst_line (#4348) (underfin) - f8565ae transformer/typescript: Unexpectedly removed class binding from ExportNamedDeclaration (#4351) (Dunqing)- ea33f94 Impl PartialEq<str> for CompactStr (#4352) (DonIsaac) ### Performance - 1b51511 semantic: Use `Atom` instead of `CompactStr` for `UnresolvedReferencesStack` (#4401) (Dunqing) - 40f9356 semantic: Calculate number of nodes, scopes, symbols, references before visiting AST (#4367) (Dunqing) - da13d93 semantic: Remove bounds checks on unresolved references stack (#4390) (overlookmotel) - e70c67b semantic: Remove a branch from `add_scope` (#4384) (overlookmotel) - 402006f semantic: Simplify logic in `enter_scope` + `leave_scope` (#4383) (overlookmotel) - 7469e01 semantic: Remove branch from `Nodes::add_node` (#4361) (overlookmotel) - 7eb2864 traverse: Speed up finding UID binding name (#4356) (overlookmotel)- a207923 Replace some CompactStr usages with Cows (#4377) (DonIsaac) ### Refactor - 504daed allocator: Rename fn params for `Box::new_in` (#4431) (overlookmotel) - d213773 ast: Replace serde rename "lowercase" with "camelCase" (#4376) (overlookmotel) - abfccbd ast: Reduce `#[cfg_attr]` boilerplate in AST type defs (#4375) (overlookmotel) - 5f1c7ec ast: Rename the `visited_node` marker to `ast`. (#4289) (rzvxa) - 58f6ec2 ast: Enter node before scope (#4347) (Dunqing) - 59aea73 ast: Scope is created only if CatchClause has param (#4346) (Dunqing) - 7a3e925 ast_codegen: Better visit marker parsing. (#4371) (rzvxa) - 0e1ea90 isolated-declarations: Remove useless code from scope (#4420) (Dunqing) - 7a75e0f linter: Use diagnostic codes in lint rules (#4349) (DonIsaac) - a2eabe1 parser: Use error codes for ts diagnostics (#4335) (DonIsaac) - 5d77b36 semantic: `visit_program` visit `hashbang` field (#4370) (overlookmotel) - f7b9ada semantic: `Program` visitor leave scope before node (#4369) (overlookmotel) - 729b288 semantic: Shorten code (#4358) (overlookmotel) - 21d0eee semantic: Use error codes for ts diagnostics (#4336) (DonIsaac) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
- 85a7cea semantic: [**BREAKING**] Remove name from `reference` (#4329) (Dunqing) - f68b659 ast: [**BREAKING**] Reorder fields of `ArrowFunctionExpression` (#4364) (Dunqing) - d345b84 ast: Add `#[ast]` attribute to non-visited AST types. (#4309) (rzvxa) - 3c0c709 linter: Add typescript-eslint/no-extraneous-class (#4357) (Jaden Rodriguez) - 68efcd4 linter/react-perf: Handle new objects and arrays in prop assignment patterns (#4396) (DonIsaac) - 0deb027 minfier: Dce `if (xxx) else if (false) { REMOVE }` (#4407) (Boshen) - e33ec18 minifier: Compress `typeof foo == "undefined"` into `typeof foo > "u"` (#4412) (Boshen)- 6068e6b Add error codes to OxcDiagnostic (#4334) (DonIsaac) - aece1df ast: Visit `Program`s `hashbang` field first (#4368) (overlookmotel) - 44a10c4 codegen: Object shorthand with parens `({x: (x)})` -> `({ x })` (#4391) (Boshen) - 3d88f20 codegen: Print shorthand for all `{ x }` variants (#4374) (Boshen) - e624dff codegen,mangler: Do not print shorthand for `ObjectProperty` (#4350) (Boshen) - ac08de8 linter/react_perf: Allow new objects, array, fns, etc in top scope (#4395) (DonIsaac) - 267f7c4 minifier: Skip `Object.defineProperty(exports, ...)` for `cjs-module-lexer` (#4409) (Boshen) - bc8d4e5 semantic: Correct comment (#4410) (overlookmotel) - 6ffce86 semantic: Align `visit_arrow_function_expression` field visit order with ast (#4366) (Dunqing) - 4cd5df0 sourcemap: Avoid negative line if token_chunks has same prev_dst_line (#4348) (underfin) - f8565ae transformer/typescript: Unexpectedly removed class binding from ExportNamedDeclaration (#4351) (Dunqing)- ea33f94 Impl PartialEq<str> for CompactStr (#4352) (DonIsaac) - 1b51511 semantic: Use `Atom` instead of `CompactStr` for `UnresolvedReferencesStack` (#4401) (Dunqing) - 40f9356 semantic: Calculate number of nodes, scopes, symbols, references before visiting AST (#4367) (Dunqing) - da13d93 semantic: Remove bounds checks on unresolved references stack (#4390) (overlookmotel) - e70c67b semantic: Remove a branch from `add_scope` (#4384) (overlookmotel) - 402006f semantic: Simplify logic in `enter_scope` + `leave_scope` (#4383) (overlookmotel) - 7469e01 semantic: Remove branch from `Nodes::add_node` (#4361) (overlookmotel) - 7eb2864 traverse: Speed up finding UID binding name (#4356) (overlookmotel)- a207923 Replace some CompactStr usages with Cows (#4377) (DonIsaac) - d213773 ast: Replace serde rename "lowercase" with "camelCase" (#4376) (overlookmotel) - abfccbd ast: Reduce `#[cfg_attr]` boilerplate in AST type defs (#4375) (overlookmotel) - 5f1c7ec ast: Rename the `visited_node` marker to `ast`. (#4289) (rzvxa) - 58f6ec2 ast: Enter node before scope (#4347) (Dunqing) - 59aea73 ast: Scope is created only if CatchClause has param (#4346) (Dunqing) - 7a3e925 ast_codegen: Better visit marker parsing. (#4371) (rzvxa) - 7a75e0f linter: Use diagnostic codes in lint rules (#4349) (DonIsaac) - a2eabe1 parser: Use error codes for ts diagnostics (#4335) (DonIsaac) - 5d77b36 semantic: `visit_program` visit `hashbang` field (#4370) (overlookmotel) - f7b9ada semantic: `Program` visitor leave scope before node (#4369) (overlookmotel) - 729b288 semantic: Shorten code (#4358) (overlookmotel) - 21d0eee semantic: Use error codes for ts diagnostics (#4336) (DonIsaac) Co-authored-by: Boshen <Boshen@users.noreply.github.com>
Remove a ton of
#[cfg_attr(feature = "serialize", serde(...))]
boilerplate from AST type definitions.Before:
#[cfg_attr(feature = "serialize", serde(flatten))]
After:
#[serde(flatten)]
This is a reprise of #2669, which was later reverted, but this time doing it using our existing zero-cost
#[ast]
dummy macro attr, so no compile time penalty this time around.This makes no difference to either runtime or compile time behavior, purely removes the
cfg_attr
boilerplate and makes the code easier to read.