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

fix(traverse): change visit order for Function #3685

Merged
merged 1 commit into from
Jun 17, 2024

Conversation

overlookmotel
Copy link
Contributor

@overlookmotel overlookmotel commented Jun 15, 2024

Alter Traverse's visitation order for fields of Function, to match the change made to Visit in #3681.

Copy link

graphite-app bot commented Jun 15, 2024

Your org has enabled the Graphite merge queue for merging into main

Add 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.

Copy link
Contributor Author

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

Join @overlookmotel and the rest of your teammates on Graphite Graphite

@github-actions github-actions bot added the A-ast Area - AST label Jun 15, 2024
@overlookmotel overlookmotel marked this pull request as ready for review June 15, 2024 10:13
@overlookmotel
Copy link
Contributor Author

overlookmotel commented Jun 15, 2024

@Dunqing You mentioned this in #3681 (comment).

FYI, all that's required to alter Traverse's visitation order is to alter the order of the fields in the type definition, and then run oxc_traverse's codegen.

Do we also need to change the visitation order in VisitMut to match?

Copy link

codspeed-hq bot commented Jun 15, 2024

CodSpeed Performance Report

Merging #3685 will not alter performance

Comparing 06-15-fix_traverse_change_visit_order_for_function_ (1533e9f) with main (568b647)

Summary

✅ 22 untouched benchmarks

@Dunqing
Copy link
Member

Dunqing commented Jun 15, 2024

@Dunqing You mentioned this in #3681 (comment).

FYI, all that's required to alter Traverse's visitation order is to alter the order of the fields in the type definition, and then run oxc_traverse's codegen.

Got it.

Do we also need to change the visitation order in VisitMut to match?

Yes, I forgot to change VisitMut

@overlookmotel overlookmotel force-pushed the 06-15-fix_traverse_change_visit_order_for_function_ branch from 8351f69 to 1533e9f Compare June 15, 2024 11:54
@overlookmotel
Copy link
Contributor Author

I assume type_parameters should be visited before this_param, not after. this_param is ignored by Visit so can't copy the behavior from Visit. Is that right?

@Dunqing
Copy link
Member

Dunqing commented Jun 17, 2024

I assume type_parameters should be visited before this_param, not after. this_param is ignored by Visit so can't copy the behavior from Visit. Is that right?

You're right, the Visit lacks many AST visits, and we might need a script to generate Visit.

@Dunqing Dunqing merged commit 90743e2 into main Jun 17, 2024
24 checks passed
@Dunqing Dunqing deleted the 06-15-fix_traverse_change_visit_order_for_function_ branch June 17, 2024 02:45
@overlookmotel overlookmotel restored the 06-15-fix_traverse_change_visit_order_for_function_ branch June 18, 2024 12:32
@github-actions github-actions bot mentioned this pull request Jun 18, 2024
Boshen added a commit that referenced this pull request Jun 18, 2024
## [0.15.0] - 2024-06-18

- 0537d29 cfg: [**BREAKING**] Move control flow to its own crate.
(#3728) (rzvxa)

- 5c38a0f codegen: [**BREAKING**] New code gen API (#3740) (Boshen)

- 4bce59d semantic/cfg: [**BREAKING**] Re-export `petgraph` as
`control_flow::graph`. (#3722) (rzvxa)

- 534242a codegen: [**BREAKING**] Remove
`CodegenOptions::enable_typescript` (#3674) (Boshen)

- 0578ece ast: [**BREAKING**] Remove
`ExportDefaultDeclarationKind::TSEnumDeclaration` (#3666) (Dunqing)

### Features

- 5a99d30 codegen: Improve codegen formatting (#3735) (Boshen)
- bf9b38a codegen: Improve codegen formatting (#3731) (Boshen)
- 4a004e2 codegen: Print TSImport remaining fields (#3695) (Dunqing)
- a56cb1b codegen: Print accessibility for MethodDefinition (#3690)
(Dunqing)
- 38a75e5 coverage: Improve codegen (#3729) (Boshen)
- 750a534 coverage: Transformer idempotency test (#3691) (Boshen)
- ee627c3 isolated-declarations: Create unique name for `_default`
(#3730) (Dunqing)
- 81e9526 isolated-declarations: Inferring set accessor parameter type
from get accessor return type (#3725) (Dunqing)
- 77d5533 isolated-declarations: Report errors that are consistent with
typescript. (#3720) (Dunqing)
- 8f5655d linter: Add eslint/no-useless-constructor (#3594) (Don Isaac)
- 046ff3f linter/eslint: Add `no_unreachable` rule. (#3238) (rzvxa)
- 0b8098a napi: Isolated-declaration (#3718) (Boshen)
- 527bfc8 npm/oxc-transform: Setup npm/oxc-transform and publish
(Boshen)
- d65c652 parser: Display jsx mismatch error, e.g. `<Foo></Bar>` (#3696)
(Boshen)
- 9c31ed9 semantic/cfg: Propagate unreachable edges through subgraphs.
(#3648) (rzvxa)
- d9c5b33 semantic/cfg: Add `Condition` instruction. (#3567) (Ali
Rezvani)
- f2dfd66 semantic/cfg: Add iteration instructions. (#3566) (rzvxa)
- 910193e transformer-dts: Report error for super class (#3711)
(Dunqing)
- 413d7be transformer-dts: Transform enum support (#3710) (Dunqing)
- 35c382e transformer-dts: Remove type annotation from private field
(#3689) (Dunqing)
- 0e6d3ce transformer-dts: Report error for async function and generator
(#3688) (Dunqing)
- b22b59a transformer-dts: Transform namespace support (#3683) (Dunqing)
- 4f2db46 transformer-dts: `--isolatedDeclarations` dts transform
(#3664) (Dunqing)

### Bug Fixes

- 2158268 ast: Incorrect visit order in function (#3681) (Dunqing)
- da1e2d0 codegen: Improve typescript codegen (#3708) (Boshen)
- f1b793f isolated-declarations: Function overloads reaching unreachable
(#3739) (Dunqing)
- 0fbecdc isolated-declarations: Should be added to references, not
bindings (#3726) (Dunqing)
- 8f64d99 minifier: Respect `join_vars: false` option (#3724)
(mysteryven)
- 70fc69b semantic: Add Eq to CtxFlags (#3651) (Yuji Sugiura)
- 7a58fec semantic/cfg: Issue in unlabeled `Ctx`s. (#3678) (rzvxa)
- abd6ac8 semantic/cfg: Discrete finalization path after `NewFunction`s.
(#3671) (rzvxa)
- e148a32 semantic/cfg: Correct unreachability propagation in
try-finally. (#3667) (Ali Rezvani)
- 59666e0 transformer: Do not rename accessible identifier references
(#3623) (Dunqing)
- 90743e2 traverse: Change visit order for `Function` (#3685)
(overlookmotel)

### Performance

- 2717a1a semantic/cfg: Lower the visits in
`neighbors_filtered_by_edge_weight`. (#3676) (rzvxa)

### Refactor

- fa7a6ba codegen: Add `gen` method to ast nodes (#3687) (Boshen)
- 09b92b6 codegen: Move `gen_ts` into `gen` to make searching things
easier (#3680) (Boshen)
- 3c59735 isolated-declarations: Remove `TransformDtsCtx` (#3719)
(Boshen)
- 815260e isolated-declarations: Decouple codegen (#3715) (Boshen)
- 7ec44f8 semantic: Rename `cfg` macro to `control_flow`. (#3742)
(rzvxa)
- d8ad321 semantic: Make control flow generation optional. (#3737)
(rzvxa)
- a94a72d semantic: Expose 1 checker function instead of 2 (#3694)
(Boshen)
- bd8d115 semantic/cfg: Remove unused types. (#3677) (rzvxa)
- f702fb9 semantic/cfg: Cleanup control flow and it's builder. (#3650)
(rzvxa)
- 4f16664 transformer_dts: Create a `Program` for codegen (#3679)
(Boshen)

Co-authored-by: Boshen <Boshen@users.noreply.github.com>
@Boshen Boshen deleted the 06-15-fix_traverse_change_visit_order_for_function_ branch September 11, 2024 12:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-ast Area - AST
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants