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 strict mode prescanning with EmptyStatement #9585

Merged
merged 1 commit into from
Feb 25, 2019
Merged

Fix strict mode prescanning with EmptyStatement #9585

merged 1 commit into from
Feb 25, 2019

Conversation

danez
Copy link
Member

@danez danez commented Feb 25, 2019

Q                       A
Fixed Issues?
Patch: Bug Fix? y
Major: Breaking Change?
Minor: New Feature?
Tests Added + Pass? Yes
Documentation PR Link
Any Dependency Changes?
License MIT

Correctly prescan for use strict directives.

For example this should work, because the "use strict" is not a directive, because an EmptyStatement is in front of it. (Currently throws, about non-simple parameters in strict mode)

function a ([a] = []) {
 ; 'use strict'; with ({}) {}
}

@danez danez added PR: Bug Fix 🐛 A type of pull request used for our changelog categories pkg: parser labels Feb 25, 2019
@danez danez added this to In progress in Parser: Spec Compliance, Refactoring and Performance via automation Feb 25, 2019
@babel-bot
Copy link
Collaborator

Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/10278/

@nicolo-ribaudo
Copy link
Member

Oh I have always thought that empty statements did not prevent strings from being directives.

Parser: Spec Compliance, Refactoring and Performance automation moved this from In progress to Reviewed Feb 25, 2019
@danez danez merged commit e6c1065 into babel:master Feb 25, 2019
Parser: Spec Compliance, Refactoring and Performance automation moved this from Reviewed to Done Feb 25, 2019
@danez danez deleted the fix-strict-mode-prescanning branch February 25, 2019 23:20
@lock lock bot added the outdated A closed issue/PR that is archived due to age. Recommended to make a new issue label Oct 4, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Oct 4, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
outdated A closed issue/PR that is archived due to age. Recommended to make a new issue pkg: parser PR: Bug Fix 🐛 A type of pull request used for our changelog categories
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

None yet

4 participants