Skip to content

Comments

fix(semantic): Set all exported declaration variables with the SymbolFlags::Export flag#7344

Closed
magic-akari wants to merge 2 commits intomainfrom
fix-semantic-export
Closed

fix(semantic): Set all exported declaration variables with the SymbolFlags::Export flag#7344
magic-akari wants to merge 2 commits intomainfrom
fix-semantic-export

Conversation

@magic-akari
Copy link
Contributor

@graphite-app
Copy link
Contributor

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
@codspeed-hq
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 requested review from Boshen and Dunqing November 19, 2024 01:13
@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!

@Boshen Boshen marked this pull request as draft November 21, 2024 08:16
@graphite-app graphite-app bot closed this in 27b2268 Nov 22, 2024
@Boshen Boshen deleted the fix-semantic-export branch May 8, 2025 08:43
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