From 6bfcaed3520d05686b4dde002208e5757c713b64 Mon Sep 17 00:00:00 2001 From: Mike Pennisi Date: Sat, 20 Feb 2021 22:21:15 -0500 Subject: [PATCH] [[FEAT]] Add support for dynamic import --- src/jshint.js | 19 +- src/options.js | 2 +- tests/test262/expectations.txt | 802 +-------------------------------- tests/unit/dynamic-import.js | 62 +++ 4 files changed, 82 insertions(+), 803 deletions(-) create mode 100644 tests/unit/dynamic-import.js diff --git a/src/jshint.js b/src/jshint.js index ccaf3d5171..3ffbee968c 100644 --- a/src/jshint.js +++ b/src/jshint.js @@ -5576,10 +5576,22 @@ var JSHINT = (function() { } }); - if (!mp) { + if (mp) { + return mp; + } + + if (!checkPunctuator(state.tokens.next, "(")) { return state.syntax["(identifier)"].nud.call(this, context); } - return mp; + + if (!state.inES11()) { + warning("W119", state.tokens.curr, "dynamic import", "11"); + } + + advance("("); + expression(context, 10); + advance(")"); + return this; }); var importSymbol = stmt("import", function(context) { @@ -5686,8 +5698,9 @@ var JSHINT = (function() { importSymbol.reserved = true; importSymbol.meta = { isFutureReservedWord: true, es5: true }; importSymbol.useFud = function() { - return !(checkPunctuator(state.tokens.next, ".") && peek().identifier); + return !(checkPunctuators(state.tokens.next, [".", "("])); }; + importSymbol.rbp = 161; stmt("export", function(context) { var ok = true; diff --git a/src/options.js b/src/options.js index b3ab40a6f9..482575eaa1 100644 --- a/src/options.js +++ b/src/options.js @@ -1053,7 +1053,7 @@ exports.val = { * Notable additions: optional catch bindings. * - `11` - To enable language features introduced by ECMAScript 11. Notable * additions: "export * as ns from 'module'", `import.meta`, the nullish - * coalescing operator, and optional chaining. + * coalescing operator, and optional chaining, and dynamic import. */ esversion: 5 }; diff --git a/tests/test262/expectations.txt b/tests/test262/expectations.txt index 72fb298852..7863ce36f0 100644 --- a/tests/test262/expectations.txt +++ b/tests/test262/expectations.txt @@ -1391,62 +1391,6 @@ test/intl402/Intl/getCanonicalLocales/non-iana-canon.js(default) test/intl402/Intl/getCanonicalLocales/non-iana-canon.js(strict mode) test/language/expressions/class/constructor-this-tdz-during-initializers.js(default) test/language/expressions/class/constructor-this-tdz-during-initializers.js(strict mode) -test/language/expressions/dynamic-import/always-create-new-promise.js(default) -test/language/expressions/dynamic-import/always-create-new-promise.js(strict mode) -test/language/expressions/dynamic-import/assign-expr-get-value-abrupt-throws.js(default) -test/language/expressions/dynamic-import/assign-expr-get-value-abrupt-throws.js(strict mode) -test/language/expressions/dynamic-import/await-import-evaluation.js(default) -test/language/expressions/dynamic-import/await-import-evaluation.js(strict mode) -test/language/expressions/dynamic-import/custom-primitive.js(default) -test/language/expressions/dynamic-import/custom-primitive.js(strict mode) -test/language/expressions/dynamic-import/eval-export-dflt-cls-anon.js(default) -test/language/expressions/dynamic-import/eval-export-dflt-cls-anon.js(strict mode) -test/language/expressions/dynamic-import/eval-export-dflt-cls-name-meth.js(default) -test/language/expressions/dynamic-import/eval-export-dflt-cls-name-meth.js(strict mode) -test/language/expressions/dynamic-import/eval-export-dflt-cls-named.js(default) -test/language/expressions/dynamic-import/eval-export-dflt-cls-named.js(strict mode) -test/language/expressions/dynamic-import/eval-export-dflt-expr-cls-anon.js(default) -test/language/expressions/dynamic-import/eval-export-dflt-expr-cls-anon.js(strict mode) -test/language/expressions/dynamic-import/eval-export-dflt-expr-cls-name-meth.js(default) -test/language/expressions/dynamic-import/eval-export-dflt-expr-cls-name-meth.js(strict mode) -test/language/expressions/dynamic-import/eval-export-dflt-expr-cls-named.js(default) -test/language/expressions/dynamic-import/eval-export-dflt-expr-cls-named.js(strict mode) -test/language/expressions/dynamic-import/eval-export-dflt-expr-fn-anon.js(default) -test/language/expressions/dynamic-import/eval-export-dflt-expr-fn-anon.js(strict mode) -test/language/expressions/dynamic-import/eval-export-dflt-expr-fn-named.js(default) -test/language/expressions/dynamic-import/eval-export-dflt-expr-fn-named.js(strict mode) -test/language/expressions/dynamic-import/eval-export-dflt-expr-gen-anon.js(default) -test/language/expressions/dynamic-import/eval-export-dflt-expr-gen-anon.js(strict mode) -test/language/expressions/dynamic-import/eval-export-dflt-expr-gen-named.js(default) -test/language/expressions/dynamic-import/eval-export-dflt-expr-gen-named.js(strict mode) -test/language/expressions/dynamic-import/eval-export-dflt-expr-in.js(default) -test/language/expressions/dynamic-import/eval-export-dflt-expr-in.js(strict mode) -test/language/expressions/dynamic-import/eval-rqstd-once.js(default) -test/language/expressions/dynamic-import/eval-rqstd-once.js(strict mode) -test/language/expressions/dynamic-import/eval-self-once-module.js(default) -test/language/expressions/dynamic-import/eval-self-once-module.js(strict mode) -test/language/expressions/dynamic-import/eval-self-once-script.js(default) -test/language/expressions/dynamic-import/eval-self-once-script.js(strict mode) -test/language/expressions/dynamic-import/for-await-resolution-and-error-agen-yield.js(default) -test/language/expressions/dynamic-import/for-await-resolution-and-error-agen-yield.js(strict mode) -test/language/expressions/dynamic-import/for-await-resolution-and-error-agen.js(default) -test/language/expressions/dynamic-import/for-await-resolution-and-error-agen.js(strict mode) -test/language/expressions/dynamic-import/for-await-resolution-and-error.js(default) -test/language/expressions/dynamic-import/for-await-resolution-and-error.js(strict mode) -test/language/expressions/dynamic-import/imported-self-update.js(default) -test/language/expressions/dynamic-import/imported-self-update.js(strict mode) -test/language/expressions/dynamic-import/indirect-resolution.js(default) -test/language/expressions/dynamic-import/indirect-resolution.js(strict mode) -test/language/expressions/dynamic-import/returns-promise.js(default) -test/language/expressions/dynamic-import/returns-promise.js(strict mode) -test/language/expressions/dynamic-import/reuse-namespace-object-from-import.js(default) -test/language/expressions/dynamic-import/reuse-namespace-object-from-import.js(strict mode) -test/language/expressions/dynamic-import/reuse-namespace-object-from-script.js(default) -test/language/expressions/dynamic-import/reuse-namespace-object-from-script.js(strict mode) -test/language/expressions/dynamic-import/reuse-namespace-object.js(default) -test/language/expressions/dynamic-import/reuse-namespace-object.js(strict mode) -test/language/expressions/dynamic-import/update-to-dynamic-import.js(default) -test/language/expressions/dynamic-import/update-to-dynamic-import.js(strict mode) test/language/statements/class/classelementname-abrupt-completion.js(default) test/language/statements/class/classelementname-abrupt-completion.js(strict mode) test/language/statements/class/static-classelementname-abrupt-completion.js(default) @@ -4458,618 +4402,6 @@ test/language/expressions/class/elements/wrapped-in-sc-static-private-methods.js test/language/expressions/class/elements/wrapped-in-sc-static-private-methods.js(strict mode) test/language/expressions/class/elements/wrapped-in-sc-string-literal-names.js(default) test/language/expressions/class/elements/wrapped-in-sc-string-literal-names.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/additive-expr.js(default) -test/language/expressions/dynamic-import/assignment-expression/additive-expr.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/array-literal.js(default) -test/language/expressions/dynamic-import/assignment-expression/array-literal.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/arrow-function.js(default) -test/language/expressions/dynamic-import/assignment-expression/arrow-function.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/await-expr.js(default) -test/language/expressions/dynamic-import/assignment-expression/await-expr.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/await-identifier.js(default) -test/language/expressions/dynamic-import/assignment-expression/await-identifier.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/call-expr-arguments.js(default) -test/language/expressions/dynamic-import/assignment-expression/call-expr-arguments.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/call-expr-expr.js(default) -test/language/expressions/dynamic-import/assignment-expression/call-expr-expr.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/call-expr-identifier.js(default) -test/language/expressions/dynamic-import/assignment-expression/call-expr-identifier.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/cover-call-expr.js(default) -test/language/expressions/dynamic-import/assignment-expression/cover-call-expr.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/cover-parenthesized-expr.js(default) -test/language/expressions/dynamic-import/assignment-expression/cover-parenthesized-expr.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/identifier.js(default) -test/language/expressions/dynamic-import/assignment-expression/identifier.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/import-meta.js(default) -test/language/expressions/dynamic-import/assignment-expression/import-meta.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/lhs-assign-operator-assign-expr.js(default) -test/language/expressions/dynamic-import/assignment-expression/lhs-assign-operator-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/lhs-eq-assign-expr-nostrict.js(default) -test/language/expressions/dynamic-import/assignment-expression/logical-and-expr.js(default) -test/language/expressions/dynamic-import/assignment-expression/logical-and-expr.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/lhs-eq-assign-expr.js(default) -test/language/expressions/dynamic-import/assignment-expression/lhs-eq-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/logical-or-expr.js(default) -test/language/expressions/dynamic-import/assignment-expression/logical-or-expr.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/member-expr.js(default) -test/language/expressions/dynamic-import/assignment-expression/member-expr.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/new-target.js(default) -test/language/expressions/dynamic-import/assignment-expression/new-target.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/object-literal.js(default) -test/language/expressions/dynamic-import/assignment-expression/object-literal.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/ternary.js(default) -test/language/expressions/dynamic-import/assignment-expression/ternary.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/tagged-function-call.js(default) -test/language/expressions/dynamic-import/assignment-expression/tagged-function-call.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/this.js(default) -test/language/expressions/dynamic-import/assignment-expression/this.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/unary-expr.js(default) -test/language/expressions/dynamic-import/assignment-expression/unary-expr.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/yield-assign-expr.js(default) -test/language/expressions/dynamic-import/assignment-expression/yield-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/yield-expr.js(default) -test/language/expressions/dynamic-import/assignment-expression/yield-expr.js(strict mode) -test/language/expressions/dynamic-import/assignment-expression/yield-identifier.js(default) -test/language/expressions/dynamic-import/assignment-expression/yield-star.js(default) -test/language/expressions/dynamic-import/assignment-expression/yield-star.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-arrow-import-catch-eval-rqstd-abrupt-typeerror.js(default) -test/language/expressions/dynamic-import/catch/nested-arrow-import-catch-eval-rqstd-abrupt-typeerror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-arrow-import-catch-eval-rqstd-abrupt-urierror.js(default) -test/language/expressions/dynamic-import/catch/nested-arrow-import-catch-eval-rqstd-abrupt-urierror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-arrow-import-catch-eval-script-code-target.js(default) -test/language/expressions/dynamic-import/catch/nested-arrow-import-catch-eval-script-code-target.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-arrow-import-catch-file-does-not-exist.js(default) -test/language/expressions/dynamic-import/catch/nested-arrow-import-catch-file-does-not-exist.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-arrow-import-catch-instn-iee-err-ambiguous-import.js(default) -test/language/expressions/dynamic-import/catch/nested-arrow-import-catch-instn-iee-err-ambiguous-import.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-arrow-import-catch-instn-iee-err-circular.js(default) -test/language/expressions/dynamic-import/catch/nested-arrow-import-catch-instn-iee-err-circular.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-arrow-import-catch-specifier-tostring-abrupt-rejects.js(default) -test/language/expressions/dynamic-import/catch/nested-arrow-import-catch-specifier-tostring-abrupt-rejects.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-await-eval-rqstd-abrupt-typeerror.js(default) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-await-eval-rqstd-abrupt-typeerror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-await-eval-rqstd-abrupt-urierror.js(default) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-await-eval-rqstd-abrupt-urierror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-await-eval-script-code-target.js(default) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-await-eval-script-code-target.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-await-file-does-not-exist.js(default) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-await-file-does-not-exist.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-await-instn-iee-err-ambiguous-import.js(default) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-await-instn-iee-err-ambiguous-import.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-await-instn-iee-err-circular.js(default) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-await-instn-iee-err-circular.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-await-specifier-tostring-abrupt-rejects.js(default) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-await-specifier-tostring-abrupt-rejects.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-return-await-eval-rqstd-abrupt-typeerror.js(default) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-return-await-eval-rqstd-abrupt-typeerror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-return-await-eval-rqstd-abrupt-urierror.js(default) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-return-await-eval-rqstd-abrupt-urierror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-return-await-eval-script-code-target.js(default) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-return-await-eval-script-code-target.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-return-await-file-does-not-exist.js(default) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-return-await-file-does-not-exist.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-return-await-instn-iee-err-ambiguous-import.js(default) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-return-await-instn-iee-err-ambiguous-import.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-return-await-instn-iee-err-circular.js(default) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-return-await-instn-iee-err-circular.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-return-await-specifier-tostring-abrupt-rejects.js(default) -test/language/expressions/dynamic-import/catch/nested-async-arrow-function-return-await-specifier-tostring-abrupt-rejects.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-await-eval-rqstd-abrupt-typeerror.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-await-eval-rqstd-abrupt-typeerror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-await-eval-rqstd-abrupt-urierror.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-await-eval-rqstd-abrupt-urierror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-await-eval-script-code-target.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-await-eval-script-code-target.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-await-file-does-not-exist.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-await-file-does-not-exist.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-await-instn-iee-err-ambiguous-import.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-await-instn-iee-err-ambiguous-import.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-await-instn-iee-err-circular.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-await-instn-iee-err-circular.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-await-specifier-tostring-abrupt-rejects.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-await-specifier-tostring-abrupt-rejects.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-eval-rqstd-abrupt-typeerror.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-eval-rqstd-abrupt-typeerror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-eval-rqstd-abrupt-urierror.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-eval-rqstd-abrupt-urierror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-eval-script-code-target.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-eval-script-code-target.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-file-does-not-exist.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-file-does-not-exist.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-instn-iee-err-ambiguous-import.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-instn-iee-err-ambiguous-import.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-instn-iee-err-circular.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-instn-iee-err-circular.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-return-await-eval-rqstd-abrupt-typeerror.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-return-await-eval-rqstd-abrupt-typeerror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-return-await-eval-rqstd-abrupt-urierror.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-return-await-eval-rqstd-abrupt-urierror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-return-await-eval-script-code-target.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-return-await-eval-script-code-target.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-return-await-file-does-not-exist.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-return-await-file-does-not-exist.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-return-await-instn-iee-err-ambiguous-import.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-return-await-instn-iee-err-ambiguous-import.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-return-await-instn-iee-err-circular.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-return-await-instn-iee-err-circular.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-return-await-specifier-tostring-abrupt-rejects.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-return-await-specifier-tostring-abrupt-rejects.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-function-specifier-tostring-abrupt-rejects.js(default) -test/language/expressions/dynamic-import/catch/nested-async-function-specifier-tostring-abrupt-rejects.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-gen-await-eval-rqstd-abrupt-urierror.js(default) -test/language/expressions/dynamic-import/catch/nested-async-gen-await-eval-rqstd-abrupt-urierror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-gen-await-eval-rqstd-abrupt-typeerror.js(default) -test/language/expressions/dynamic-import/catch/nested-async-gen-await-eval-rqstd-abrupt-typeerror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-gen-await-eval-script-code-target.js(default) -test/language/expressions/dynamic-import/catch/nested-async-gen-await-eval-script-code-target.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-gen-await-file-does-not-exist.js(default) -test/language/expressions/dynamic-import/catch/nested-async-gen-await-file-does-not-exist.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-gen-await-instn-iee-err-ambiguous-import.js(default) -test/language/expressions/dynamic-import/catch/nested-async-gen-await-instn-iee-err-ambiguous-import.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-gen-await-instn-iee-err-circular.js(default) -test/language/expressions/dynamic-import/catch/nested-async-gen-await-instn-iee-err-circular.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-gen-await-specifier-tostring-abrupt-rejects.js(default) -test/language/expressions/dynamic-import/catch/nested-async-gen-await-specifier-tostring-abrupt-rejects.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-gen-return-await-eval-rqstd-abrupt-typeerror.js(default) -test/language/expressions/dynamic-import/catch/nested-async-gen-return-await-eval-rqstd-abrupt-typeerror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-gen-return-await-eval-rqstd-abrupt-urierror.js(default) -test/language/expressions/dynamic-import/catch/nested-async-gen-return-await-eval-rqstd-abrupt-urierror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-gen-return-await-eval-script-code-target.js(default) -test/language/expressions/dynamic-import/catch/nested-async-gen-return-await-eval-script-code-target.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-gen-return-await-file-does-not-exist.js(default) -test/language/expressions/dynamic-import/catch/nested-async-gen-return-await-file-does-not-exist.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-gen-return-await-instn-iee-err-ambiguous-import.js(default) -test/language/expressions/dynamic-import/catch/nested-async-gen-return-await-instn-iee-err-ambiguous-import.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-gen-return-await-instn-iee-err-circular.js(default) -test/language/expressions/dynamic-import/catch/nested-async-gen-return-await-instn-iee-err-circular.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-async-gen-return-await-specifier-tostring-abrupt-rejects.js(default) -test/language/expressions/dynamic-import/catch/nested-async-gen-return-await-specifier-tostring-abrupt-rejects.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-block-import-catch-eval-rqstd-abrupt-typeerror.js(default) -test/language/expressions/dynamic-import/catch/nested-block-import-catch-eval-rqstd-abrupt-typeerror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-block-import-catch-eval-rqstd-abrupt-urierror.js(default) -test/language/expressions/dynamic-import/catch/nested-block-import-catch-eval-rqstd-abrupt-urierror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-block-import-catch-eval-script-code-target.js(default) -test/language/expressions/dynamic-import/catch/nested-block-import-catch-eval-script-code-target.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-block-import-catch-file-does-not-exist.js(default) -test/language/expressions/dynamic-import/catch/nested-block-import-catch-file-does-not-exist.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-block-import-catch-instn-iee-err-ambiguous-import.js(default) -test/language/expressions/dynamic-import/catch/nested-block-import-catch-instn-iee-err-ambiguous-import.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-block-import-catch-instn-iee-err-circular.js(default) -test/language/expressions/dynamic-import/catch/nested-block-import-catch-instn-iee-err-circular.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-block-import-catch-specifier-tostring-abrupt-rejects.js(default) -test/language/expressions/dynamic-import/catch/nested-block-import-catch-specifier-tostring-abrupt-rejects.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-block-labeled-eval-rqstd-abrupt-typeerror.js(default) -test/language/expressions/dynamic-import/catch/nested-block-labeled-eval-rqstd-abrupt-typeerror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-block-labeled-eval-rqstd-abrupt-urierror.js(default) -test/language/expressions/dynamic-import/catch/nested-block-labeled-eval-rqstd-abrupt-urierror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-block-labeled-eval-script-code-target.js(default) -test/language/expressions/dynamic-import/catch/nested-block-labeled-eval-script-code-target.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-block-labeled-file-does-not-exist.js(default) -test/language/expressions/dynamic-import/catch/nested-block-labeled-file-does-not-exist.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-block-labeled-instn-iee-err-ambiguous-import.js(default) -test/language/expressions/dynamic-import/catch/nested-block-labeled-instn-iee-err-ambiguous-import.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-block-labeled-instn-iee-err-circular.js(default) -test/language/expressions/dynamic-import/catch/nested-block-labeled-instn-iee-err-circular.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-block-labeled-specifier-tostring-abrupt-rejects.js(default) -test/language/expressions/dynamic-import/catch/nested-block-labeled-specifier-tostring-abrupt-rejects.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-do-while-eval-rqstd-abrupt-typeerror.js(default) -test/language/expressions/dynamic-import/catch/nested-do-while-eval-rqstd-abrupt-typeerror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-do-while-eval-rqstd-abrupt-urierror.js(default) -test/language/expressions/dynamic-import/catch/nested-do-while-eval-rqstd-abrupt-urierror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-do-while-eval-script-code-target.js(default) -test/language/expressions/dynamic-import/catch/nested-do-while-eval-script-code-target.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-do-while-file-does-not-exist.js(default) -test/language/expressions/dynamic-import/catch/nested-do-while-file-does-not-exist.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-do-while-instn-iee-err-ambiguous-import.js(default) -test/language/expressions/dynamic-import/catch/nested-do-while-instn-iee-err-ambiguous-import.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-do-while-instn-iee-err-circular.js(default) -test/language/expressions/dynamic-import/catch/nested-do-while-instn-iee-err-circular.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-do-while-specifier-tostring-abrupt-rejects.js(default) -test/language/expressions/dynamic-import/catch/nested-do-while-specifier-tostring-abrupt-rejects.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-else-import-catch-eval-rqstd-abrupt-typeerror.js(default) -test/language/expressions/dynamic-import/catch/nested-else-import-catch-eval-rqstd-abrupt-typeerror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-else-import-catch-eval-rqstd-abrupt-urierror.js(default) -test/language/expressions/dynamic-import/catch/nested-else-import-catch-eval-rqstd-abrupt-urierror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-else-import-catch-eval-script-code-target.js(default) -test/language/expressions/dynamic-import/catch/nested-else-import-catch-eval-script-code-target.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-else-import-catch-instn-iee-err-ambiguous-import.js(default) -test/language/expressions/dynamic-import/catch/nested-else-import-catch-instn-iee-err-ambiguous-import.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-else-import-catch-file-does-not-exist.js(default) -test/language/expressions/dynamic-import/catch/nested-else-import-catch-file-does-not-exist.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-else-import-catch-instn-iee-err-circular.js(default) -test/language/expressions/dynamic-import/catch/nested-else-import-catch-instn-iee-err-circular.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-else-import-catch-specifier-tostring-abrupt-rejects.js(default) -test/language/expressions/dynamic-import/catch/nested-else-import-catch-specifier-tostring-abrupt-rejects.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-function-import-catch-eval-rqstd-abrupt-typeerror.js(default) -test/language/expressions/dynamic-import/catch/nested-function-import-catch-eval-rqstd-abrupt-typeerror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-function-import-catch-eval-rqstd-abrupt-urierror.js(default) -test/language/expressions/dynamic-import/catch/nested-function-import-catch-eval-rqstd-abrupt-urierror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-function-import-catch-eval-script-code-target.js(default) -test/language/expressions/dynamic-import/catch/nested-function-import-catch-eval-script-code-target.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-function-import-catch-file-does-not-exist.js(default) -test/language/expressions/dynamic-import/catch/nested-function-import-catch-file-does-not-exist.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-function-import-catch-instn-iee-err-ambiguous-import.js(default) -test/language/expressions/dynamic-import/catch/nested-function-import-catch-instn-iee-err-ambiguous-import.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-function-import-catch-instn-iee-err-circular.js(default) -test/language/expressions/dynamic-import/catch/nested-function-import-catch-instn-iee-err-circular.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-function-import-catch-specifier-tostring-abrupt-rejects.js(default) -test/language/expressions/dynamic-import/catch/nested-function-import-catch-specifier-tostring-abrupt-rejects.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-if-import-catch-eval-rqstd-abrupt-typeerror.js(default) -test/language/expressions/dynamic-import/catch/nested-if-import-catch-eval-rqstd-abrupt-typeerror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-if-import-catch-eval-rqstd-abrupt-urierror.js(default) -test/language/expressions/dynamic-import/catch/nested-if-import-catch-eval-rqstd-abrupt-urierror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-if-import-catch-eval-script-code-target.js(default) -test/language/expressions/dynamic-import/catch/nested-if-import-catch-eval-script-code-target.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-if-import-catch-file-does-not-exist.js(default) -test/language/expressions/dynamic-import/catch/nested-if-import-catch-file-does-not-exist.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-if-import-catch-instn-iee-err-ambiguous-import.js(default) -test/language/expressions/dynamic-import/catch/nested-if-import-catch-instn-iee-err-ambiguous-import.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-if-import-catch-instn-iee-err-circular.js(default) -test/language/expressions/dynamic-import/catch/nested-if-import-catch-instn-iee-err-circular.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-if-import-catch-specifier-tostring-abrupt-rejects.js(default) -test/language/expressions/dynamic-import/catch/nested-if-import-catch-specifier-tostring-abrupt-rejects.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-while-import-catch-eval-rqstd-abrupt-typeerror.js(default) -test/language/expressions/dynamic-import/catch/nested-while-import-catch-eval-rqstd-abrupt-typeerror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-while-import-catch-eval-rqstd-abrupt-urierror.js(default) -test/language/expressions/dynamic-import/catch/nested-while-import-catch-eval-rqstd-abrupt-urierror.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-while-import-catch-eval-script-code-target.js(default) -test/language/expressions/dynamic-import/catch/nested-while-import-catch-eval-script-code-target.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-while-import-catch-file-does-not-exist.js(default) -test/language/expressions/dynamic-import/catch/nested-while-import-catch-file-does-not-exist.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-while-import-catch-instn-iee-err-ambiguous-import.js(default) -test/language/expressions/dynamic-import/catch/nested-while-import-catch-instn-iee-err-ambiguous-import.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-while-import-catch-instn-iee-err-circular.js(default) -test/language/expressions/dynamic-import/catch/nested-while-import-catch-instn-iee-err-circular.js(strict mode) -test/language/expressions/dynamic-import/catch/nested-while-import-catch-specifier-tostring-abrupt-rejects.js(default) -test/language/expressions/dynamic-import/catch/nested-while-import-catch-specifier-tostring-abrupt-rejects.js(strict mode) -test/language/expressions/dynamic-import/catch/top-level-import-catch-eval-rqstd-abrupt-typeerror.js(default) -test/language/expressions/dynamic-import/catch/top-level-import-catch-eval-rqstd-abrupt-typeerror.js(strict mode) -test/language/expressions/dynamic-import/catch/top-level-import-catch-eval-rqstd-abrupt-urierror.js(default) -test/language/expressions/dynamic-import/catch/top-level-import-catch-eval-rqstd-abrupt-urierror.js(strict mode) -test/language/expressions/dynamic-import/catch/top-level-import-catch-eval-script-code-target.js(default) -test/language/expressions/dynamic-import/catch/top-level-import-catch-eval-script-code-target.js(strict mode) -test/language/expressions/dynamic-import/catch/top-level-import-catch-file-does-not-exist.js(default) -test/language/expressions/dynamic-import/catch/top-level-import-catch-file-does-not-exist.js(strict mode) -test/language/expressions/dynamic-import/catch/top-level-import-catch-instn-iee-err-ambiguous-import.js(default) -test/language/expressions/dynamic-import/catch/top-level-import-catch-instn-iee-err-ambiguous-import.js(strict mode) -test/language/expressions/dynamic-import/catch/top-level-import-catch-instn-iee-err-circular.js(default) -test/language/expressions/dynamic-import/catch/top-level-import-catch-instn-iee-err-circular.js(strict mode) -test/language/expressions/dynamic-import/catch/top-level-import-catch-specifier-tostring-abrupt-rejects.js(default) -test/language/expressions/dynamic-import/catch/top-level-import-catch-specifier-tostring-abrupt-rejects.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-Symbol-toStringTag.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-Symbol-toStringTag.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-define-own-property.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-define-own-property.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-delete-exported-init-no-strict.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-delete-exported-init-strict.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-delete-non-exported-no-strict.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-delete-non-exported-strict.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-extensible.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-extensible.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-get-nested-namespace-dflt-direct.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-get-nested-namespace-dflt-direct.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-get-nested-namespace-dflt-indirect.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-get-nested-namespace-dflt-indirect.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-get-nested-namespace-props-nrml.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-get-nested-namespace-props-nrml.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-get-own-property-str-found-init.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-get-own-property-str-found-init.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-get-own-property-str-not-found.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-get-own-property-str-not-found.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-get-own-property-sym.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-get-own-property-sym.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-get-str-found.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-get-str-found.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-get-str-not-found.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-get-str-not-found.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-get-sym-found.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-get-sym-found.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-get-sym-not-found.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-get-sym-not-found.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-has-property-str-found-init.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-has-property-str-found-init.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-has-property-str-not-found.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-has-property-str-not-found.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-has-property-sym-found.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-has-property-sym-found.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-has-property-sym-not-found.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-has-property-sym-not-found.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-no-iterator.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-no-iterator.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-own-property-keys-sort.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-own-property-keys-sort.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-prevent-extensions-object.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-prevent-extensions-object.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-prevent-extensions-reflect.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-prevent-extensions-reflect.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-prop-descs.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-prop-descs.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-prototype.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-prototype.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-set-no-strict.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-set-prototype-of-null.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-set-prototype-of-null.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-set-prototype-of.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-set-prototype-of.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-set-same-values-no-strict.js(default) -test/language/expressions/dynamic-import/namespace/await-ns-set-same-values-strict.js(strict mode) -test/language/expressions/dynamic-import/namespace/await-ns-set-strict.js(strict mode) -test/language/expressions/dynamic-import/namespace/default-property-not-set-own.js(default) -test/language/expressions/dynamic-import/namespace/default-property-not-set-own.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-Symbol-toStringTag.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-Symbol-toStringTag.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-define-own-property.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-define-own-property.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-delete-exported-init-no-strict.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-delete-exported-init-strict.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-delete-non-exported-no-strict.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-delete-non-exported-strict.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-extensible.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-extensible.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-get-nested-namespace-dflt-direct.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-get-nested-namespace-dflt-direct.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-get-nested-namespace-dflt-indirect.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-get-nested-namespace-dflt-indirect.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-get-nested-namespace-props-nrml.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-get-nested-namespace-props-nrml.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-get-own-property-str-found-init.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-get-own-property-str-found-init.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-get-own-property-str-not-found.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-get-own-property-str-not-found.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-get-own-property-sym.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-get-own-property-sym.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-get-str-found.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-get-str-found.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-get-str-not-found.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-get-str-not-found.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-get-sym-found.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-get-sym-found.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-get-sym-not-found.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-get-sym-not-found.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-has-property-str-found-init.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-has-property-str-found-init.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-has-property-str-not-found.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-has-property-str-not-found.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-has-property-sym-found.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-has-property-sym-found.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-has-property-sym-not-found.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-has-property-sym-not-found.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-no-iterator.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-no-iterator.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-own-property-keys-sort.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-own-property-keys-sort.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-prevent-extensions-object.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-prevent-extensions-object.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-prevent-extensions-reflect.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-prevent-extensions-reflect.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-prop-descs.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-prop-descs.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-prototype.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-prototype.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-set-no-strict.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-set-prototype-of-null.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-set-prototype-of-null.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-set-prototype-of.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-set-prototype-of.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-set-same-values-no-strict.js(default) -test/language/expressions/dynamic-import/namespace/promise-then-ns-set-same-values-strict.js(strict mode) -test/language/expressions/dynamic-import/namespace/promise-then-ns-set-strict.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-arrow-assignment-expression-eval-gtbndng-indirect-update-dflt.js(default) -test/language/expressions/dynamic-import/usage/nested-arrow-assignment-expression-eval-gtbndng-indirect-update-dflt.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-arrow-assignment-expression-eval-gtbndng-indirect-update.js(default) -test/language/expressions/dynamic-import/usage/nested-arrow-assignment-expression-eval-gtbndng-indirect-update.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-arrow-assignment-expression-eval-script-code-host-resolves-module-code.js(default) -test/language/expressions/dynamic-import/usage/nested-arrow-assignment-expression-eval-script-code-host-resolves-module-code.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-arrow-assignment-expression-is-call-expression-square-brackets.js(default) -test/language/expressions/dynamic-import/usage/nested-arrow-assignment-expression-is-call-expression-square-brackets.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-arrow-assignment-expression-returns-thenable.js(default) -test/language/expressions/dynamic-import/usage/nested-arrow-assignment-expression-returns-thenable.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-arrow-assignment-expression-specifier-tostring.js(default) -test/language/expressions/dynamic-import/usage/nested-arrow-assignment-expression-specifier-tostring.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-arrow-import-then-eval-gtbndng-indirect-update-dflt.js(default) -test/language/expressions/dynamic-import/usage/nested-arrow-import-then-eval-gtbndng-indirect-update-dflt.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-arrow-import-then-eval-gtbndng-indirect-update.js(default) -test/language/expressions/dynamic-import/usage/nested-arrow-import-then-eval-gtbndng-indirect-update.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-arrow-import-then-eval-script-code-host-resolves-module-code.js(default) -test/language/expressions/dynamic-import/usage/nested-arrow-import-then-eval-script-code-host-resolves-module-code.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-arrow-import-then-is-call-expression-square-brackets.js(default) -test/language/expressions/dynamic-import/usage/nested-arrow-import-then-is-call-expression-square-brackets.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-arrow-import-then-returns-thenable.js(default) -test/language/expressions/dynamic-import/usage/nested-arrow-import-then-returns-thenable.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-arrow-import-then-specifier-tostring.js(default) -test/language/expressions/dynamic-import/usage/nested-arrow-import-then-specifier-tostring.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-await-eval-gtbndng-indirect-update-dflt.js(default) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-await-eval-gtbndng-indirect-update-dflt.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-await-eval-gtbndng-indirect-update.js(default) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-await-eval-gtbndng-indirect-update.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-await-eval-script-code-host-resolves-module-code.js(default) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-await-eval-script-code-host-resolves-module-code.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-await-is-call-expression-square-brackets.js(default) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-await-is-call-expression-square-brackets.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-await-returns-thenable.js(default) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-await-returns-thenable.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-await-specifier-tostring.js(default) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-await-specifier-tostring.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-return-await-eval-gtbndng-indirect-update-dflt.js(default) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-return-await-eval-gtbndng-indirect-update-dflt.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-return-await-eval-gtbndng-indirect-update.js(default) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-return-await-eval-gtbndng-indirect-update.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-return-await-eval-script-code-host-resolves-module-code.js(default) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-return-await-eval-script-code-host-resolves-module-code.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-return-await-is-call-expression-square-brackets.js(default) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-return-await-is-call-expression-square-brackets.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-return-await-returns-thenable.js(default) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-return-await-returns-thenable.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-return-await-specifier-tostring.js(default) -test/language/expressions/dynamic-import/usage/nested-async-arrow-function-return-await-specifier-tostring.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-function-await-eval-gtbndng-indirect-update-dflt.js(default) -test/language/expressions/dynamic-import/usage/nested-async-function-await-eval-gtbndng-indirect-update-dflt.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-function-await-eval-gtbndng-indirect-update.js(default) -test/language/expressions/dynamic-import/usage/nested-async-function-await-eval-gtbndng-indirect-update.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-function-await-eval-script-code-host-resolves-module-code.js(default) -test/language/expressions/dynamic-import/usage/nested-async-function-await-eval-script-code-host-resolves-module-code.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-function-await-is-call-expression-square-brackets.js(default) -test/language/expressions/dynamic-import/usage/nested-async-function-await-is-call-expression-square-brackets.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-function-await-returns-thenable.js(default) -test/language/expressions/dynamic-import/usage/nested-async-function-await-returns-thenable.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-function-await-specifier-tostring.js(default) -test/language/expressions/dynamic-import/usage/nested-async-function-await-specifier-tostring.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-function-eval-gtbndng-indirect-update-dflt.js(default) -test/language/expressions/dynamic-import/usage/nested-async-function-eval-gtbndng-indirect-update-dflt.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-function-eval-gtbndng-indirect-update.js(default) -test/language/expressions/dynamic-import/usage/nested-async-function-eval-gtbndng-indirect-update.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-function-eval-script-code-host-resolves-module-code.js(default) -test/language/expressions/dynamic-import/usage/nested-async-function-eval-script-code-host-resolves-module-code.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-function-is-call-expression-square-brackets.js(default) -test/language/expressions/dynamic-import/usage/nested-async-function-is-call-expression-square-brackets.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-function-return-await-eval-gtbndng-indirect-update-dflt.js(default) -test/language/expressions/dynamic-import/usage/nested-async-function-return-await-eval-gtbndng-indirect-update-dflt.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-function-return-await-eval-gtbndng-indirect-update.js(default) -test/language/expressions/dynamic-import/usage/nested-async-function-return-await-eval-gtbndng-indirect-update.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-function-return-await-eval-script-code-host-resolves-module-code.js(default) -test/language/expressions/dynamic-import/usage/nested-async-function-return-await-eval-script-code-host-resolves-module-code.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-function-return-await-is-call-expression-square-brackets.js(default) -test/language/expressions/dynamic-import/usage/nested-async-function-return-await-is-call-expression-square-brackets.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-function-return-await-returns-thenable.js(default) -test/language/expressions/dynamic-import/usage/nested-async-function-return-await-returns-thenable.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-function-return-await-specifier-tostring.js(default) -test/language/expressions/dynamic-import/usage/nested-async-function-return-await-specifier-tostring.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-function-returns-thenable.js(default) -test/language/expressions/dynamic-import/usage/nested-async-function-returns-thenable.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-function-specifier-tostring.js(default) -test/language/expressions/dynamic-import/usage/nested-async-function-specifier-tostring.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-gen-await-eval-gtbndng-indirect-update-dflt.js(default) -test/language/expressions/dynamic-import/usage/nested-async-gen-await-eval-gtbndng-indirect-update-dflt.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-gen-await-eval-gtbndng-indirect-update.js(default) -test/language/expressions/dynamic-import/usage/nested-async-gen-await-eval-gtbndng-indirect-update.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-gen-await-eval-script-code-host-resolves-module-code.js(default) -test/language/expressions/dynamic-import/usage/nested-async-gen-await-eval-script-code-host-resolves-module-code.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-gen-await-is-call-expression-square-brackets.js(default) -test/language/expressions/dynamic-import/usage/nested-async-gen-await-is-call-expression-square-brackets.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-gen-await-returns-thenable.js(default) -test/language/expressions/dynamic-import/usage/nested-async-gen-await-returns-thenable.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-gen-await-specifier-tostring.js(default) -test/language/expressions/dynamic-import/usage/nested-async-gen-await-specifier-tostring.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-gen-return-await-eval-gtbndng-indirect-update-dflt.js(default) -test/language/expressions/dynamic-import/usage/nested-async-gen-return-await-eval-gtbndng-indirect-update-dflt.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-gen-return-await-eval-gtbndng-indirect-update.js(default) -test/language/expressions/dynamic-import/usage/nested-async-gen-return-await-eval-gtbndng-indirect-update.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-gen-return-await-eval-script-code-host-resolves-module-code.js(default) -test/language/expressions/dynamic-import/usage/nested-async-gen-return-await-eval-script-code-host-resolves-module-code.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-gen-return-await-is-call-expression-square-brackets.js(default) -test/language/expressions/dynamic-import/usage/nested-async-gen-return-await-is-call-expression-square-brackets.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-gen-return-await-returns-thenable.js(default) -test/language/expressions/dynamic-import/usage/nested-async-gen-return-await-returns-thenable.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-async-gen-return-await-specifier-tostring.js(default) -test/language/expressions/dynamic-import/usage/nested-async-gen-return-await-specifier-tostring.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-block-import-then-eval-gtbndng-indirect-update-dflt.js(default) -test/language/expressions/dynamic-import/usage/nested-block-import-then-eval-gtbndng-indirect-update-dflt.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-block-import-then-eval-gtbndng-indirect-update.js(default) -test/language/expressions/dynamic-import/usage/nested-block-import-then-eval-gtbndng-indirect-update.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-block-import-then-eval-script-code-host-resolves-module-code.js(default) -test/language/expressions/dynamic-import/usage/nested-block-import-then-eval-script-code-host-resolves-module-code.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-block-import-then-is-call-expression-square-brackets.js(default) -test/language/expressions/dynamic-import/usage/nested-block-import-then-is-call-expression-square-brackets.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-block-import-then-returns-thenable.js(default) -test/language/expressions/dynamic-import/usage/nested-block-import-then-returns-thenable.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-block-import-then-specifier-tostring.js(default) -test/language/expressions/dynamic-import/usage/nested-block-import-then-specifier-tostring.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-do-while-eval-gtbndng-indirect-update-dflt.js(default) -test/language/expressions/dynamic-import/usage/nested-do-while-eval-gtbndng-indirect-update-dflt.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-do-while-eval-gtbndng-indirect-update.js(default) -test/language/expressions/dynamic-import/usage/nested-do-while-eval-gtbndng-indirect-update.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-do-while-eval-script-code-host-resolves-module-code.js(default) -test/language/expressions/dynamic-import/usage/nested-do-while-eval-script-code-host-resolves-module-code.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-do-while-is-call-expression-square-brackets.js(default) -test/language/expressions/dynamic-import/usage/nested-do-while-is-call-expression-square-brackets.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-do-while-returns-thenable.js(default) -test/language/expressions/dynamic-import/usage/nested-do-while-returns-thenable.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-do-while-specifier-tostring.js(default) -test/language/expressions/dynamic-import/usage/nested-do-while-specifier-tostring.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-else-import-then-eval-gtbndng-indirect-update-dflt.js(default) -test/language/expressions/dynamic-import/usage/nested-else-import-then-eval-gtbndng-indirect-update-dflt.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-else-import-then-eval-gtbndng-indirect-update.js(default) -test/language/expressions/dynamic-import/usage/nested-else-import-then-eval-gtbndng-indirect-update.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-else-import-then-eval-script-code-host-resolves-module-code.js(default) -test/language/expressions/dynamic-import/usage/nested-else-import-then-eval-script-code-host-resolves-module-code.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-else-import-then-is-call-expression-square-brackets.js(default) -test/language/expressions/dynamic-import/usage/nested-else-import-then-is-call-expression-square-brackets.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-else-import-then-returns-thenable.js(default) -test/language/expressions/dynamic-import/usage/nested-else-import-then-returns-thenable.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-else-import-then-specifier-tostring.js(default) -test/language/expressions/dynamic-import/usage/nested-else-import-then-specifier-tostring.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-function-import-then-eval-gtbndng-indirect-update-dflt.js(default) -test/language/expressions/dynamic-import/usage/nested-function-import-then-eval-gtbndng-indirect-update-dflt.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-function-import-then-eval-gtbndng-indirect-update.js(default) -test/language/expressions/dynamic-import/usage/nested-function-import-then-eval-gtbndng-indirect-update.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-function-import-then-eval-script-code-host-resolves-module-code.js(default) -test/language/expressions/dynamic-import/usage/nested-function-import-then-eval-script-code-host-resolves-module-code.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-function-import-then-is-call-expression-square-brackets.js(default) -test/language/expressions/dynamic-import/usage/nested-function-import-then-is-call-expression-square-brackets.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-function-import-then-returns-thenable.js(default) -test/language/expressions/dynamic-import/usage/nested-function-import-then-returns-thenable.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-function-import-then-specifier-tostring.js(default) -test/language/expressions/dynamic-import/usage/nested-function-import-then-specifier-tostring.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-if-braceless-eval-gtbndng-indirect-update-dflt.js(default) -test/language/expressions/dynamic-import/usage/nested-if-braceless-eval-gtbndng-indirect-update-dflt.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-if-braceless-eval-gtbndng-indirect-update.js(default) -test/language/expressions/dynamic-import/usage/nested-if-braceless-eval-gtbndng-indirect-update.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-if-braceless-eval-script-code-host-resolves-module-code.js(default) -test/language/expressions/dynamic-import/usage/nested-if-braceless-eval-script-code-host-resolves-module-code.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-if-braceless-is-call-expression-square-brackets.js(default) -test/language/expressions/dynamic-import/usage/nested-if-braceless-is-call-expression-square-brackets.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-if-braceless-returns-thenable.js(default) -test/language/expressions/dynamic-import/usage/nested-if-braceless-returns-thenable.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-if-braceless-specifier-tostring.js(default) -test/language/expressions/dynamic-import/usage/nested-if-braceless-specifier-tostring.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-if-import-then-eval-gtbndng-indirect-update-dflt.js(default) -test/language/expressions/dynamic-import/usage/nested-if-import-then-eval-gtbndng-indirect-update-dflt.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-if-import-then-eval-gtbndng-indirect-update.js(default) -test/language/expressions/dynamic-import/usage/nested-if-import-then-eval-gtbndng-indirect-update.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-if-import-then-eval-script-code-host-resolves-module-code.js(default) -test/language/expressions/dynamic-import/usage/nested-if-import-then-eval-script-code-host-resolves-module-code.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-if-import-then-is-call-expression-square-brackets.js(default) -test/language/expressions/dynamic-import/usage/nested-if-import-then-is-call-expression-square-brackets.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-if-import-then-returns-thenable.js(default) -test/language/expressions/dynamic-import/usage/nested-if-import-then-returns-thenable.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-if-import-then-specifier-tostring.js(default) -test/language/expressions/dynamic-import/usage/nested-if-import-then-specifier-tostring.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-while-import-then-eval-gtbndng-indirect-update-dflt.js(default) -test/language/expressions/dynamic-import/usage/nested-while-import-then-eval-gtbndng-indirect-update-dflt.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-while-import-then-eval-gtbndng-indirect-update.js(default) -test/language/expressions/dynamic-import/usage/nested-while-import-then-eval-gtbndng-indirect-update.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-while-import-then-eval-script-code-host-resolves-module-code.js(default) -test/language/expressions/dynamic-import/usage/nested-while-import-then-eval-script-code-host-resolves-module-code.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-while-import-then-is-call-expression-square-brackets.js(default) -test/language/expressions/dynamic-import/usage/nested-while-import-then-is-call-expression-square-brackets.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-while-import-then-returns-thenable.js(default) -test/language/expressions/dynamic-import/usage/nested-while-import-then-returns-thenable.js(strict mode) -test/language/expressions/dynamic-import/usage/nested-while-import-then-specifier-tostring.js(default) -test/language/expressions/dynamic-import/usage/nested-while-import-then-specifier-tostring.js(strict mode) -test/language/expressions/dynamic-import/usage/syntax-nested-block-labeled-eval-gtbndng-indirect-update-dflt.js(default) -test/language/expressions/dynamic-import/usage/syntax-nested-block-labeled-eval-gtbndng-indirect-update-dflt.js(strict mode) -test/language/expressions/dynamic-import/usage/syntax-nested-block-labeled-eval-gtbndng-indirect-update.js(default) -test/language/expressions/dynamic-import/usage/syntax-nested-block-labeled-eval-gtbndng-indirect-update.js(strict mode) -test/language/expressions/dynamic-import/usage/syntax-nested-block-labeled-eval-script-code-host-resolves-module-code.js(default) -test/language/expressions/dynamic-import/usage/syntax-nested-block-labeled-eval-script-code-host-resolves-module-code.js(strict mode) -test/language/expressions/dynamic-import/usage/syntax-nested-block-labeled-is-call-expression-square-brackets.js(default) -test/language/expressions/dynamic-import/usage/syntax-nested-block-labeled-is-call-expression-square-brackets.js(strict mode) -test/language/expressions/dynamic-import/usage/syntax-nested-block-labeled-returns-thenable.js(default) -test/language/expressions/dynamic-import/usage/syntax-nested-block-labeled-returns-thenable.js(strict mode) -test/language/expressions/dynamic-import/usage/syntax-nested-block-labeled-specifier-tostring.js(default) -test/language/expressions/dynamic-import/usage/syntax-nested-block-labeled-specifier-tostring.js(strict mode) -test/language/expressions/dynamic-import/usage/top-level-import-then-eval-gtbndng-indirect-update-dflt.js(default) -test/language/expressions/dynamic-import/usage/top-level-import-then-eval-gtbndng-indirect-update-dflt.js(strict mode) -test/language/expressions/dynamic-import/usage/top-level-import-then-eval-gtbndng-indirect-update.js(default) -test/language/expressions/dynamic-import/usage/top-level-import-then-eval-gtbndng-indirect-update.js(strict mode) -test/language/expressions/dynamic-import/usage/top-level-import-then-eval-script-code-host-resolves-module-code.js(default) -test/language/expressions/dynamic-import/usage/top-level-import-then-eval-script-code-host-resolves-module-code.js(strict mode) -test/language/expressions/dynamic-import/usage/top-level-import-then-is-call-expression-square-brackets.js(default) -test/language/expressions/dynamic-import/usage/top-level-import-then-is-call-expression-square-brackets.js(strict mode) -test/language/expressions/dynamic-import/usage/top-level-import-then-returns-thenable.js(default) -test/language/expressions/dynamic-import/usage/top-level-import-then-returns-thenable.js(strict mode) -test/language/expressions/dynamic-import/usage/top-level-import-then-specifier-tostring.js(default) -test/language/expressions/dynamic-import/usage/top-level-import-then-specifier-tostring.js(strict mode) test/language/statements/class/accessor-name-inst/literal-string-unicode-escape.js(default) test/language/statements/class/accessor-name-inst/literal-string-unicode-escape.js(strict mode) test/language/statements/class/accessor-name-static/literal-string-unicode-escape.js(default) @@ -8363,132 +7695,6 @@ test/language/expressions/class/elements/private-methods/prod-private-method-ini test/language/expressions/class/elements/private-methods/prod-private-method-initialize-order.js(strict mode) test/language/expressions/class/elements/private-methods/prod-private-method.js(default) test/language/expressions/class/elements/private-methods/prod-private-method.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/callexpression-arguments.js(default) -test/language/expressions/dynamic-import/syntax/valid/callexpression-arguments.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/callexpression-templateliteral.js(default) -test/language/expressions/dynamic-import/syntax/valid/callexpression-templateliteral.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-arrow-assignment-expression-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-arrow-assignment-expression-empty-str-is-valid-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-arrow-assignment-expression-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-arrow-assignment-expression-nested-imports.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-arrow-assignment-expression-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-arrow-assignment-expression-script-code-valid.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-arrow-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-arrow-empty-str-is-valid-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-arrow-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-arrow-nested-imports.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-arrow-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-arrow-script-code-valid.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-async-arrow-function-await-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-async-arrow-function-await-empty-str-is-valid-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-async-arrow-function-await-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-async-arrow-function-await-nested-imports.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-async-arrow-function-await-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-async-arrow-function-await-script-code-valid.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-async-arrow-function-return-await-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-async-arrow-function-return-await-empty-str-is-valid-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-async-arrow-function-return-await-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-async-arrow-function-return-await-nested-imports.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-async-arrow-function-return-await-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-async-arrow-function-return-await-script-code-valid.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-async-function-await-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-async-function-await-empty-str-is-valid-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-async-function-await-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-async-function-await-nested-imports.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-async-function-await-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-async-function-await-script-code-valid.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-async-function-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-async-function-empty-str-is-valid-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-async-function-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-async-function-nested-imports.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-async-function-return-await-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-async-function-return-await-empty-str-is-valid-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-async-function-return-await-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-async-function-return-await-nested-imports.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-async-function-return-await-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-async-function-return-await-script-code-valid.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-async-function-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-async-function-script-code-valid.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-async-gen-await-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-async-gen-await-empty-str-is-valid-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-async-gen-await-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-async-gen-await-nested-imports.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-async-gen-await-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-async-gen-await-script-code-valid.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-block-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-block-empty-str-is-valid-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-block-labeled-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-block-labeled-empty-str-is-valid-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-block-labeled-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-block-labeled-nested-imports.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-block-labeled-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-block-labeled-script-code-valid.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-block-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-block-nested-imports.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-block-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-block-script-code-valid.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-do-while-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-do-while-empty-str-is-valid-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-do-while-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-do-while-nested-imports.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-do-while-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-do-while-script-code-valid.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-else-braceless-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-else-braceless-empty-str-is-valid-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-else-braceless-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-else-braceless-nested-imports.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-else-braceless-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-else-braceless-script-code-valid.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-else-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-else-empty-str-is-valid-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-else-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-else-nested-imports.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-else-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-else-script-code-valid.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-function-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-function-empty-str-is-valid-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-function-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-function-nested-imports.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-function-return-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-function-return-empty-str-is-valid-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-function-return-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-function-return-nested-imports.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-function-return-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-function-return-script-code-valid.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-function-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-function-script-code-valid.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-if-braceless-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-if-braceless-empty-str-is-valid-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-if-braceless-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-if-braceless-nested-imports.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-if-braceless-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-if-braceless-script-code-valid.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-if-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-if-empty-str-is-valid-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-if-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-if-nested-imports.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-if-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-if-script-code-valid.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-while-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-while-empty-str-is-valid-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-while-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-while-nested-imports.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-while-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-while-script-code-valid.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/nested-with-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-with-expression-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-with-expression-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-with-expression-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-with-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/nested-with-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/new-covered-expression-is-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/new-covered-expression-is-valid.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/top-level-empty-str-is-valid-assign-expr.js(default) -test/language/expressions/dynamic-import/syntax/valid/top-level-empty-str-is-valid-assign-expr.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/top-level-nested-imports.js(default) -test/language/expressions/dynamic-import/syntax/valid/top-level-nested-imports.js(strict mode) -test/language/expressions/dynamic-import/syntax/valid/top-level-script-code-valid.js(default) -test/language/expressions/dynamic-import/syntax/valid/top-level-script-code-valid.js(strict mode) test/language/statements/class/elements/async-gen-private-method/yield-promise-reject-next-catch.js(default) test/language/statements/class/elements/async-gen-private-method/yield-promise-reject-next-catch.js(strict mode) test/language/statements/class/elements/async-gen-private-method/yield-promise-reject-next-for-await-of-async-iterator.js(default) @@ -9160,10 +8366,6 @@ test/language/module-code/top-level-await/await-expr-resolution.js(default) test/language/module-code/top-level-await/await-expr-resolution.js(strict mode) test/language/module-code/top-level-await/await-void-expr.js(default) test/language/module-code/top-level-await/await-void-expr.js(strict mode) -test/language/module-code/top-level-await/dynamic-import-rejection.js(default) -test/language/module-code/top-level-await/dynamic-import-rejection.js(strict mode) -test/language/module-code/top-level-await/dynamic-import-resolution.js(default) -test/language/module-code/top-level-await/dynamic-import-resolution.js(strict mode) test/language/module-code/top-level-await/if-await-expr.js(default) test/language/module-code/top-level-await/if-await-expr.js(strict mode) test/language/module-code/top-level-await/module-async-import-async-resolution-ticks.js(default) @@ -10284,4 +9486,6 @@ test/language/expressions/import.meta/syntax/escape-sequence-import.js(strict mo test/language/expressions/import.meta/syntax/escape-sequence-meta.js(default) test/language/expressions/import.meta/syntax/escape-sequence-meta.js(strict mode) test/language/expressions/optional-chaining/call-expression-super-no-base.js(default) -test/language/expressions/optional-chaining/call-expression-super-no-base.js(strict mode) \ No newline at end of file +test/language/expressions/optional-chaining/call-expression-super-no-base.js(strict mode) +test/language/expressions/dynamic-import/escape-sequence-import.js(default) +test/language/expressions/dynamic-import/escape-sequence-import.js(strict mode) diff --git a/tests/unit/dynamic-import.js b/tests/unit/dynamic-import.js new file mode 100644 index 0000000000..151768d582 --- /dev/null +++ b/tests/unit/dynamic-import.js @@ -0,0 +1,62 @@ +/** + * Tests for the parser/tokenizer + */ + +"use strict"; + +var JSHINT = require("../..").JSHINT; +var fs = require('fs'); +var TestRun = require("../helpers/testhelper").setup.testRun; +var path = require("path"); + +exports.dynamicImport = {}; + +exports.dynamicImport.valid = function (test) { + TestRun(test) + .test([ + "import(0);", + "import(0 ? 0 : 0);", + "(function * () { ", + " import(yield);", + "})();", + "import(() => {});", + "import(async () => {});", + "import(x = 0);", + "new (import(0))();", + "import(import(0));", + ], {esversion: 11}); + + test.done(); +}; + +exports.dynamicImport.invalidvalid = function (test) { + TestRun(test, "empty") + .addError(1, 8, "Expected an identifier and instead saw ')'.") + .addError(1, 9, "Expected ')' and instead saw ';'.") + .addError(1, 10, "Missing semicolon.") + .test("import();", {esversion: 11}); + + TestRun(test, "expression") + .addError(1, 11, "Expected ')' and instead saw ','.") + .addError(1, 12, "Missing semicolon.") + .addError(1, 13, "Expected an assignment or function call and instead saw an expression.") + .addError(1, 16, "Missing semicolon.") + .addError(1, 16, "Expected an identifier and instead saw ')'.") + .addError(1, 16, "Expected an assignment or function call and instead saw an expression.") + .test("import('a', 'b');", {esversion: 11}); + + TestRun(test, "NewExpression") + .addError(1, 5, "Unexpected 'import'.") + .addError(1, 13, "Missing '()' invoking a constructor.") + .test("new import(0);", {esversion: 11}); + + test.done(); +}; + +exports.dynamicImport.esversion = function (test) { + TestRun(test) + .addError(1, 1, "'dynamic import' is only available in ES11 (use 'esversion: 11').") + .test("import(0);", {esversion: 10}); + + test.done(); +};