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

[Merged by Bors] - Allow unicode escaped characters in identifiers that are keywords #2021

Closed
wants to merge 1 commit into from

Conversation

raskad
Copy link
Member

@raskad raskad commented Apr 8, 2022

This Pull Request changes the following:

  • Remove syntax error for unicode escaped characters in keywords from the lexer.
  • Adjust the lexer tokens for keywords to indicate if they contain unicode escaped characters.
  • Throw syntax errors in parser, when keywords cannot contain unicode escaped characters.

@raskad raskad added enhancement New feature or request parser Issues surrounding the parser lexer Issues surrounding the lexer labels Apr 8, 2022
@raskad raskad added this to the v0.15.0 milestone Apr 8, 2022
@github-actions
Copy link

github-actions bot commented Apr 8, 2022

Test262 conformance changes

VM implementation

Test result main count PR count difference
Total 88,650 88,650 0
Passed 50,750 51,182 +432
Ignored 21,711 21,711 0
Failed 16,189 15,757 -432
Panics 0 0 0
Conformance 57.25% 57.73% +0.49%
Fixed tests (432):
test/language/statements/class/ident-name-method-def-for-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-for-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-function-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-function-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-const-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-const-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-import-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-import-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-extends-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-extends-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-export-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-export-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-do-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-do-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-default-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-default-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-void-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-void-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-default-escaped-ext.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-default-escaped-ext.js (previously Failed)
test/language/statements/class/ident-name-method-def-break-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-break-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-class-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-class-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-catch-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-catch-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-if-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-if-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-let-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-let-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-this-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-this-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-in-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-in-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-continue-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-continue-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-finally-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-finally-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-try-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-try-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-new-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-new-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-instanceof-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-instanceof-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-while-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-while-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-super-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-super-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-throw-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-throw-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-else-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-else-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-typeof-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-typeof-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-switch-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-switch-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-return-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-return-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-extends-escaped-ext.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-extends-escaped-ext.js (previously Failed)
test/language/statements/class/ident-name-method-def-debugger-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-debugger-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-delete-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-delete-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-case-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-case-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-var-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-var-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-enum-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-enum-escaped.js (previously Failed)
test/language/statements/class/ident-name-method-def-with-escaped.js [strict mode] (previously Failed)
test/language/statements/class/ident-name-method-def-with-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-instanceof-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-instanceof-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-for-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-for-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-var-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-var-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-instanceof-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-instanceof-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-finally-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-finally-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-function-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-function-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-return-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-return-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-const-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-const-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-import-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-import-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-while-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-while-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-extends-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-extends-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-continue-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-continue-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-if-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-if-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-void-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-void-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-break-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-break-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-catch-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-catch-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-var-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-var-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-const-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-const-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-default-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-default-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-export-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-export-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-default-escaped-ext.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-default-escaped-ext.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-with-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-with-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-do-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-do-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-default-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-default-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-catch-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-catch-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-do-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-do-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-do-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-do-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-void-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-void-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-const-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-const-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-delete-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-delete-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-default-escaped-ext.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-default-escaped-ext.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-this-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-this-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-break-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-break-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-class-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-class-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-catch-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-catch-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-if-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-if-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-continue-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-continue-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-let-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-let-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-delete-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-delete-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-this-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-this-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-in-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-in-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-case-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-case-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-class-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-class-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-enum-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-enum-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-try-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-try-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-export-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-export-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-continue-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-continue-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-if-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-if-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-finally-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-finally-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-enum-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-enum-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-import-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-import-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-class-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-class-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-extends-escaped-ext.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-extends-escaped-ext.js (previously Failed)
test/language/expressions/object/ident-name-method-def-try-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-try-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-try-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-try-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-export-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-export-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-new-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-new-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-else-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-else-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-return-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-return-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-instanceof-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-instanceof-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-switch-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-switch-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-new-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-new-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-while-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-while-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-let-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-let-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-default-escaped-ext.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-default-escaped-ext.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-case-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-case-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-extends-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-extends-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-break-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-break-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-super-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-super-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-super-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-super-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-while-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-while-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-void-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-void-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-extends-escaped-ext.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-extends-escaped-ext.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-debugger-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-debugger-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-import-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-import-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-new-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-new-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-throw-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-throw-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-else-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-else-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-super-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-super-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-typeof-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-typeof-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-in-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-in-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-function-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-function-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-switch-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-switch-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-return-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-return-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-with-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-with-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-extends-escaped-ext.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-extends-escaped-ext.js (previously Failed)
test/language/expressions/object/ident-name-method-def-debugger-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-debugger-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-debugger-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-debugger-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-delete-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-delete-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-case-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-case-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-finally-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-finally-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-var-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-var-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-typeof-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-typeof-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-let-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-let-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-switch-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-switch-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-throw-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-throw-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-default-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-default-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-extends-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-extends-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-this-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-this-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-enum-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-enum-escaped.js (previously Failed)
test/language/expressions/object/ident-name-method-def-with-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-method-def-with-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-for-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-for-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-function-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-function-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-in-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-in-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-throw-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-throw-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-typeof-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-typeof-escaped.js (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-for-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/covered-ident-name-prop-name-literal-for-escaped.js (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-else-escaped.js [strict mode] (previously Failed)
test/language/expressions/object/ident-name-prop-name-literal-else-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-extends-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-extends-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-function-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-function-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-throw-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-throw-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-export-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-export-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-try-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-try-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-delete-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-delete-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-catch-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-catch-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-enum-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-enum-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-finally-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-finally-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-import-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-import-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-case-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-case-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-break-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-break-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-else-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-else-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-var-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-var-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-let-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-let-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-instanceof-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-instanceof-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-with-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-with-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-this-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-this-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-debugger-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-debugger-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-typeof-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-typeof-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-super-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-super-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-default-escaped-ext.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-default-escaped-ext.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-continue-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-continue-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-do-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-do-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-extends-escaped-ext.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-extends-escaped-ext.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-if-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-if-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-while-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-while-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-for-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-for-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-void-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-void-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-in-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-in-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-switch-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-switch-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-const-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-const-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-return-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-return-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-default-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-default-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-new-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-new-escaped.js (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-class-escaped.js [strict mode] (previously Failed)
test/language/expressions/assignment/member-expr-ident-name-class-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-for-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-for-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-function-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-function-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-const-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-const-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-import-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-import-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-extends-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-extends-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-export-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-export-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-do-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-do-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-default-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-default-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-void-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-void-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-default-escaped-ext.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-default-escaped-ext.js (previously Failed)
test/language/expressions/class/ident-name-method-def-break-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-break-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-class-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-class-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-catch-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-catch-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-if-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-if-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-let-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-let-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-this-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-this-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-in-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-in-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-continue-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-continue-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-finally-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-finally-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-try-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-try-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-new-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-new-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-instanceof-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-instanceof-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-while-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-while-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-super-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-super-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-throw-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-throw-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-else-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-else-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-typeof-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-typeof-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-switch-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-switch-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-return-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-return-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-extends-escaped-ext.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-extends-escaped-ext.js (previously Failed)
test/language/expressions/class/ident-name-method-def-debugger-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-debugger-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-delete-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-delete-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-case-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-case-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-var-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-var-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-enum-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-enum-escaped.js (previously Failed)
test/language/expressions/class/ident-name-method-def-with-escaped.js [strict mode] (previously Failed)
test/language/expressions/class/ident-name-method-def-with-escaped.js (previously Failed)

@codecov
Copy link

codecov bot commented Apr 8, 2022

Codecov Report

Merging #2021 (14abe64) into main (a1b5191) will increase coverage by 0.22%.
The diff coverage is 26.96%.

@@            Coverage Diff             @@
##             main    #2021      +/-   ##
==========================================
+ Coverage   43.99%   44.21%   +0.22%     
==========================================
  Files         211      210       -1     
  Lines       18665    18553     -112     
==========================================
- Hits         8211     8204       -7     
+ Misses      10454    10349     -105     
Impacted Files Coverage Δ
boa_engine/src/syntax/lexer/identifier.rs 52.54% <0.00%> (+1.74%) ⬆️
boa_engine/src/syntax/lexer/token.rs 17.64% <0.00%> (+2.42%) ⬆️
...tax/parser/expression/assignment/exponentiation.rs 54.16% <0.00%> (ø)
...rc/syntax/parser/expression/left_hand_side/call.rs 33.33% <0.00%> (ø)
boa_engine/src/syntax/parser/expression/mod.rs 33.33% <0.00%> (+1.33%) ⬆️
.../parser/expression/primary/class_expression/mod.rs 0.00% <0.00%> (ø)
...rser/expression/primary/function_expression/mod.rs 36.95% <0.00%> (ø)
boa_engine/src/syntax/parser/expression/unary.rs 55.31% <0.00%> (-1.21%) ⬇️
...ntax/parser/statement/declaration/hoistable/mod.rs 36.04% <0.00%> (-1.76%) ⬇️
...ine/src/syntax/parser/statement/declaration/mod.rs 42.85% <0.00%> (ø)
... and 92 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a1b5191...14abe64. Read the comment docs.

@github-actions
Copy link

github-actions bot commented Apr 8, 2022

Benchmark for 957a4f0

Click to view benchmark
Test Base PR %
Arithmetic operations (Compiler) 520.4±1.35ns 529.5±0.98ns +1.75%
Arithmetic operations (Execution) 672.7±0.67ns 660.1±0.62ns -1.87%
Arithmetic operations (Parser) 5.9±0.01µs 5.9±0.01µs 0.00%
Array access (Compiler) 1298.7±3.82ns 1324.6±9.57ns +1.99%
Array access (Execution) 7.7±0.02µs 7.9±0.02µs +2.60%
Array access (Parser) 12.9±0.02µs 12.9±0.03µs 0.00%
Array creation (Compiler) 1800.4±5.61ns 1898.9±5.77ns +5.47%
Array creation (Execution) 2.6±0.01ms 2.6±0.00ms 0.00%
Array creation (Parser) 14.6±0.03µs 14.7±0.02µs +0.68%
Array pop (Compiler) 3.8±0.01µs 3.7±0.01µs -2.63%
Array pop (Execution) 1132.3±3.11µs 1133.5±3.19µs +0.11%
Array pop (Parser) 143.7±0.19µs 146.3±0.13µs +1.81%
Boolean Object Access (Compiler) 1052.8±1.39ns 1065.5±3.79ns +1.21%
Boolean Object Access (Execution) 4.2±0.01µs 4.2±0.01µs 0.00%
Boolean Object Access (Parser) 15.5±0.03µs 15.2±0.05µs -1.94%
Clean js (Compiler) 3.4±0.01µs 3.4±0.01µs 0.00%
Clean js (Execution) 701.3±3.14µs 695.5±2.80µs -0.83%
Clean js (Parser) 31.5±0.08µs 31.4±0.03µs -0.32%
Create Realm 281.3±0.35ns 282.3±0.68ns +0.36%
Dynamic Object Property Access (Compiler) 1648.3±3.58ns 1668.7±14.36ns +1.24%
Dynamic Object Property Access (Execution) 5.4±0.01µs 5.5±0.01µs +1.85%
Dynamic Object Property Access (Parser) 11.6±0.03µs 11.5±0.02µs -0.86%
Fibonacci (Compiler) 2.3±0.01µs 2.3±0.01µs 0.00%
Fibonacci (Execution) 1337.1±1.26µs 1384.0±1.56µs +3.51%
Fibonacci (Parser) 17.7±0.03µs 17.4±0.03µs -1.69%
For loop (Compiler) 1953.5±9.68ns 1997.4±12.27ns +2.25%
For loop (Execution) 15.5±0.06µs 15.7±0.06µs +1.29%
For loop (Parser) 15.0±0.07µs 14.9±0.02µs -0.67%
Mini js (Compiler) 3.3±0.02µs 3.3±0.01µs 0.00%
Mini js (Execution) 663.7±3.45µs 658.0±5.72µs -0.86%
Mini js (Parser) 27.7±0.09µs 27.9±0.07µs +0.72%
Number Object Access (Compiler) 1024.7±1.78ns 1041.4±1.88ns +1.63%
Number Object Access (Execution) 3.3±0.01µs 3.3±0.00µs 0.00%
Number Object Access (Parser) 12.1±0.04µs 11.8±0.02µs -2.48%
Object Creation (Compiler) 1407.8±2.21ns 1434.5±3.03ns +1.90%
Object Creation (Execution) 5.1±0.02µs 5.2±0.01µs +1.96%
Object Creation (Parser) 10.0±0.03µs 9.9±0.02µs -1.00%
RegExp (Compiler) 1635.4±3.27ns 1717.4±4.35ns +5.01%
RegExp (Execution) 11.7±0.10µs 11.8±0.08µs +0.85%
RegExp (Parser) 11.0±0.02µs 10.9±0.02µs -0.91%
RegExp Creation (Compiler) 1414.9±2.80ns 1468.2±5.00ns +3.77%
RegExp Creation (Execution) 8.8±0.03µs 8.8±0.04µs 0.00%
RegExp Creation (Parser) 9.1±0.02µs 9.1±0.03µs 0.00%
RegExp Literal (Compiler) 1628.3±9.10ns 1699.3±3.31ns +4.36%
RegExp Literal (Execution) 11.7±0.07µs 11.7±0.06µs 0.00%
RegExp Literal (Parser) 8.9±0.01µs 8.9±0.01µs 0.00%
RegExp Literal Creation (Compiler) 1418.6±2.95ns 1483.9±4.50ns +4.60%
RegExp Literal Creation (Execution) 8.8±0.03µs 8.8±0.04µs 0.00%
RegExp Literal Creation (Parser) 7.0±0.12µs 7.0±0.01µs 0.00%
Static Object Property Access (Compiler) 1412.1±1.81ns 1442.8±3.73ns +2.17%
Static Object Property Access (Execution) 5.3±0.01µs 5.4±0.02µs +1.89%
Static Object Property Access (Parser) 10.7±0.04µs 10.7±0.02µs 0.00%
String Object Access (Compiler) 1424.9±4.24ns 1482.6±8.99ns +4.05%
String Object Access (Execution) 6.0±0.03µs 5.9±0.02µs -1.67%
String Object Access (Parser) 15.3±0.04µs 14.9±0.02µs -2.61%
String comparison (Compiler) 2.1±0.00µs 2.1±0.00µs 0.00%
String comparison (Execution) 4.6±0.02µs 4.6±0.01µs 0.00%
String comparison (Parser) 11.9±0.02µs 12.0±0.01µs +0.84%
String concatenation (Compiler) 1638.3±11.10ns 1685.6±5.18ns +2.89%
String concatenation (Execution) 4.3±0.01µs 4.4±0.01µs +2.33%
String concatenation (Parser) 8.2±0.02µs 8.2±0.03µs 0.00%
String copy (Compiler) 1299.5±3.47ns 1348.7±6.56ns +3.79%
String copy (Execution) 4.1±0.02µs 4.2±0.01µs +2.44%
String copy (Parser) 6.1±0.02µs 6.2±0.01µs +1.64%
Symbols (Compiler) 931.3±2.23ns 947.4±1.26ns +1.73%
Symbols (Execution) 4.2±0.02µs 4.3±0.01µs +2.38%
Symbols (Parser) 4.7±0.01µs 4.7±0.01µs 0.00%

Copy link
Member

@Razican Razican left a comment

Choose a reason for hiding this comment

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

Looking good!

@HalidOdat
Copy link
Member

bors r+

bors bot pushed a commit that referenced this pull request Apr 9, 2022
)

This Pull Request changes the following:

- Remove syntax error for unicode escaped characters in keywords from the lexer.
- Adjust the lexer tokens for keywords to indicate if they contain unicode escaped characters.
- Throw syntax errors in parser, when keywords cannot contain unicode escaped characters.
@bors
Copy link

bors bot commented Apr 9, 2022

Pull request successfully merged into main.

Build succeeded:

@bors bors bot changed the title Allow unicode escaped characters in identifiers that are keywords [Merged by Bors] - Allow unicode escaped characters in identifiers that are keywords Apr 9, 2022
@bors bors bot closed this Apr 9, 2022
@bors bors bot deleted the unicode-escape-keyword-errors branch April 9, 2022 18:00
Razican pushed a commit that referenced this pull request Jun 8, 2022
)

This Pull Request changes the following:

- Remove syntax error for unicode escaped characters in keywords from the lexer.
- Adjust the lexer tokens for keywords to indicate if they contain unicode escaped characters.
- Throw syntax errors in parser, when keywords cannot contain unicode escaped characters.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request lexer Issues surrounding the lexer parser Issues surrounding the parser
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants