Skip to content
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(transformer/class-properties): do not recreate private field if not transforming it #8044

Conversation

overlookmotel
Copy link
Contributor

@overlookmotel overlookmotel commented Dec 20, 2024

Previously we were taking private fields from AST and then generating an identical node if not transforming it. Instead, just leave it as is.

Copy link
Contributor Author

overlookmotel commented Dec 20, 2024


How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • 0-merge - adds this PR to the back of the merge queue
  • hotfix - for urgent hot fixes, skip the queue and merge this PR next

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.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@overlookmotel overlookmotel marked this pull request as ready for review December 20, 2024 13:30
Copy link

codspeed-hq bot commented Dec 20, 2024

CodSpeed Performance Report

Merging #8044 will not alter performance

Comparing 12-20-refactor_transformer_class-properties_do_not_recreate_private_field_if_not_transforming_it (cbd5169) with main (1932f1e)

Summary

✅ 29 untouched benchmarks

@overlookmotel overlookmotel force-pushed the 12-20-fix_transformer_class-properties_correctly_resolve_private_fields_pointing_to_private_methods branch from 5228fbc to 795d2aa Compare December 20, 2024 13:38
@overlookmotel overlookmotel force-pushed the 12-20-refactor_transformer_class-properties_do_not_recreate_private_field_if_not_transforming_it branch from 0435ae9 to e83848a Compare December 20, 2024 13:38
@overlookmotel overlookmotel force-pushed the 12-20-fix_transformer_class-properties_correctly_resolve_private_fields_pointing_to_private_methods branch from 795d2aa to 88d36ca Compare December 20, 2024 15:03
@overlookmotel overlookmotel force-pushed the 12-20-refactor_transformer_class-properties_do_not_recreate_private_field_if_not_transforming_it branch from e83848a to 95af59a Compare December 20, 2024 15:03
@overlookmotel overlookmotel changed the base branch from 12-20-fix_transformer_class-properties_correctly_resolve_private_fields_pointing_to_private_methods to 12-20-fix_transformer_class-properties_correctly_resolve_private_fields_pointing_to_private_accessors December 20, 2024 15:03
@graphite-app graphite-app bot added the 0-merge Merge with Graphite Merge Queue label Dec 21, 2024
Copy link

graphite-app bot commented Dec 21, 2024

Merge activity

@graphite-app graphite-app bot added 0-merge Merge with Graphite Merge Queue and removed 0-merge Merge with Graphite Merge Queue labels Dec 21, 2024
… if not transforming it (#8044)

Previously we were taking private fields from AST and then generating an identical node if not transforming it. Instead, just leave it as is.
@graphite-app graphite-app bot force-pushed the 12-20-fix_transformer_class-properties_correctly_resolve_private_fields_pointing_to_private_accessors branch from b2ec515 to e67cd05 Compare December 23, 2024 03:44
@graphite-app graphite-app bot force-pushed the 12-20-refactor_transformer_class-properties_do_not_recreate_private_field_if_not_transforming_it branch from 95af59a to cbd5169 Compare December 23, 2024 03:45
Base automatically changed from 12-20-fix_transformer_class-properties_correctly_resolve_private_fields_pointing_to_private_accessors to main December 23, 2024 03:55
@graphite-app graphite-app bot merged commit cbd5169 into main Dec 23, 2024
26 checks passed
@graphite-app graphite-app bot deleted the 12-20-refactor_transformer_class-properties_do_not_recreate_private_field_if_not_transforming_it branch December 23, 2024 03:58
Boshen added a commit that referenced this pull request Dec 25, 2024
## [0.44.0] - 2024-12-25

- ad2a620 ast: [**BREAKING**] Add missing
`AssignmentTargetProperty::computed` (#8097) (Boshen)

### Features

- c2daa20 ast: Add `Expression::into_inner_expression` (#8048)
(overlookmotel)
- 618b6aa codege: Minify whitespace in object getter / setter (#8080)
(Boshen)
- 4727667 codegen: Minify arrow expr `(x) => y` -> `x => y` (#8078)
(Boshen)
- 0562830 codegen: Minify string with backtick when needed (#8095)
(Boshen)
- 6237c05 codegen: Minify more whitespace (#8089) (Boshen)
- 6355b7c codegen: Minify `export { 's' as 's' }` -> `export { 's' }`
(#8093) (Boshen)
- fccfda9 codegen: Minify `class{static[computed]}` (#8088) (Boshen)
- f873139 codegen: Minify `for (_ of [])` -> `for(_ of[])` (#8086)
(Boshen)
- 8b8cbcd codegen: Minify `case "foo"` -> `case"foo"` (#8085) (Boshen)
- 414c118 codegen: Minify `yield "s"` -> `yield"s"` (#8084) (Boshen)
- f8f067b codegen: Minify class method `async*fn(){}` (#8083) (Boshen)
- 1d5ae81 codegen: Minify `const [foo] = bar` -> `const[foo]=bar`
(#8079) (Boshen)
- e3f78fb codegen: `new Foo()` -> `new Foo` when minify (#8077) (Boshen)
- d84d60a codegen: Minify numbers with large exponents (#8074) (Boshen)
- 373279b codegen: Balance string quotes when minify whitespace (#8072)
(Boshen)
- 5397fe9 minifier: Constant fold `undefined?.bar` -> `undefined`
(#8075) (Boshen)
- 1932f1e minifier: Fold `foo === undefined || foo === null` (#8063) (翠
/ green)
- 11c4bd8 span: Implement source type `{file basename}.d.{extension}.ts`
(#8109) (Boshen)
- be4feb4 syntax: Add `SymbolId::new` method (#8041) (overlookmotel)
- e632a7b transformer: Remove typescript symbols after transform (#8069)
(Boshen)

### Bug Fixes

- bdc241d codegen: Disallow template literals in object property key
(#8108) (Boshen)
- 728ed20 codegen: Print `yield * ident` correctly (Boshen)
- b605baa minifier: Constant fold strings with tab char (#8096) (Boshen)
- de82492 parser: Report syntax errors for missing constructor
implementations (#8081) (camc314)
- 55d6eb9 parser: Disallow type parameters on class constructors (#8071)
(injuly)
- be2c60d parser: Parse `import source from from 'mod'` (#8056) (Boshen)
- 708e9cf semantic: Report errors for missing class method impls (#8082)
(camc314)
- 3057686 transformer/class-properties: Unwrap parenthesised expressions
(#8049) (overlookmotel)
- e67cd05 transformer/class-properties: Correctly resolve private fields
pointing to private accessors (#8047) (overlookmotel)
- 6b08c6e transformer/class-properties: Correctly resolve private fields
pointing to private methods (#8042) (overlookmotel)
- 274f117 transformer/nullish-coalescing: Use correct scope id for
binding (#8053) (camc314)

### Performance

- 78d2e83 sourcemap: Improve perf of `search_original_line_and_column`
(#7926) (Cameron)

### Refactor

- 7110c7b codegen: Add `print_quoted_utf16` and `print_unquoted_utf16`
methods (#8107) (Boshen)
- 8b54d89 minifier: Remove parens must happen on enter (#8060) (Boshen)
- 7cb84f3 minifier: Only minify on ast node exit (#8059) (Boshen)
- 77d845a minifier: Fuse DCE AST passes (#8058) (Boshen)
- 6123f5e minifier: Fold statements on exit (#8057) (Boshen)
- cbd5169 transformer/class-properties: Do not recreate private field if
not transforming it (#8044) (overlookmotel)
- 98e8a72 transformer/class-properties: Do not take mut ref when immut
ref will do (#8040) (overlookmotel)

Co-authored-by: Boshen <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0-merge Merge with Graphite Merge Queue A-transformer Area - Transformer / Transpiler C-cleanup Category - technical debt or refactoring. Solution not expected to change behavior
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant