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] - Module parsing #2411

Closed
wants to merge 10 commits into from
Closed

[Merged by Bors] - Module parsing #2411

wants to merge 10 commits into from

Conversation

Razican
Copy link
Member

@Razican Razican commented Nov 5, 2022

I'm creating this draft PR, since I wanted to have some early feedback, and because I though I would have time to finish it last week, but I got caught up with other stuff. Feel free to contribute :)

The main thing here is that I have divided eval(), parse() and similar functions so that they can decide if they are parsing scripts or modules. Let me know your thoughts.

Then, I was checking the import & export parsing, and I noticed we are using TokenKind::Identifier for IdentifierName, so I changed that name. An Identifier is an IdentifierName that isn't a ReservedWord. This means we should probably also adapt all IdentifierReference, BindingIdentifier and so on parsing. I already created an Identifier parser.

Something interesting there is that await is not a valid Identifier if the goal symbol is Module, as you can see in the spec, but currently we don't have that information in the InputElement enumeration, we only have Div, RegExp and TemplateTail. How could we approach this?

@Razican Razican added enhancement New feature or request parser Issues surrounding the parser API labels Nov 5, 2022
@Razican Razican linked an issue Nov 5, 2022 that may be closed by this pull request
@github-actions
Copy link

github-actions bot commented Nov 5, 2022

Test262 conformance changes

Test result main count PR count difference
Total 94,205 94,205 0
Passed 70,748 71,495 +747
Ignored 18,622 17,302 -1,320
Failed 4,835 5,408 +573
Panics 0 12 +12
Conformance 75.10% 75.89% +0.79%
Fixed tests (747):
test/language/export/escaped-default.js [strict mode] (previously Ignored)
test/language/export/escaped-default.js (previously Ignored)
test/language/export/escaped-from.js [strict mode] (previously Ignored)
test/language/export/escaped-from.js (previously Ignored)
test/language/export/escaped-as-export-specifier.js [strict mode] (previously Ignored)
test/language/export/escaped-as-export-specifier.js (previously Ignored)
test/language/expressions/class/cpn-class-expr-accessors-computed-property-name-from-await-expression.js [strict mode] (previously Ignored)
test/language/expressions/class/cpn-class-expr-accessors-computed-property-name-from-await-expression.js (previously Ignored)
test/language/expressions/class/class-name-ident-await-escaped-module.js [strict mode] (previously Ignored)
test/language/expressions/class/class-name-ident-await-escaped-module.js (previously Ignored)
test/language/expressions/class/class-name-ident-await-module.js [strict mode] (previously Ignored)
test/language/expressions/class/class-name-ident-await-module.js (previously Ignored)
test/language/expressions/class/cpn-class-expr-fields-methods-computed-property-name-from-await-expression.js [strict mode] (previously Ignored)
test/language/expressions/class/cpn-class-expr-fields-methods-computed-property-name-from-await-expression.js (previously Ignored)
test/language/expressions/class/cpn-class-expr-fields-computed-property-name-from-await-expression.js [strict mode] (previously Ignored)
test/language/expressions/class/cpn-class-expr-fields-computed-property-name-from-await-expression.js (previously Ignored)
test/language/expressions/class/cpn-class-expr-computed-property-name-from-await-expression.js [strict mode] (previously Ignored)
test/language/expressions/class/cpn-class-expr-computed-property-name-from-await-expression.js (previously Ignored)
test/language/expressions/assignmenttargettype/direct-importcall.js [strict mode] (previously Ignored)
test/language/expressions/assignmenttargettype/direct-importcall.js (previously Ignored)
test/language/expressions/assignmenttargettype/parenthesized-importcall.js [strict mode] (previously Ignored)
test/language/expressions/assignmenttargettype/parenthesized-importcall.js (previously Ignored)
test/language/expressions/import.meta/not-accessible-from-direct-eval.js [strict mode] (previously Ignored)
test/language/expressions/import.meta/not-accessible-from-direct-eval.js (previously Ignored)
test/language/expressions/import.meta/syntax/invalid-assignment-target-object-rest-destructuring-expr.js [strict mode] (previously Ignored)
test/language/expressions/import.meta/syntax/invalid-assignment-target-object-rest-destructuring-expr.js (previously Ignored)
test/language/expressions/import.meta/syntax/invalid-assignment-target-object-destructuring-expr.js [strict mode] (previously Ignored)
test/language/expressions/import.meta/syntax/invalid-assignment-target-object-destructuring-expr.js (previously Ignored)
test/language/expressions/import.meta/syntax/escape-sequence-import.js [strict mode] (previously Ignored)
test/language/expressions/import.meta/syntax/escape-sequence-import.js (previously Ignored)
test/language/expressions/import.meta/syntax/invalid-assignment-target-update-expr.js [strict mode] (previously Ignored)
test/language/expressions/import.meta/syntax/invalid-assignment-target-update-expr.js (previously Ignored)
test/language/expressions/import.meta/syntax/invalid-assignment-target-array-destructuring-expr.js [strict mode] (previously Ignored)
test/language/expressions/import.meta/syntax/invalid-assignment-target-array-destructuring-expr.js (previously Ignored)
test/language/expressions/import.meta/syntax/escape-sequence-meta.js [strict mode] (previously Ignored)
test/language/expressions/import.meta/syntax/escape-sequence-meta.js (previously Ignored)
test/language/expressions/import.meta/syntax/invalid-assignment-target-for-await-of-loop.js [strict mode] (previously Ignored)
test/language/expressions/import.meta/syntax/invalid-assignment-target-for-await-of-loop.js (previously Ignored)
test/language/expressions/import.meta/syntax/invalid-assignment-target-for-in-loop.js [strict mode] (previously Ignored)
test/language/expressions/import.meta/syntax/invalid-assignment-target-for-in-loop.js (previously Ignored)
test/language/expressions/import.meta/syntax/invalid-assignment-target-array-rest-destructuring-expr.js [strict mode] (previously Ignored)
test/language/expressions/import.meta/syntax/invalid-assignment-target-array-rest-destructuring-expr.js (previously Ignored)
test/language/expressions/import.meta/syntax/invalid-assignment-target-for-of-loop.js [strict mode] (previously Ignored)
test/language/expressions/import.meta/syntax/invalid-assignment-target-for-of-loop.js (previously Ignored)
test/language/expressions/import.meta/syntax/invalid-assignment-target-assignment-expr.js [strict mode] (previously Ignored)
test/language/expressions/import.meta/syntax/invalid-assignment-target-assignment-expr.js (previously Ignored)
test/language/expressions/object/cpn-obj-lit-computed-property-name-from-await-expression.js [strict mode] (previously Ignored)
test/language/expressions/object/cpn-obj-lit-computed-property-name-from-await-expression.js (previously Ignored)
test/language/eval-code/direct/import.js [strict mode] (previously Ignored)
test/language/eval-code/direct/import.js (previously Ignored)
test/language/eval-code/direct/export.js [strict mode] (previously Ignored)
test/language/eval-code/direct/export.js (previously Ignored)
test/language/eval-code/indirect/import.js [strict mode] (previously Ignored)
test/language/eval-code/indirect/import.js (previously Ignored)
test/language/eval-code/indirect/export.js [strict mode] (previously Ignored)
test/language/eval-code/indirect/export.js (previously Ignored)
test/language/comments/hashbang/module.js (previously Ignored)
test/language/import/escaped-as-import-specifier.js [strict mode] (previously Ignored)
test/language/import/escaped-as-import-specifier.js (previously Ignored)
test/language/import/escaped-from.js [strict mode] (previously Ignored)
test/language/import/escaped-from.js (previously Ignored)
test/language/import/escaped-as-namespace-import.js [strict mode] (previously Ignored)
test/language/import/escaped-as-namespace-import.js (previously Ignored)
test/language/import/dup-bound-names.js [strict mode] (previously Ignored)
test/language/import/dup-bound-names.js (previously Ignored)
test/language/statements/class/cpn-class-decl-computed-property-name-from-await-expression.js [strict mode] (previously Ignored)
test/language/statements/class/cpn-class-decl-computed-property-name-from-await-expression.js (previously Ignored)
test/language/statements/class/cpn-class-decl-accessors-computed-property-name-from-await-expression.js [strict mode] (previously Ignored)
test/language/statements/class/cpn-class-decl-accessors-computed-property-name-from-await-expression.js (previously Ignored)
test/language/statements/class/cpn-class-decl-fields-computed-property-name-from-await-expression.js [strict mode] (previously Ignored)
test/language/statements/class/cpn-class-decl-fields-computed-property-name-from-await-expression.js (previously Ignored)
test/language/statements/class/class-name-ident-await-escaped-module.js [strict mode] (previously Ignored)
test/language/statements/class/class-name-ident-await-escaped-module.js (previously Ignored)
test/language/statements/class/class-name-ident-await-module.js [strict mode] (previously Ignored)
test/language/statements/class/class-name-ident-await-module.js (previously Ignored)
test/language/statements/class/cpn-class-decl-fields-methods-computed-property-name-from-await-expression.js [strict mode] (previously Ignored)
test/language/statements/class/cpn-class-decl-fields-methods-computed-property-name-from-await-expression.js (previously Ignored)
test/language/statements/labeled/value-await-module.js [strict mode] (previously Ignored)
test/language/statements/labeled/value-await-module.js (previously Ignored)
test/language/statements/labeled/value-await-module-escaped.js [strict mode] (previously Ignored)
test/language/statements/labeled/value-await-module-escaped.js (previously Ignored)
test/language/module-code/early-dup-export-decl.js [strict mode] (previously Ignored)
test/language/module-code/early-dup-export-decl.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-try-catch.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-try-catch.js (previously Ignored)
test/language/module-code/early-dup-top-function-async-generator.js [strict mode] (previously Ignored)
test/language/module-code/early-dup-top-function-async-generator.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-try-finally.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-try-finally.js (previously Ignored)
test/language/module-code/early-dup-lex.js [strict mode] (previously Ignored)
test/language/module-code/early-dup-lex.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-in-lhs.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-in-lhs.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-const.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-const.js (previously Ignored)
test/language/module-code/early-dup-top-function.js [strict mode] (previously Ignored)
test/language/module-code/early-dup-top-function.js (previously Ignored)
test/language/module-code/eval-self-abrupt.js [strict mode] (previously Ignored)
test/language/module-code/eval-self-abrupt.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-object-getter.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-object-getter.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-while.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-while.js (previously Ignored)
test/language/module-code/early-new-target.js [strict mode] (previously Ignored)
test/language/module-code/early-new-target.js (previously Ignored)
test/language/module-code/early-export-ill-formed-string.js [strict mode] (previously Ignored)
test/language/module-code/early-export-ill-formed-string.js (previously Ignored)
test/language/module-code/parse-err-return.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-return.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-class-expr-meth.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-class-expr-meth.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-object-gen-method.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-object-gen-method.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-class-decl-method-gen.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-class-decl-method-gen.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-labeled.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-labeled.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-class-decl-meth-static.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-class-decl-meth-static.js (previously Ignored)
test/language/module-code/parse-err-hoist-lex-gen.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-hoist-lex-gen.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-of-var.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-of-var.js (previously Ignored)
test/language/module-code/eval-gtbndng-local-bndng-cls.js [strict mode] (previously Ignored)
test/language/module-code/eval-gtbndng-local-bndng-cls.js (previously Ignored)
test/language/module-code/early-import-arguments.js [strict mode] (previously Ignored)
test/language/module-code/early-import-arguments.js (previously Ignored)
test/language/module-code/invalid-private-names-member-expression-bad-reference.js [strict mode] (previously Ignored)
test/language/module-code/invalid-private-names-member-expression-bad-reference.js (previously Ignored)
test/language/module-code/invalid-private-names-member-expression-this.js [strict mode] (previously Ignored)
test/language/module-code/invalid-private-names-member-expression-this.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-switch-case.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-switch-case.js (previously Ignored)
test/language/module-code/early-import-eval.js [strict mode] (previously Ignored)
test/language/module-code/early-import-eval.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-try-try.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-try-try.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-try-finally.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-try-finally.js (previously Ignored)
test/language/module-code/export-expname-import-unpaired-surrogate.js [strict mode] (previously Ignored)
test/language/module-code/export-expname-import-unpaired-surrogate.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-generator-decl.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-generator-decl.js (previously Ignored)
test/language/module-code/early-dup-assert-key-import-withbinding.js [strict mode] (previously Ignored)
test/language/module-code/early-dup-assert-key-import-withbinding.js (previously Ignored)
test/language/module-code/early-dup-export-star-as-dflt.js [strict mode] (previously Ignored)
test/language/module-code/early-dup-export-star-as-dflt.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-object-method.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-object-method.js (previously Ignored)
test/language/module-code/early-super.js [strict mode] (previously Ignored)
test/language/module-code/early-super.js (previously Ignored)
test/language/module-code/parse-err-hoist-lex-fun.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-hoist-lex-fun.js (previously Ignored)
test/language/module-code/privatename-not-valid-earlyerr-module-1.js [strict mode] (previously Ignored)
test/language/module-code/privatename-not-valid-earlyerr-module-1.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-try-try.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-try-try.js (previously Ignored)
test/language/module-code/parse-err-semi-named-export.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-semi-named-export.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-generator-expr.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-generator-expr.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-class-decl-method-gen-static.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-class-decl-method-gen-static.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-class-decl-method-gen.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-class-decl-method-gen.js (previously Ignored)
test/language/module-code/early-dup-export-id.js [strict mode] (previously Ignored)
test/language/module-code/early-dup-export-id.js (previously Ignored)
test/language/module-code/early-export-unresolvable.js [strict mode] (previously Ignored)
test/language/module-code/early-export-unresolvable.js (previously Ignored)
test/language/module-code/invalid-private-names-call-expression-this.js [strict mode] (previously Ignored)
test/language/module-code/invalid-private-names-call-expression-this.js (previously Ignored)
test/language/module-code/comment-multi-line-html-close.js [strict mode] (previously Ignored)
test/language/module-code/comment-multi-line-html-close.js (previously Ignored)
test/language/module-code/parse-err-semi-dflt-expr.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-semi-dflt-expr.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-class-expr-meth-gen.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-class-expr-meth-gen.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-function-expr.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-function-expr.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-in-lhs.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-in-lhs.js (previously Ignored)
test/language/module-code/eval-gtbndng-local-bndng-var.js [strict mode] (previously Ignored)
test/language/module-code/eval-gtbndng-local-bndng-var.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-object-setter.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-object-setter.js (previously Ignored)
test/language/module-code/export-expname-from-star-unpaired-surrogate.js [strict mode] (previously Ignored)
test/language/module-code/export-expname-from-star-unpaired-surrogate.js (previously Ignored)
test/language/module-code/early-dup-top-function-async.js [strict mode] (previously Ignored)
test/language/module-code/early-dup-top-function-async.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-of-const.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-of-const.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-switch-case.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-switch-case.js (previously Ignored)
test/language/module-code/eval-gtbndng-local-bndng-let.js [strict mode] (previously Ignored)
test/language/module-code/eval-gtbndng-local-bndng-let.js (previously Ignored)
test/language/module-code/privatename-not-valid-earlyerr-module-2.js [strict mode] (previously Ignored)
test/language/module-code/privatename-not-valid-earlyerr-module-2.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-in-var.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-in-var.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-block-stmt.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-block-stmt.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-const.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-const.js (previously Ignored)
test/language/module-code/privatename-not-valid-earlyerr-module-4.js [strict mode] (previously Ignored)
test/language/module-code/privatename-not-valid-earlyerr-module-4.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-switch-case-dflt.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-switch-case-dflt.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-object-method.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-object-method.js (previously Ignored)
test/language/module-code/early-dup-export-dflt-id.js [strict mode] (previously Ignored)
test/language/module-code/early-dup-export-dflt-id.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-of-let.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-of-let.js (previously Ignored)
test/language/module-code/invalid-private-names-call-expression-bad-reference.js [strict mode] (previously Ignored)
test/language/module-code/invalid-private-names-call-expression-bad-reference.js (previously Ignored)
test/language/module-code/parse-err-syntax-1.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-syntax-1.js (previously Ignored)
test/language/module-code/parse-err-export-dflt-expr.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-export-dflt-expr.js (previously Ignored)
test/language/module-code/comment-single-line-html-close.js [strict mode] (previously Ignored)
test/language/module-code/comment-single-line-html-close.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-in-let.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-in-let.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-switch-dftl.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-switch-dftl.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-try-catch-finally.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-try-catch-finally.js (previously Ignored)
test/language/module-code/early-dup-top-function-generator.js [strict mode] (previously Ignored)
test/language/module-code/early-dup-top-function-generator.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-of-lhs.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-of-lhs.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-in-var.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-in-var.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-try-catch-finally.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-try-catch-finally.js (previously Ignored)
test/language/module-code/export-expname-string-binding.js [strict mode] (previously Ignored)
test/language/module-code/export-expname-string-binding.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-block-stmt.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-block-stmt.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-if-if.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-if-if.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-var.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-var.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-block-stmt-list.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-block-stmt-list.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-do-while.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-do-while.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-function-decl.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-function-decl.js (previously Ignored)
test/language/module-code/parse-err-syntax-2.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-syntax-2.js (previously Ignored)
test/language/module-code/early-dup-assert-key-export.js [strict mode] (previously Ignored)
test/language/module-code/early-dup-assert-key-export.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-of-let.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-of-let.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-lhs.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-lhs.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-block-stmt-list.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-block-stmt-list.js (previously Ignored)
test/language/module-code/privatename-not-valid-earlyerr-module-7.js [strict mode] (previously Ignored)
test/language/module-code/privatename-not-valid-earlyerr-module-7.js (previously Ignored)
test/language/module-code/early-dup-export-dflt.js [strict mode] (previously Ignored)
test/language/module-code/early-dup-export-dflt.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-in-const.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-in-const.js (previously Ignored)
test/language/module-code/parse-err-invoke-anon-fun-decl.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-invoke-anon-fun-decl.js (previously Ignored)
test/language/module-code/early-export-global.js [strict mode] (previously Ignored)
test/language/module-code/early-export-global.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-in-let.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-in-let.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-arrow-function.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-arrow-function.js (previously Ignored)
test/language/module-code/export-default-asyncfunction-declaration-binding-exists.js [strict mode] (previously Ignored)
test/language/module-code/export-default-asyncfunction-declaration-binding-exists.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-generator-expr.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-generator-expr.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-lhs.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-lhs.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-if-else.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-if-else.js (previously Ignored)
test/language/module-code/parse-err-export-dflt-let.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-export-dflt-let.js (previously Ignored)
test/language/module-code/parse-err-semi-name-space-export.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-semi-name-space-export.js (previously Ignored)
test/language/module-code/private-identifiers-not-empty.js [strict mode] (previously Ignored)
test/language/module-code/private-identifiers-not-empty.js (previously Ignored)
test/language/module-code/privatename-valid-no-earlyerr.js [strict mode] (previously Ignored)
test/language/module-code/privatename-valid-no-earlyerr.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-generator-decl.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-generator-decl.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-switch-case-dflt.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-switch-case-dflt.js (previously Ignored)
test/language/module-code/early-dup-assert-key-import-nobinding.js [strict mode] (previously Ignored)
test/language/module-code/early-dup-assert-key-import-nobinding.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-var.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-var.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-do-while.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-do-while.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-class-decl-meth.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-class-decl-meth.js (previously Ignored)
test/language/module-code/early-undef-continue.js [strict mode] (previously Ignored)
test/language/module-code/early-undef-continue.js (previously Ignored)
test/language/module-code/instn-local-bndng-for-dup.js [strict mode] (previously Ignored)
test/language/module-code/instn-local-bndng-for-dup.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-arrow-function.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-arrow-function.js (previously Ignored)
test/language/module-code/privatename-not-valid-earlyerr-module-8.js [strict mode] (previously Ignored)
test/language/module-code/privatename-not-valid-earlyerr-module-8.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-object-gen-method.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-object-gen-method.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-if-if.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-if-if.js (previously Ignored)
test/language/module-code/early-import-as-arguments.js [strict mode] (previously Ignored)
test/language/module-code/early-import-as-arguments.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-let.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-let.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-class-decl-method-gen-static.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-class-decl-method-gen-static.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-class-expr-meth-gen-static.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-class-expr-meth-gen-static.js (previously Ignored)
test/language/module-code/instn-local-bndng-var-dup.js [strict mode] (previously Ignored)
test/language/module-code/instn-local-bndng-var-dup.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-class-expr-meth.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-class-expr-meth.js (previously Ignored)
test/language/module-code/privatename-not-valid-earlyerr-module-5.js [strict mode] (previously Ignored)
test/language/module-code/privatename-not-valid-earlyerr-module-5.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-while.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-while.js (previously Ignored)
test/language/module-code/eval-gtbndng-local-bndng-const.js [strict mode] (previously Ignored)
test/language/module-code/eval-gtbndng-local-bndng-const.js (previously Ignored)
test/language/module-code/export-expname-from-as-unpaired-surrogate.js [strict mode] (previously Ignored)
test/language/module-code/export-expname-from-as-unpaired-surrogate.js (previously Ignored)
test/language/module-code/parse-err-export-dflt-var.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-export-dflt-var.js (previously Ignored)
test/language/module-code/parse-err-semi-export-star.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-semi-export-star.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-if-else.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-if-else.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-function-expr.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-function-expr.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-object-getter.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-object-getter.js (previously Ignored)
test/language/module-code/export-default-asyncgenerator-declaration-binding-exists.js [strict mode] (previously Ignored)
test/language/module-code/export-default-asyncgenerator-declaration-binding-exists.js (previously Ignored)
test/language/module-code/early-dup-export-as-star-as.js [strict mode] (previously Ignored)
test/language/module-code/early-dup-export-as-star-as.js (previously Ignored)
test/language/module-code/privatename-not-valid-earlyerr-module-3.js [strict mode] (previously Ignored)
test/language/module-code/privatename-not-valid-earlyerr-module-3.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-object-setter.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-object-setter.js (previously Ignored)
test/language/module-code/export-expname-unpaired-surrogate.js [strict mode] (previously Ignored)
test/language/module-code/export-expname-unpaired-surrogate.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-let.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-let.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-labeled.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-labeled.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-class-decl-meth.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-class-decl-meth.js (previously Ignored)
test/language/module-code/export-default-generator-declaration-binding-exists.js [strict mode] (previously Ignored)
test/language/module-code/export-default-generator-declaration-binding-exists.js (previously Ignored)
test/language/module-code/early-undef-break.js [strict mode] (previously Ignored)
test/language/module-code/early-undef-break.js (previously Ignored)
test/language/module-code/parse-err-invoke-anon-gen-decl.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-invoke-anon-gen-decl.js (previously Ignored)
test/language/module-code/parse-err-semi-named-export-from.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-semi-named-export-from.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-in-const.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-for-in-const.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-of-var.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-of-var.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-class-expr-meth-gen-static.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-class-expr-meth-gen-static.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-class-expr-meth-static.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-class-expr-meth-static.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-of-lhs.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-of-lhs.js (previously Ignored)
test/language/module-code/early-import-as-eval.js [strict mode] (previously Ignored)
test/language/module-code/early-import-as-eval.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-function-decl.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-function-decl.js (previously Ignored)
test/language/module-code/early-dup-export-id-as.js [strict mode] (previously Ignored)
test/language/module-code/early-dup-export-id-as.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-of-const.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-for-of-const.js (previously Ignored)
test/language/module-code/export-default-function-declaration-binding-exists.js [strict mode] (previously Ignored)
test/language/module-code/export-default-function-declaration-binding-exists.js (previously Ignored)
test/language/module-code/privatename-not-valid-earlyerr-module-6.js [strict mode] (previously Ignored)
test/language/module-code/privatename-not-valid-earlyerr-module-6.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-class-expr-meth-gen.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-class-expr-meth-gen.js (previously Ignored)
test/language/module-code/parse-err-export-dflt-const.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-export-dflt-const.js (previously Ignored)
test/language/module-code/early-lex-and-var.js [strict mode] (previously Ignored)
test/language/module-code/early-lex-and-var.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-try-catch.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-try-catch.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-class-expr-meth-static.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-class-expr-meth-static.js (previously Ignored)
test/language/module-code/comment-single-line-html-open.js [strict mode] (previously Ignored)
test/language/module-code/comment-single-line-html-open.js (previously Ignored)
test/language/module-code/export-expname-from-unpaired-surrogate.js [strict mode] (previously Ignored)
test/language/module-code/export-expname-from-unpaired-surrogate.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-class-decl-meth-static.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-import-class-decl-meth-static.js (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-switch-dftl.js [strict mode] (previously Ignored)
test/language/module-code/parse-err-decl-pos-export-switch-dftl.js (previously Ignored)
test/language/module-code/top-level-await/await-awaits-thenable-not-callable.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/await-awaits-thenable-not-callable.js (previously Ignored)
test/language/module-code/top-level-await/while-dynamic-evaluation.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/while-dynamic-evaluation.js (previously Ignored)
test/language/module-code/top-level-await/top-level-ticks-2.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/top-level-ticks-2.js (previously Ignored)
test/language/module-code/top-level-await/void-await-expr.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/void-await-expr.js (previously Ignored)
test/language/module-code/top-level-await/if-await-expr.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/if-await-expr.js (previously Ignored)
test/language/module-code/top-level-await/await-awaits-thenables-that-throw.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/await-awaits-thenables-that-throw.js (previously Ignored)
test/language/module-code/top-level-await/await-expr-reject-throws.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/await-expr-reject-throws.js (previously Ignored)
test/language/module-code/top-level-await/await-expr-new-expr-reject.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/await-expr-new-expr-reject.js (previously Ignored)
test/language/module-code/top-level-await/await-expr-func-expression.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/await-expr-func-expression.js (previously Ignored)
test/language/module-code/top-level-await/early-errors-await-not-simple-assignment-target.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/early-errors-await-not-simple-assignment-target.js (previously Ignored)
test/language/module-code/top-level-await/no-operand.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/no-operand.js (previously Ignored)
test/language/module-code/top-level-await/await-expr-regexp.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/await-expr-regexp.js (previously Ignored)
test/language/module-code/top-level-await/new-await-parens.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/new-await-parens.js (previously Ignored)
test/language/module-code/top-level-await/await-awaits-thenables.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/await-awaits-thenables.js (previously Ignored)
test/language/module-code/top-level-await/await-expr-new-expr.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/await-expr-new-expr.js (previously Ignored)
test/language/module-code/top-level-await/await-void-expr.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/await-void-expr.js (previously Ignored)
test/language/module-code/top-level-await/top-level-ticks.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/top-level-ticks.js (previously Ignored)
test/language/module-code/top-level-await/await-expr-resolution.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/await-expr-resolution.js (previously Ignored)
test/language/module-code/top-level-await/new-await.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/new-await.js (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-nested.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-nested.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-obj-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-obj-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-literal-number.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-literal-number.js (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-nested.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-nested.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-regexp.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-regexp.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-nested.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-nested.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-template-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-template-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-new-expr.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-new-expr.js (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-array-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-array-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-literal-string.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-literal-string.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-literal-string.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-literal-string.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-null.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-null.js (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-array-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-array-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-regexp.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-regexp.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-null.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-null.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-func-expression.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-func-expression.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-func-expression.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-func-expression.js (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-null.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-null.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-obj-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-obj-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-this.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-this.js (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-identifier.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-identifier.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-identifier.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-identifier.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-new-expr.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-new-expr.js (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-identifier.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-identifier.js (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-null.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-null.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-func-expression.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-func-expression.js (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-template-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-template-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/early-does-not-propagate-to-fn-expr-params.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/early-does-not-propagate-to-fn-expr-params.js (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-template-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-template-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-identifier.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-identifier.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-literal-number.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-literal-number.js (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-regexp.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-regexp.js (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-literal-number.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-literal-number.js (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-obj-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-obj-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-array-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-array-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-this.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-this.js (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-literal-number.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-literal-number.js (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-template-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-template-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-nested.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-nested.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-literal-number.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-literal-number.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-template-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-template-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-template-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-template-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-regexp.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-regexp.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-identifier.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-identifier.js (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-literal-number.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-literal-number.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-new-expr.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-new-expr.js (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-identifier.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-identifier.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-new-expr.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-new-expr.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-null.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-null.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-identifier.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-identifier.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-nested.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-nested.js (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-nested.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-nested.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-literal-number.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-literal-number.js (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-new-expr.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-new-expr.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-literal-string.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-literal-string.js (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-new-expr.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-new-expr.js (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-null.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-null.js (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-this.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-this.js (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-identifier.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-identifier.js (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-array-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-array-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-literal-string.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-literal-string.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-literal-string.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-literal-string.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-literal-string.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-literal-string.js (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-regexp.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-regexp.js (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-func-expression.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-func-expression.js (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-regexp.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-regexp.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-template-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-template-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-new-expr.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-new-expr.js (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-identifier.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-identifier.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-template-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-template-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-new-expr.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-new-expr.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-nested.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-nested.js (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-regexp.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-regexp.js (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-literal-string.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-literal-string.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-null.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-null.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-obj-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-obj-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-obj-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-obj-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-nested.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-nested.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-array-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-array-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-literal-string.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-literal-string.js (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-this.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-this.js (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-regexp.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-regexp.js (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-null.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-null.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-this.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-this.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-nested.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-nested.js (previously Ignored)
test/language/module-code/top-level-await/syntax/early-does-not-propagate-to-fn-expr-body.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/early-does-not-propagate-to-fn-expr-body.js (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-nested.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-nested.js (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-obj-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-obj-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-array-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-array-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-obj-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-obj-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-obj-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-obj-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-obj-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-obj-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-template-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-template-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-this.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-this.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-regexp.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-regexp.js (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-this.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-this.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-new-expr.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-new-expr.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-literal-string.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-literal-string.js (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-template-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-template-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-func-expression.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/typeof-await-expr-func-expression.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-array-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-array-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/catch-parameter.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/catch-parameter.js (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-array-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-array-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-literal-number.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-literal-number.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-nested.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-nested.js (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-new-expr.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-new-expr.js (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-nested.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-nested.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-regexp.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-regexp.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-regexp.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-regexp.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-func-expression.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-func-expression.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-this.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-this.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-this.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-this.js (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-null.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-null.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-array-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-expr-array-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-literal-number.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-literal-number.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-identifier.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-identifier.js (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-template-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-template-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-func-expression.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-func-expression.js (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-array-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-array-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-array-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-array-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-null.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-null.js (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-obj-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/block-await-expr-obj-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-identifier.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-identifier.js (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-obj-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-obj-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-literal-number.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-literal-number.js (previously Ignored)
test/language/module-code/top-level-await/syntax/early-does-not-propagate-to-fn-declaration-body.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/early-does-not-propagate-to-fn-declaration-body.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-func-expression.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-func-expression.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-null.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-null.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-literal-string.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-literal-string.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-new-expr.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-new-expr.js (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-func-expression.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-func-expression.js (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-obj-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-obj-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-template-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-in-await-expr-template-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-this.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-expr-await-expr-this.js (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-literal-string.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/while-await-expr-literal-string.js (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-literal-number.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-literal-number.js (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-null.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-null.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-literal-number.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-literal-number.js (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-func-expression.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-func-expression.js (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-new-expr.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/void-await-expr-new-expr.js (previously Ignored)
test/language/module-code/top-level-await/syntax/early-no-escaped-await.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/early-no-escaped-await.js (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-this.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-this.js (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-identifier.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-identifier.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-this.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-this.js (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-func-expression.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/if-block-await-expr-func-expression.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-regexp.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-await-await-expr-regexp.js (previously Ignored)
test/language/module-code/top-level-await/syntax/early-does-not-propagate-to-fn-declaration-params.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/early-does-not-propagate-to-fn-declaration-params.js (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-array-literal.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/for-of-await-expr-array-literal.js (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-literal-string.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/top-level-await-expr-literal-string.js (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-func-expression.js [strict mode] (previously Ignored)
test/language/module-code/top-level-await/syntax/try-await-expr-func-expression.js (previously Ignored)
test/language/reserved-words/await-module.js [strict mode] (previously Ignored)
test/language/reserved-words/await-module.js (previously Ignored)
New panics (12):
test/language/module-code/instn-resolve-order-src.js [strict mode] (previously Ignored)
test/language/module-code/instn-resolve-order-src.js (previously Ignored)
test/language/module-code/instn-resolve-empty-export.js [strict mode] (previously Ignored)
test/language/module-code/instn-resolve-empty-export.js (previously Ignored)
test/language/module-code/instn-resolve-order-depth.js [strict mode] (previously Ignored)
test/language/module-code/instn-resolve-order-depth.js (previously Ignored)
test/language/module-code/instn-resolve-empty-import.js [strict mode] (previously Ignored)
test/language/module-code/instn-resolve-empty-import.js (previously Ignored)
test/language/module-code/instn-resolve-err-syntax-2.js [strict mode] (previously Ignored)
test/language/module-code/instn-resolve-err-syntax-2.js (previously Ignored)
test/language/module-code/instn-resolve-err-syntax-1.js [strict mode] (previously Ignored)
test/language/module-code/instn-resolve-err-syntax-1.js (previously Ignored)

@codecov
Copy link

codecov bot commented Nov 6, 2022

Codecov Report

Merging #2411 (f4b01f3) into main (3725ff8) will decrease coverage by 0.85%.
The diff coverage is 8.46%.

@@            Coverage Diff             @@
##             main    #2411      +/-   ##
==========================================
- Coverage   49.40%   48.56%   -0.85%     
==========================================
  Files         380      386       +6     
  Lines       37884    38572     +688     
==========================================
+ Hits        18718    18731      +13     
- Misses      19166    19841     +675     
Impacted Files Coverage Δ
boa_ast/src/declaration/export.rs 0.00% <0.00%> (ø)
boa_ast/src/declaration/import.rs 0.00% <0.00%> (ø)
boa_ast/src/declaration/mod.rs 47.22% <0.00%> (-15.75%) ⬇️
boa_ast/src/lib.rs 75.00% <ø> (ø)
boa_ast/src/module_item_list/mod.rs 0.00% <0.00%> (ø)
boa_ast/src/visitor.rs 11.34% <0.00%> (-1.73%) ⬇️
boa_cli/src/main.rs 0.93% <0.00%> (ø)
boa_engine/src/builtins/weak/weak_ref.rs 71.79% <ø> (ø)
boa_engine/src/bytecompiler/class.rs 0.00% <0.00%> (ø)
boa_engine/src/bytecompiler/module.rs 0.00% <0.00%> (ø)
... and 60 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@jedel1043
Copy link
Member

Rebased. I'll start contributing to this on the next days

bors bot pushed a commit that referenced this pull request Jan 19, 2023
Follows from #2528, and should complement #2411 to implement the module import hooks.

~~Similarly to the Intl/ICU4X PR (#2478), this has a lot of trivial changes caused by the new lifetimes. I thought about passing the queue and the hooks by value, but it was very painful having to wrap everything with `Rc` in order to be accessible by the host.
In contrast, `&dyn` can be easily provided by the host and has the advantage of not requiring additional allocations, with the downside of adding two more lifetimes to our `Context`, but I think it's worth.~~ I was able to unify all lifetimes into the shortest one of the three, making our API just like before!

Changes:
- Added a new `HostHooks` trait and a `&dyn HostHooks` field to `Context`. This allows hosts to implement the trait for their custom type, then pass it to the context.
- Added a new `JobQueue` trait and a `&dyn JobQueue` field to our `Context`, allowing custom event loops and other fun things.
- Added two simple implementations of `JobQueue`: `IdleJobQueue` which does nothing and `SimpleJobQueue` which runs all jobs until all successfully complete or until any of them throws an error.
- Modified `boa_cli` to run all jobs until the queue is empty, even if a job returns `Err`. This also prints all errors to the user.
bors bot pushed a commit that referenced this pull request Jan 29, 2023
Extracted from #2411 to reduce its size a bit.

This PR:
- Renames `Identifier` to `IdentifierName`, which is the name stated in the spec.
- Renames the utility function `check_parser` to `check_script_parser` to prepare for modules.
- Adds some missing `#[inline]` and rewrites some patterns.
bors bot pushed a commit that referenced this pull request Jan 29, 2023
Extracted from #2411 to reduce its size a bit.

This PR:
- Renames `Identifier` to `IdentifierName`, which is the name stated in the spec.
- Renames the utility function `check_parser` to `check_script_parser` to prepare for modules.
- Adds some missing `#[inline]` and rewrites some patterns.
bors bot pushed a commit that referenced this pull request Jan 31, 2023
Slightly related to #2411 since we need an API to pass module files, but more useful for #1760, #1313 and other error reporting issues.

It changes the following:

- Introduces a new `Source` API to store the path of a provided file or `None` if the source is a plain string.
- Improves the display of `boa_tester` to show the path of the tests being run. This also enables hyperlinks to directly jump to the tested file from the VS terminal.
- Adjusts the repo to this change.

Hopefully, this will improve our error display in the future.
bors bot pushed a commit that referenced this pull request Feb 1, 2023
Another change extracted from #2411.

This PR changes the following:

- Improves our identifier parsing with a new `Identifier` parser that unifies parsing for `IdentifierReference`, `BindingIdentifier` and `LabelIdentifier`.
- Slightly improves some error messages.
- Extracts our manual initialization of static `Sym`s with a new `static_syms` proc macro.
- Adds `set_module_mode` and `module_mode` to the cursor to prepare for modules.
bors bot pushed a commit that referenced this pull request Feb 1, 2023
Another change extracted from #2411.

This PR changes the following:

- Improves our identifier parsing with a new `Identifier` parser that unifies parsing for `IdentifierReference`, `BindingIdentifier` and `LabelIdentifier`.
- Slightly improves some error messages.
- Extracts our manual initialization of static `Sym`s with a new `static_syms` proc macro.
- Adds `set_module_mode` and `module_mode` to the cursor to prepare for modules.
@jedel1043
Copy link
Member

jedel1043 commented Feb 3, 2023

Parsing is done! There are still some missing details like checking ContainsDuplicateLabels or AllPrivateIdentifiersValid for modules, but those don't block merging this because they're also missing from the Script parsing.

Some tests will obviously panic because this doesn't implement the runtime part of modules, but it would be better to do that on a follow-up PR since this one is getting big enough already.

Also, I removed the link to the modules issue to avoid Bors closing it.

@jedel1043 jedel1043 marked this pull request as ready for review February 3, 2023 00:36
@jedel1043 jedel1043 added this to the v0.17.0 milestone Feb 3, 2023
Copy link
Member

@raskad raskad left a comment

Choose a reason for hiding this comment

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

Great work, I'm finde with merging the panics if we can get them fixed before the next release.

Copy link
Member

@nekevss nekevss left a comment

Choose a reason for hiding this comment

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

Good work on this! 😄 I'd be fine with merging this as is as well, but fixing the panics should definitely be focused.

@raskad
Copy link
Member

raskad commented Feb 4, 2023

bors r+

bors bot pushed a commit that referenced this pull request Feb 4, 2023
I'm creating this draft PR, since I wanted to have some early feedback, and because I though I would have time to finish it last week, but I got caught up with other stuff. Feel free to contribute :)

The main thing here is that I have divided `eval()`, `parse()` and similar functions so that they can decide if they are parsing scripts or modules. Let me know your thoughts.

Then, I was checking the import & export parsing, and I noticed we are using `TokenKind::Identifier` for `IdentifierName`, so I changed that name. An `Identifier` is an `IdentifierName` that isn't a `ReservedWord`. This means we should probably also adapt all `IdentifierReference`, `BindingIdentifier` and so on parsing. I already created an `Identifier` parser.

Something interesting there is that `await` is not a valid `Identifier` if the goal symbol is `Module`, as you can see in the [spec](https://tc39.es/ecma262/#prod-LabelIdentifier), but currently we don't have that information in the `InputElement` enumeration, we only have `Div`, `RegExp` and `TemplateTail`. How could we approach this?

Co-authored-by: jedel1043 <jedel0124@gmail.com>
@bors
Copy link

bors bot commented Feb 4, 2023

Pull request successfully merged into main.

Build succeeded:

@bors bors bot changed the title Module parsing [Merged by Bors] - Module parsing Feb 4, 2023
@bors bors bot closed this Feb 4, 2023
@bors bors bot deleted the import_parse branch February 4, 2023 18:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API enhancement New feature or request parser Issues surrounding the parser
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants