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

[parser] Report escapes in kws only if they won't be used as identifiers #10455

Merged
merged 1 commit into from Sep 17, 2019

Conversation

nicolo-ribaudo
Copy link
Member

We can do it by tokenizing escaped keywords as normal identifiers, so that they won't
be accidentally used as real keywords.

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

We can do it by tokenizing escaped keywords as normal identifiers, so that they won't
be accidentally used as real keywords.
@nicolo-ribaudo nicolo-ribaudo added PR: Spec Compliance 👓 A type of pull request used for our changelog categories pkg: parser labels Sep 17, 2019
@babel-bot
Copy link
Collaborator

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

1 similar comment
@babel-bot
Copy link
Collaborator

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

@nicolo-ribaudo nicolo-ribaudo merged commit cb881e6 into babel:master Sep 17, 2019
@nicolo-ribaudo nicolo-ribaudo deleted the escape-kw-like-id branch September 17, 2019 22:13
nicolo-ribaudo added a commit to nicolo-ribaudo/babel that referenced this pull request Oct 22, 2019
nicolo-ribaudo added a commit to nicolo-ribaudo/babel that referenced this pull request Oct 22, 2019
nicolo-ribaudo added a commit to nicolo-ribaudo/babel that referenced this pull request Oct 22, 2019
nicolo-ribaudo added a commit to nicolo-ribaudo/babel that referenced this pull request Nov 5, 2019
nicolo-ribaudo added a commit that referenced this pull request Nov 5, 2019
* Add error recovery support to @babel/parser

* Update @babel/parser tests to always recover from errors

* Update this.raise usage in @babel/parser:

- expression.js
- lval.js
- statement.js
- estree.js
- flow.js
- jsx/index.js
- tokenizer/index.js

* Update @babel/parser fixtures with recovered errors

* Fix tests out of @babel/parser

* Do not use try/catch for control flow

* Update invalid fixtures

* Do not report invalid lhs in toAssignable

* Do not validate function id multiple times

* Dedupe reserved await errors

* Remove duplicate errors about strict reserved bindings

* Remove duplicated error about yield/await inside params

* Don't error twice for methods in object patterns

* Don't report invalid super() twice

* Remove dup error about reserved param for expr arrows

* Remove double escapes in migrated tests

* Dedupe errors about invalid escapes in identifiers

* Remove duplicated error about decorated constructor

* Remove duplicated error about spread in flow class

* Don't throw for invalid super usage

* Don't fail for object decorators with stage 2

* Fix flow inexact type errors

* Fix flow

* Fix errors about escapes in keywords (ref: #10455)

* Update after rebase

* Fix todo

* Remove duplicated error when using += for defaults

* Remove unnecessary throw

* Nit: use ??
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: Spec Compliance 👓 A type of pull request used for our changelog categories
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[parser] unicode escape in ident key of objlit should not throw keyword error
4 participants