Improve destructuring patterns (#4527)

- Fix evaluation order of the operands
- Implement proper iterator closing of array destructuring
- Support next method caching

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik frobert@inf.u-szeged.hu
This commit is contained in:
Robert Fancsik
2021-02-04 13:11:11 +01:00
committed by GitHub
parent 3bb67397a0
commit e7d11eaf9e
12 changed files with 389 additions and 354 deletions
+29 -21
View File
@@ -38,6 +38,14 @@ function mustThrow (str) {
}
}
function mustNotThrow (str) {
try {
eval (str);
} catch (e) {
assert (false);
}
}
checkSyntax ("var [a]");
checkSyntax ("var [a, o.a]");
checkSyntax ("var [a, ...b,]");
@@ -329,32 +337,32 @@ function __createIterableObject (arr, methods) {
assert (x.prop === "42");
}) ();
mustThrow ("var iter = __createIterableObject([], "
+ "{ get 'return'() { throw new TypeError() }});"
+ "var [a] = iter");
mustThrow (`var iter = __createIterableObject([],
{ get 'return'() { throw new TypeError() }});
var [a] = iter`);
mustThrow ("var iter = __createIterableObject([], "
+ "{ 'return': 5 });"
+ "var [a] = iter");
mustNotThrow (`var iter = __createIterableObject([],
{ 'return': 5 });
var [a] = iter`);
mustThrow ("var iter = __createIterableObject([], "
+ "{ 'return': function() { return 5; }});"
+ "var [a] = iter");
mustNotThrow (`var iter = __createIterableObject([],
{ 'return': function() { return 5; }});
var [a] = iter`);
mustThrow ("try { throw 5 } catch (e) {"
+ "var iter = __createIterableObject([], "
+ "{ get 'return'() { throw new TypeError() }});"
+ "var [a] = iter }");
mustThrow (`try { throw 5 } catch (e) {
var iter = __createIterableObject([],
{ get 'return'() { throw new TypeError() }});
var [a] = iter }`);
mustThrow ("try { throw 5 } catch (e) {"
+ "var iter = __createIterableObject([], "
+ "{ 'return': 5 });"
+ "var [a] = iter }");
mustNotThrow (`try { throw 5 } catch (e) {
var iter = __createIterableObject([],
{ 'return': 5 });
var [a] = iter }`);
mustThrow ("try { throw 5 } catch (e) {"
+ "var iter = __createIterableObject([], "
+ "{ 'return': function() { return 5; }});"
+ "var [a] = iter }");
mustNotThrow (`try { throw 5 } catch (e) {
var iter = __createIterableObject([],
{ 'return': function() { return 5; }});
var [a] = iter }`);
try {
eval ("var a = 0; 1 + [a] = [1]");
-112
View File
@@ -203,8 +203,6 @@
<test id="language/eval-code/indirect/var-env-func-init-global-new.js"><reason></reason></test>
<test id="language/eval-code/indirect/var-env-func-init-global-update-configurable.js"><reason></reason></test>
<test id="language/eval-code/indirect/var-env-var-init-global-new.js"><reason></reason></test>
<test id="language/expressions/arrow-function/dstr/ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/arrow-function/dstr/dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/arrow-function/eval-var-scope-syntax-err.js"><reason></reason></test>
<test id="language/expressions/arrow-function/param-dflt-yield-expr.js"><reason></reason></test>
<test id="language/expressions/assignment/S11.13.1_A5_T1.js"><reason></reason></test>
@@ -220,34 +218,6 @@
<test id="language/expressions/assignment/S11.13.1_A7_T3.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/iterator-destructuring-property-reference-target-evaluation-order.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/keyed-destructuring-property-reference-target-evaluation-order.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-elem-iter-nrml-close-skip.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-elem-iter-rtrn-close-err.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-elem-iter-rtrn-close-null.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-elem-iter-rtrn-close.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-elem-iter-thrw-close-err.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-elem-iter-thrw-close.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-elem-trlg-iter-elision-iter-nrml-close-skip.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-elem-trlg-iter-list-nrml-close-skip.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-elem-trlg-iter-list-rtrn-close-err.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-elem-trlg-iter-list-rtrn-close-null.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-elem-trlg-iter-list-rtrn-close.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-elem-trlg-iter-list-thrw-close-err.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-elem-trlg-iter-list-thrw-close.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-elem-trlg-iter-rest-nrml-close-skip.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-elem-trlg-iter-rest-rtrn-close-err.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-elem-trlg-iter-rest-rtrn-close-null.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-elem-trlg-iter-rest-rtrn-close.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-elem-trlg-iter-rest-thrw-close-err.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-elem-trlg-iter-rest-thrw-close.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-elision-iter-nrml-close-skip.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-rest-iter-nrml-close-skip.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-rest-iter-rtrn-close-err.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-rest-iter-rtrn-close-null.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-rest-iter-rtrn-close.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-rest-iter-thrw-close-err.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-rest-iter-thrw-close.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-rest-lref-err.js"><reason></reason></test>
<test id="language/expressions/assignment/dstr/array-rest-lref.js"><reason></reason></test>
<test id="language/expressions/async-arrow-function/await-as-param-nested-arrow-body-position.js"><reason></reason></test>
<test id="language/expressions/async-arrow-function/await-as-param-nested-arrow-parameter-position.js"><reason></reason></test>
<test id="language/expressions/async-arrow-function/await-as-param-rest-nested-arrow-parameter-position.js"><reason></reason></test>
@@ -262,14 +232,6 @@
<test id="language/expressions/class/class-name-ident-static.js"><reason></reason></test>
<test id="language/expressions/class/class-name-ident-yield-escaped.js"><reason></reason></test>
<test id="language/expressions/class/class-name-ident-yield.js"><reason></reason></test>
<test id="language/expressions/class/dstr/gen-meth-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/class/dstr/gen-meth-dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/class/dstr/gen-meth-static-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/class/dstr/gen-meth-static-dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/class/dstr/meth-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/class/dstr/meth-dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/class/dstr/meth-static-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/class/dstr/meth-static-dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/class/name.js"><reason></reason></test>
<test id="language/expressions/compound-assignment/S11.13.2_A7.10_T4.js"><reason></reason></test>
<test id="language/expressions/compound-assignment/S11.13.2_A7.11_T4.js"><reason></reason></test>
@@ -282,21 +244,13 @@
<test id="language/expressions/compound-assignment/S11.13.2_A7.7_T4.js"><reason></reason></test>
<test id="language/expressions/compound-assignment/S11.13.2_A7.8_T4.js"><reason></reason></test>
<test id="language/expressions/compound-assignment/S11.13.2_A7.9_T4.js"><reason></reason></test>
<test id="language/expressions/function/dstr/ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/function/dstr/dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/function/eval-var-scope-syntax-err.js"><reason></reason></test>
<test id="language/expressions/generators/dstr/ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/generators/dstr/dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/generators/eval-var-scope-syntax-err.js"><reason></reason></test>
<test id="language/expressions/import.meta/distinct-for-each-module.js"><reason></reason></test>
<test id="language/expressions/import.meta/import-meta-is-an-ordinary-object.js"><reason></reason></test>
<test id="language/expressions/import.meta/same-object-returned.js"><reason></reason></test>
<test id="language/expressions/import.meta/syntax/goal-module-nested-function.js"><reason></reason></test>
<test id="language/expressions/import.meta/syntax/goal-module.js"><reason></reason></test>
<test id="language/expressions/object/dstr/gen-meth-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/object/dstr/gen-meth-dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/object/dstr/meth-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/object/dstr/meth-dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/object/method-definition/early-errors-object-async-method-duplicate-parameters.js"><reason></reason></test>
<test id="language/expressions/object/method-definition/early-errors-object-method-async-lineterminator.js"><reason></reason></test>
<test id="language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js"><reason></reason></test>
@@ -490,17 +444,8 @@
<test id="language/statements/class/class-name-ident-yield-escaped.js"><reason></reason></test>
<test id="language/statements/class/class-name-ident-yield.js"><reason></reason></test>
<test id="language/statements/class/constructor-inferred-observable-iteration.js"><reason></reason></test>
<test id="language/statements/class/dstr/gen-meth-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/class/dstr/gen-meth-dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/class/dstr/gen-meth-static-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/class/dstr/gen-meth-static-dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/class/dstr/meth-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/class/dstr/meth-dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/class/dstr/meth-static-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/class/dstr/meth-static-dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/class/subclass/default-constructor-spread-override.js"><reason></reason></test>
<test id="language/statements/class/super/in-constructor-superproperty-evaluation.js"><reason></reason></test>
<test id="language/statements/const/dstr/ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/do-while/cptn-abrupt-empty.js"><reason></reason></test>
<test id="language/statements/do-while/cptn-normal.js"><reason></reason></test>
<test id="language/statements/for-in/cptn-decl-abrupt-empty.js"><reason></reason></test>
@@ -523,37 +468,6 @@
<test id="language/statements/for-of/cptn-expr-abrupt-empty.js"><reason></reason></test>
<test id="language/statements/for-of/cptn-expr-itr.js"><reason></reason></test>
<test id="language/statements/for-of/cptn-expr-no-itr.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-elem-iter-nrml-close-skip.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-elem-iter-rtrn-close-err.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-elem-iter-rtrn-close-null.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-elem-iter-rtrn-close.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-elem-iter-thrw-close-err.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-elem-iter-thrw-close.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-elem-trlg-iter-elision-iter-nrml-close-skip.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-elem-trlg-iter-list-nrml-close-skip.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-elem-trlg-iter-list-rtrn-close-err.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-elem-trlg-iter-list-rtrn-close-null.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-elem-trlg-iter-list-rtrn-close.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-elem-trlg-iter-list-thrw-close-err.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-elem-trlg-iter-list-thrw-close.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-elem-trlg-iter-rest-nrml-close-skip.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-elem-trlg-iter-rest-rtrn-close-err.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-elem-trlg-iter-rest-rtrn-close-null.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-elem-trlg-iter-rest-rtrn-close.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-elem-trlg-iter-rest-thrw-close-err.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-elem-trlg-iter-rest-thrw-close.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-elision-iter-nrml-close-skip.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-rest-iter-nrml-close-skip.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-rest-iter-rtrn-close-err.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-rest-iter-rtrn-close-null.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-rest-iter-rtrn-close.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-rest-iter-thrw-close-err.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-rest-iter-thrw-close.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-rest-lref-err.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/array-rest-lref.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/const-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/let-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/for-of/dstr/var-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/for-of/head-const-init.js"><reason></reason></test>
<test id="language/statements/for-of/head-decl-no-expr.js"><reason></reason></test>
<test id="language/statements/for-of/head-expr-no-expr.js"><reason></reason></test>
@@ -568,19 +482,12 @@
<test id="language/statements/for/cptn-decl-expr-no-iter.js"><reason></reason></test>
<test id="language/statements/for/cptn-expr-expr-iter.js"><reason></reason></test>
<test id="language/statements/for/cptn-expr-expr-no-iter.js"><reason></reason></test>
<test id="language/statements/for/dstr/const-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/for/dstr/let-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/for/dstr/var-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/for/head-init-expr-check-empty-inc-empty-completion.js"><reason></reason></test>
<test id="language/statements/for/head-init-var-check-empty-inc-empty-completion.js"><reason></reason></test>
<test id="language/statements/for/let-block-with-newline.js"><reason></reason></test>
<test id="language/statements/for/let-identifier-with-newline.js"><reason></reason></test>
<test id="language/statements/for/scope-body-lex-open.js"><reason></reason></test>
<test id="language/statements/function/dstr/ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/function/dstr/dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/function/eval-var-scope-syntax-err.js"><reason></reason></test>
<test id="language/statements/generators/dstr/ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/generators/dstr/dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/generators/eval-var-scope-syntax-err.js"><reason></reason></test>
<test id="language/statements/if/cptn-else-false-abrupt-empty.js"><reason></reason></test>
<test id="language/statements/if/cptn-else-false-nrml.js"><reason></reason></test>
@@ -598,7 +505,6 @@
<test id="language/statements/labeled/decl-gen.js"><reason></reason></test>
<test id="language/statements/labeled/let-block-with-newline.js"><reason></reason></test>
<test id="language/statements/labeled/let-identifier-with-newline.js"><reason></reason></test>
<test id="language/statements/let/dstr/ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/let/syntax/let-newline-yield-in-generator-function.js"><reason></reason></test>
<test id="language/statements/switch/cptn-a-abrupt-empty.js"><reason></reason></test>
<test id="language/statements/switch/cptn-abrupt-empty.js"><reason></reason></test>
@@ -631,10 +537,8 @@
<test id="language/statements/try/cptn-finally-skip-catch.js"><reason></reason></test>
<test id="language/statements/try/cptn-finally-wo-catch.js"><reason></reason></test>
<test id="language/statements/try/cptn-try.js"><reason></reason></test>
<test id="language/statements/try/dstr/ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/try/scope-catch-block-lex-open.js"><reason></reason></test>
<test id="language/statements/variable/binding-resolution.js"><reason></reason></test>
<test id="language/statements/variable/dstr/ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/while/cptn-abrupt-empty.js"><reason></reason></test>
<test id="language/statements/while/cptn-iter.js"><reason></reason></test>
<test id="language/statements/while/cptn-no-iter.js"><reason></reason></test>
@@ -7282,10 +7186,6 @@
<test id="language/block-scope/syntax/redeclaration/async-generator-name-redeclaration-attempt-with-generator.js"><reason></reason></test>
<test id="language/block-scope/syntax/redeclaration/function-name-redeclaration-attempt-with-async-generator.js"><reason></reason></test>
<test id="language/block-scope/syntax/redeclaration/generator-name-redeclaration-attempt-with-async-generator.js"><reason></reason></test>
<test id="language/expressions/async-generator/dstr/ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/async-generator/dstr/dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/async-generator/dstr/named-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/async-generator/dstr/named-dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/async-generator/eval-var-scope-syntax-err.js"><reason></reason></test>
<test id="language/expressions/async-generator/named-eval-var-scope-syntax-err.js"><reason></reason></test>
<test id="language/expressions/async-generator/named-yield-promise-reject-next-catch.js"><reason></reason></test>
@@ -7341,10 +7241,6 @@
<test id="language/expressions/class/async-gen-method/yield-star-sync-next.js"><reason></reason></test>
<test id="language/expressions/class/async-gen-method/yield-star-sync-return.js"><reason></reason></test>
<test id="language/expressions/class/async-gen-method/yield-star-sync-throw.js"><reason></reason></test>
<test id="language/expressions/class/dstr/async-gen-meth-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/class/dstr/async-gen-meth-dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/class/dstr/async-gen-meth-static-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/class/dstr/async-gen-meth-static-dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/class/dstr/async-private-gen-meth-ary-init-iter-close.js"><reason></reason></test>
<test id="language/expressions/class/dstr/async-private-gen-meth-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/class/dstr/async-private-gen-meth-ary-name-iter-val.js"><reason></reason></test>
@@ -7810,8 +7706,6 @@
<test id="language/expressions/dynamic-import/usage/nested-async-gen-return-await-is-call-expression-square-brackets.js"><reason></reason></test>
<test id="language/expressions/dynamic-import/usage/nested-async-gen-return-await-returns-thenable.js"><reason></reason></test>
<test id="language/expressions/dynamic-import/usage/nested-async-gen-return-await-specifier-tostring.js"><reason></reason></test>
<test id="language/expressions/object/dstr/async-gen-meth-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/object/dstr/async-gen-meth-dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/expressions/object/method-definition/async-gen-meth-eval-var-scope-syntax-err.js"><reason></reason></test>
<test id="language/expressions/object/method-definition/async-gen-yield-promise-reject-next-catch.js"><reason></reason></test>
<test id="language/expressions/object/method-definition/async-gen-yield-promise-reject-next-for-await-of-async-iterator.js"><reason></reason></test>
@@ -7837,8 +7731,6 @@
<test id="language/module-code/top-level-await/syntax/for-await-await-expr-regexp.js"><reason></reason></test>
<test id="language/module-code/top-level-await/syntax/for-await-await-expr-template-literal.js"><reason></reason></test>
<test id="language/module-code/top-level-await/syntax/for-await-await-expr-this.js"><reason></reason></test>
<test id="language/statements/async-generator/dstr/ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/async-generator/dstr/dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/async-generator/eval-var-scope-syntax-err.js"><reason></reason></test>
<test id="language/statements/async-generator/return-undefined-implicit-and-explicit.js"><reason></reason></test>
<test id="language/statements/async-generator/yield-promise-reject-next-catch.js"><reason></reason></test>
@@ -7880,10 +7772,6 @@
<test id="language/statements/class/async-gen-method/yield-star-sync-next.js"><reason></reason></test>
<test id="language/statements/class/async-gen-method/yield-star-sync-return.js"><reason></reason></test>
<test id="language/statements/class/async-gen-method/yield-star-sync-throw.js"><reason></reason></test>
<test id="language/statements/class/dstr/async-gen-meth-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/class/dstr/async-gen-meth-dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/class/dstr/async-gen-meth-static-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/class/dstr/async-gen-meth-static-dflt-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/class/dstr/async-private-gen-meth-ary-init-iter-close.js"><reason></reason></test>
<test id="language/statements/class/dstr/async-private-gen-meth-ary-init-iter-no-close.js"><reason></reason></test>
<test id="language/statements/class/dstr/async-private-gen-meth-ary-name-iter-val.js"><reason></reason></test>