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(semantic): Set all exported declaration variables with the SymbolFlags::Export flag #7344

Closed
wants to merge 2 commits into from

Conversation

magic-akari
Copy link
Contributor

Copy link

graphite-app bot commented Nov 18, 2024

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

Add the label “0-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.

@github-actions github-actions bot added A-semantic Area - Semantic C-bug Category - Bug labels Nov 18, 2024
Copy link

codspeed-hq bot commented Nov 18, 2024

CodSpeed Performance Report

Merging #7344 will not alter performance

Comparing fix-semantic-export (c24f9a6) with main (bf839c1)

Summary

✅ 30 untouched benchmarks

@magic-akari magic-akari added the 0-merge Merge with Graphite Merge Queue label Nov 18, 2024
Copy link
Contributor Author

Merge activity

  • Nov 18, 12:05 PM EST: The merge label '0-merge' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.

@Boshen Boshen removed the 0-merge Merge with Graphite Merge Queue label Nov 19, 2024
Comment on lines +585 to +589
if let Some(decl) = &decl.declaration {
decl.bound_names(&mut |ident| {
self.add_export_flag_to_identifier(ident.name.as_str());
});
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this way, not only handle VariableDeclaration but also handle FunctionDeclaration and other declarations, so we may need to remove the repeated logic we had written to handle other declarations.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you prefer to handle VariableDeclarations here only?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or do you prefer to handle all exports here (leave program), removing other code logic for handling exports?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer to handle all export declarations here because the previous way we need to avoid adding SymbolFlags::Export to the wrong symbol.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remote: Permission to oxc-project/oxc.git denied to magic-akari.
fatal: unable to access 'https://github.com/oxc-project/oxc.git/': The requested URL returned error: 403

😂

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Dunqing I attempted to relocate some code but encountered strange problems.
Directly moving the code from add_export_flag_to_export_identifiers (the AstKind::Program case of leave_kind) to leave_kind is not equivalent.

I successfully moved AstKind::ExportNamedDeclaration, but when I tried to move AstKind::ExportDefaultDeclaration, the test cases failed.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It has been a long time since I last modified this part code, and I need to get reacquainted with it. BTW, our team wants to fix this issue as soon as possible, I will make edits directly in this PR to avoid communication costs. I hope you don’t mind!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-semantic Area - Semantic C-bug Category - Bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

semantic: missing Export flag in exported variable declaration
3 participants