-
-
Notifications
You must be signed in to change notification settings - Fork 457
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
Conversation
…lFlags::Export` flag
Your org has enabled the Graphite merge queue for merging into mainAdd 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. |
c927d81
to
c24f9a6
Compare
CodSpeed Performance ReportMerging #7344 will not alter performanceComparing Summary
|
Merge activity
|
if let Some(decl) = &decl.declaration { | ||
decl.bound_names(&mut |ident| { | ||
self.add_export_flag_to_identifier(ident.name.as_str()); | ||
}); | ||
} |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
😂
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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!
Export
flag in exported variable declaration #7338