diff --git a/src/dstr-binding/obj-ptrn-rest-nested-obj.case b/src/dstr-binding/obj-ptrn-rest-nested-obj.case
deleted file mode 100644
index 8fb0bb2d119ede5699650dd88578efbee5e7ad34..0000000000000000000000000000000000000000
--- a/src/dstr-binding/obj-ptrn-rest-nested-obj.case
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright (C) 2017 Caio Lima. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-desc: >
-    When DestructuringAssignmentTarget is an object literal, it should be parsed
-    parsed as a DestructuringAssignmentPattern and evaluated as a destructuring
-    assignment.
-template: default
-esid: pending
-features: [object-rest]
----*/
-
-//- setup
-var obj = {a: 3, b: 4};
-//- elems
-{a, b, ...{c, e}}
-//- vals
-{a: 1, b: 2, c: 3, d: 4, e: 5}
-//- body
-assert.sameValue(a, 1);
-assert.sameValue(b, 2);
-assert.sameValue(c, 3);
-assert.sameValue(e, 5);
-
diff --git a/src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case b/src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
deleted file mode 100644
index a6eb8c024d4dad66bd265370f5404936c6fa054d..0000000000000000000000000000000000000000
--- a/src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright (C) 2017 Caio Lima. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-desc: >
-    When DestructuringAssignmentTarget is an object literal, it should be parsed
-    parsed as a DestructuringAssignmentPattern and evaluated as a destructuring
-    assignment and object rest desconstruction is allowed in that case.
-template: default
-esid: pending
-includes: [propertyHelper.js]
-features: [object-rest]
----*/
-
-//- elems
-{a, b, ...{c, ...rest}}
-//- vals
-{a: 1, b: 2, c: 3, d: 4, e: 5}
-//- body
-assert.sameValue(a, 1);
-assert.sameValue(b, 2);
-assert.sameValue(c, 3);
-
-assert.sameValue(rest.d, 4);
-assert.sameValue(rest.e, 5);
-
-verifyEnumerable(rest, "d");
-verifyWritable(rest, "d");
-verifyConfigurable(rest, "d");
-
-verifyEnumerable(rest, "e");
-verifyWritable(rest, "e");
-verifyConfigurable(rest, "e");
-
diff --git a/src/dstr-binding/obj-ptrn-rest-obj-own-property.case b/src/dstr-binding/obj-ptrn-rest-obj-own-property.case
deleted file mode 100644
index 71c375adc89928db1296f089c8243fd91fa7d2f0..0000000000000000000000000000000000000000
--- a/src/dstr-binding/obj-ptrn-rest-obj-own-property.case
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright (C) 2017 Caio Lima. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-desc: >
-    Rest object contains just soruce object's own properties
-template: default
-esid: pending
-includes: [propertyHelper.js]
-features: [object-rest]
----*/
-
-//- setup
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-//- elems
-{ x, ...{y , z} }
-//- vals
-o
-//- body
-assert.sameValue(x, 1);
-assert.sameValue(y, undefined);
-assert.sameValue(z, 3);
-
diff --git a/test/language/expressions/arrow-function/dstr-dflt-obj-ptrn-rest-nested-obj.js b/test/language/expressions/arrow-function/dstr-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index c2cf817892d54b79d5d08bcafa0b2cb06d511611..0000000000000000000000000000000000000000
--- a/test/language/expressions/arrow-function/dstr-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/arrow-function-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (arrow function expression (default parameter))
-esid: sec-arrow-function-definitions-runtime-semantics-evaluation
-es6id: 14.2.16
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-info: |
-    ArrowFunction : ArrowParameters => ConciseBody
-
-    [...]
-    4. Let closure be FunctionCreate(Arrow, parameters, ConciseBody, scope, strict).
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-var f;
-f = ({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) => {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-  callCount = callCount + 1;
-};
-
-f();
-assert.sameValue(callCount, 1, 'arrow function invoked exactly once');
diff --git a/test/language/expressions/arrow-function/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/arrow-function/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index f0c2c8b2a6b6ee94ce46fcf0e89e4c26c9d0a8c8..0000000000000000000000000000000000000000
--- a/test/language/expressions/arrow-function/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,64 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/arrow-function-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (arrow function expression (default parameter))
-esid: sec-arrow-function-definitions-runtime-semantics-evaluation
-es6id: 14.2.16
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ArrowFunction : ArrowParameters => ConciseBody
-
-    [...]
-    4. Let closure be FunctionCreate(Arrow, parameters, ConciseBody, scope, strict).
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-var f;
-f = ({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) => {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-  callCount = callCount + 1;
-};
-
-f();
-assert.sameValue(callCount, 1, 'arrow function invoked exactly once');
diff --git a/test/language/expressions/arrow-function/dstr-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/arrow-function/dstr-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index a94440a4c3b45b1c3248cb119c0fc94857cf15df..0000000000000000000000000000000000000000
--- a/test/language/expressions/arrow-function/dstr-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/arrow-function-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (arrow function expression (default parameter))
-esid: sec-arrow-function-definitions-runtime-semantics-evaluation
-es6id: 14.2.16
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ArrowFunction : ArrowParameters => ConciseBody
-
-    [...]
-    4. Let closure be FunctionCreate(Arrow, parameters, ConciseBody, scope, strict).
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-var f;
-f = ({ x, ...{y , z} } = o) => {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-  callCount = callCount + 1;
-};
-
-f();
-assert.sameValue(callCount, 1, 'arrow function invoked exactly once');
diff --git a/test/language/expressions/arrow-function/dstr-obj-ptrn-rest-nested-obj.js b/test/language/expressions/arrow-function/dstr-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 854083b15f34b1ae0b88b458247f5a471566ba73..0000000000000000000000000000000000000000
--- a/test/language/expressions/arrow-function/dstr-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/arrow-function.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (arrow function expression)
-esid: sec-arrow-function-definitions-runtime-semantics-evaluation
-es6id: 14.2.16
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    ArrowFunction : ArrowParameters => ConciseBody
-
-    [...]
-    4. Let closure be FunctionCreate(Arrow, parameters, ConciseBody, scope, strict).
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-var f;
-f = ({a, b, ...{c, e}}) => {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-  callCount = callCount + 1;
-};
-
-f({a: 1, b: 2, c: 3, d: 4, e: 5});
-assert.sameValue(callCount, 1, 'arrow function invoked exactly once');
diff --git a/test/language/expressions/arrow-function/dstr-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/arrow-function/dstr-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index b7556529aa060020df43d8e89a4ed7c8636c7e44..0000000000000000000000000000000000000000
--- a/test/language/expressions/arrow-function/dstr-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,64 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/arrow-function.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (arrow function expression)
-esid: sec-arrow-function-definitions-runtime-semantics-evaluation
-es6id: 14.2.16
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ArrowFunction : ArrowParameters => ConciseBody
-
-    [...]
-    4. Let closure be FunctionCreate(Arrow, parameters, ConciseBody, scope, strict).
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-var f;
-f = ({a, b, ...{c, ...rest}}) => {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-  callCount = callCount + 1;
-};
-
-f({a: 1, b: 2, c: 3, d: 4, e: 5});
-assert.sameValue(callCount, 1, 'arrow function invoked exactly once');
diff --git a/test/language/expressions/arrow-function/dstr-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/arrow-function/dstr-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 9342b9db2ae648e68269d365ddceef404752409e..0000000000000000000000000000000000000000
--- a/test/language/expressions/arrow-function/dstr-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/arrow-function.template
-/*---
-description: Rest object contains just soruce object's own properties (arrow function expression)
-esid: sec-arrow-function-definitions-runtime-semantics-evaluation
-es6id: 14.2.16
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ArrowFunction : ArrowParameters => ConciseBody
-
-    [...]
-    4. Let closure be FunctionCreate(Arrow, parameters, ConciseBody, scope, strict).
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-var f;
-f = ({ x, ...{y , z} }) => {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-  callCount = callCount + 1;
-};
-
-f(o);
-assert.sameValue(callCount, 1, 'arrow function invoked exactly once');
diff --git a/test/language/expressions/async-generator/dstr-dflt-obj-ptrn-rest-nested-obj.js b/test/language/expressions/async-generator/dstr-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index e5581027c3d888999e0a4ea49cf847bb43a51e35..0000000000000000000000000000000000000000
--- a/test/language/expressions/async-generator/dstr-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/async-gen-func-expr-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (async generator function expression (default parameter))
-esid: sec-asyncgenerator-definitions-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-info: |
-    AsyncGeneratorExpression : async [no LineTerminator here] function * ( FormalParameters ) {
-        AsyncGeneratorBody }
-
-        [...]
-        3. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters,
-           AsyncGeneratorBody, scope, strict).
-        [...]
-
----*/
-var obj = {a: 3, b: 4};
-
-
-var callCount = 0;
-var f;
-f = async function*({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-  callCount = callCount + 1;
-};
-
-f().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/async-generator/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/async-generator/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 78760f9db3fe9fcc25564ab2ce8912f86f121e16..0000000000000000000000000000000000000000
--- a/test/language/expressions/async-generator/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/async-gen-func-expr-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (async generator function expression (default parameter))
-esid: sec-asyncgenerator-definitions-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    AsyncGeneratorExpression : async [no LineTerminator here] function * ( FormalParameters ) {
-        AsyncGeneratorBody }
-
-        [...]
-        3. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters,
-           AsyncGeneratorBody, scope, strict).
-        [...]
-
----*/
-
-
-var callCount = 0;
-var f;
-f = async function*({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-  callCount = callCount + 1;
-};
-
-f().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/async-generator/dstr-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/async-generator/dstr-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index c38d2cbe4bd3a29f32bdc005ff48d7d310c21ad4..0000000000000000000000000000000000000000
--- a/test/language/expressions/async-generator/dstr-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/async-gen-func-expr-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (async generator function expression (default parameter))
-esid: sec-asyncgenerator-definitions-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    AsyncGeneratorExpression : async [no LineTerminator here] function * ( FormalParameters ) {
-        AsyncGeneratorBody }
-
-        [...]
-        3. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters,
-           AsyncGeneratorBody, scope, strict).
-        [...]
-
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-
-var callCount = 0;
-var f;
-f = async function*({ x, ...{y , z} } = o) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-  callCount = callCount + 1;
-};
-
-f().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/async-generator/dstr-named-dflt-obj-ptrn-rest-nested-obj.js b/test/language/expressions/async-generator/dstr-named-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 2ccaf0a4ccd3bcc6e52f411673bbbc1e405daf8e..0000000000000000000000000000000000000000
--- a/test/language/expressions/async-generator/dstr-named-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/async-gen-func-named-expr-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (async generator named function expression (default parameter))
-esid: sec-asyncgenerator-definitions-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-info: |
-    AsyncGeneratorExpression : async [no LineTerminator here] function * BindingIdentifier
-        ( FormalParameters ) { AsyncGeneratorBody }
-
-        [...]
-        7. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters,
-           AsyncGeneratorBody, funcEnv, strict).
-        [...]
-
----*/
-var obj = {a: 3, b: 4};
-
-
-var callCount = 0;
-var f;
-f = async function* h({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-  callCount = callCount + 1;
-};
-
-f().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/async-generator/dstr-named-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/async-generator/dstr-named-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index d8166ce9dfe8e3c99e04928f21176b6cfb1876b4..0000000000000000000000000000000000000000
--- a/test/language/expressions/async-generator/dstr-named-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/async-gen-func-named-expr-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (async generator named function expression (default parameter))
-esid: sec-asyncgenerator-definitions-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    AsyncGeneratorExpression : async [no LineTerminator here] function * BindingIdentifier
-        ( FormalParameters ) { AsyncGeneratorBody }
-
-        [...]
-        7. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters,
-           AsyncGeneratorBody, funcEnv, strict).
-        [...]
-
----*/
-
-
-var callCount = 0;
-var f;
-f = async function* h({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-  callCount = callCount + 1;
-};
-
-f().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/async-generator/dstr-named-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/async-generator/dstr-named-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 0ffbd758766163a08df2b086431ebd7e027f9b75..0000000000000000000000000000000000000000
--- a/test/language/expressions/async-generator/dstr-named-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/async-gen-func-named-expr-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (async generator named function expression (default parameter))
-esid: sec-asyncgenerator-definitions-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    AsyncGeneratorExpression : async [no LineTerminator here] function * BindingIdentifier
-        ( FormalParameters ) { AsyncGeneratorBody }
-
-        [...]
-        7. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters,
-           AsyncGeneratorBody, funcEnv, strict).
-        [...]
-
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-
-var callCount = 0;
-var f;
-f = async function* h({ x, ...{y , z} } = o) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-  callCount = callCount + 1;
-};
-
-f().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/async-generator/dstr-named-obj-ptrn-rest-nested-obj.js b/test/language/expressions/async-generator/dstr-named-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 36487dff1cab72e3b610ecf8c105ac0f2dca2bbd..0000000000000000000000000000000000000000
--- a/test/language/expressions/async-generator/dstr-named-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/async-gen-func-named-expr.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (async generator named function expression)
-esid: sec-asyncgenerator-definitions-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-info: |
-    AsyncGeneratorExpression : async [no LineTerminator here] function * BindingIdentifier
-        ( FormalParameters ) { AsyncGeneratorBody }
-
-        [...]
-        7. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters,
-           AsyncGeneratorBody, funcEnv, strict).
-        [...]
-
----*/
-var obj = {a: 3, b: 4};
-
-
-var callCount = 0;
-var f;
-f = async function* h({a, b, ...{c, e}}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-  callCount = callCount + 1;
-};
-
-f({a: 1, b: 2, c: 3, d: 4, e: 5}).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/async-generator/dstr-named-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/async-generator/dstr-named-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 3f79edd09d453324e577a36ae48144ffe7b2ae59..0000000000000000000000000000000000000000
--- a/test/language/expressions/async-generator/dstr-named-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/async-gen-func-named-expr.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (async generator named function expression)
-esid: sec-asyncgenerator-definitions-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    AsyncGeneratorExpression : async [no LineTerminator here] function * BindingIdentifier
-        ( FormalParameters ) { AsyncGeneratorBody }
-
-        [...]
-        7. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters,
-           AsyncGeneratorBody, funcEnv, strict).
-        [...]
-
----*/
-
-
-var callCount = 0;
-var f;
-f = async function* h({a, b, ...{c, ...rest}}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-  callCount = callCount + 1;
-};
-
-f({a: 1, b: 2, c: 3, d: 4, e: 5}).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/async-generator/dstr-named-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/async-generator/dstr-named-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 6273ad4ec616192f4679a837005694dcf5792af5..0000000000000000000000000000000000000000
--- a/test/language/expressions/async-generator/dstr-named-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/async-gen-func-named-expr.template
-/*---
-description: Rest object contains just soruce object's own properties (async generator named function expression)
-esid: sec-asyncgenerator-definitions-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    AsyncGeneratorExpression : async [no LineTerminator here] function * BindingIdentifier
-        ( FormalParameters ) { AsyncGeneratorBody }
-
-        [...]
-        7. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters,
-           AsyncGeneratorBody, funcEnv, strict).
-        [...]
-
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-
-var callCount = 0;
-var f;
-f = async function* h({ x, ...{y , z} }) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-  callCount = callCount + 1;
-};
-
-f(o).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/async-generator/dstr-obj-ptrn-rest-nested-obj.js b/test/language/expressions/async-generator/dstr-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 16c0f9eb23818767ab94250037b7d91a3a38d79a..0000000000000000000000000000000000000000
--- a/test/language/expressions/async-generator/dstr-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/async-gen-func-expr.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (async generator function expression)
-esid: sec-asyncgenerator-definitions-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-info: |
-    AsyncGeneratorExpression : async [no LineTerminator here] function * ( FormalParameters ) {
-        AsyncGeneratorBody }
-
-        [...]
-        3. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters,
-           AsyncGeneratorBody, scope, strict).
-        [...]
-
----*/
-var obj = {a: 3, b: 4};
-
-
-var callCount = 0;
-var f;
-f = async function*({a, b, ...{c, e}}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-  callCount = callCount + 1;
-};
-
-f({a: 1, b: 2, c: 3, d: 4, e: 5}).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/async-generator/dstr-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/async-generator/dstr-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 854b52ccd6151556887220d5b55a25fbdd3c0759..0000000000000000000000000000000000000000
--- a/test/language/expressions/async-generator/dstr-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/async-gen-func-expr.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (async generator function expression)
-esid: sec-asyncgenerator-definitions-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    AsyncGeneratorExpression : async [no LineTerminator here] function * ( FormalParameters ) {
-        AsyncGeneratorBody }
-
-        [...]
-        3. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters,
-           AsyncGeneratorBody, scope, strict).
-        [...]
-
----*/
-
-
-var callCount = 0;
-var f;
-f = async function*({a, b, ...{c, ...rest}}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-  callCount = callCount + 1;
-};
-
-f({a: 1, b: 2, c: 3, d: 4, e: 5}).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/async-generator/dstr-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/async-generator/dstr-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 39bdafac03cfc9286a8749f96910ff1e25946e56..0000000000000000000000000000000000000000
--- a/test/language/expressions/async-generator/dstr-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/async-gen-func-expr.template
-/*---
-description: Rest object contains just soruce object's own properties (async generator function expression)
-esid: sec-asyncgenerator-definitions-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    AsyncGeneratorExpression : async [no LineTerminator here] function * ( FormalParameters ) {
-        AsyncGeneratorBody }
-
-        [...]
-        3. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters,
-           AsyncGeneratorBody, scope, strict).
-        [...]
-
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-
-var callCount = 0;
-var f;
-f = async function*({ x, ...{y , z} }) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-  callCount = callCount + 1;
-};
-
-f(o).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-nested-obj.js b/test/language/expressions/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index b3ed496cc352fd4f7010aa8d74e1f433198ecf6e..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-expr-async-gen-meth-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (class expression async generator method (default parameter))
-esid: sec-class-definitions-runtime-semantics-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-var obj = {a: 3, b: 4};
-
-
-var callCount = 0;
-var C = class {
-  async *method({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 127c087f47962e65aca4cee2325b2716de7a73ff..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,70 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-expr-async-gen-meth-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (class expression async generator method (default parameter))
-esid: sec-class-definitions-runtime-semantics-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-
-
-var callCount = 0;
-var C = class {
-  async *method({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 1063c51316641e13e7e4bd46e7a6e69ec221e7d1..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,61 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-expr-async-gen-meth-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (class expression async generator method (default parameter))
-esid: sec-class-definitions-runtime-semantics-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-
-var callCount = 0;
-var C = class {
-  async *method({ x, ...{y , z} } = o) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/class/dstr-async-gen-meth-obj-ptrn-rest-nested-obj.js b/test/language/expressions/class/dstr-async-gen-meth-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index e83d4dc3a9ae2ed9d6183ae669c1919db16c0055..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-async-gen-meth-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-expr-async-gen-meth.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (class expression method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-var obj = {a: 3, b: 4};
-
-
-var callCount = 0;
-var C = class {
-  async *method({a, b, ...{c, e}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method({a: 1, b: 2, c: 3, d: 4, e: 5}).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/class/dstr-async-gen-meth-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/class/dstr-async-gen-meth-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index e4ef8f5ee876cd35c64bd92fce49b16dfce60deb..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-async-gen-meth-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,70 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-expr-async-gen-meth.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (class expression method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-
-
-var callCount = 0;
-var C = class {
-  async *method({a, b, ...{c, ...rest}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method({a: 1, b: 2, c: 3, d: 4, e: 5}).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/class/dstr-async-gen-meth-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/class/dstr-async-gen-meth-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index cb68697d2c5426e9cee815207f8959fe3747e160..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-async-gen-meth-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,61 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-expr-async-gen-meth.template
-/*---
-description: Rest object contains just soruce object's own properties (class expression method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-
-var callCount = 0;
-var C = class {
-  async *method({ x, ...{y , z} }) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method(o).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-nested-obj.js b/test/language/expressions/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index c38608d71761ade3d336f663c0a9165ab822e751..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-expr-async-gen-meth-static-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (static class expression async generator method (default parameter))
-esid: sec-class-definitions-runtime-semantics-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation
-           for m with arguments F and false.
-    [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-var obj = {a: 3, b: 4};
-
-
-var callCount = 0;
-var C = class {
-  static async *method({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 44356e558ad60fed9949750a5ee5fd196242ae99..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,70 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-expr-async-gen-meth-static-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (static class expression async generator method (default parameter))
-esid: sec-class-definitions-runtime-semantics-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation
-           for m with arguments F and false.
-    [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-
-
-var callCount = 0;
-var C = class {
-  static async *method({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index b29943b2261255a08a22ac2b81c3b598a2648aeb..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,61 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-expr-async-gen-meth-static-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (static class expression async generator method (default parameter))
-esid: sec-class-definitions-runtime-semantics-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation
-           for m with arguments F and false.
-    [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-
-var callCount = 0;
-var C = class {
-  static async *method({ x, ...{y , z} } = o) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/class/dstr-async-gen-meth-static-obj-ptrn-rest-nested-obj.js b/test/language/expressions/class/dstr-async-gen-meth-static-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 4165882014bb9004774842fbf50d739cab19c82e..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-async-gen-meth-static-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-expr-async-gen-meth-static.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (static class expression async generator method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation
-           for m with arguments F and false.
-    [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-var obj = {a: 3, b: 4};
-
-
-var callCount = 0;
-var C = class {
-  static async *method({a, b, ...{c, e}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method({a: 1, b: 2, c: 3, d: 4, e: 5}).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/class/dstr-async-gen-meth-static-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/class/dstr-async-gen-meth-static-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 9fef08d8f54a20fd1918033c4bb648aed75c8bd4..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-async-gen-meth-static-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,70 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-expr-async-gen-meth-static.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (static class expression async generator method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation
-           for m with arguments F and false.
-    [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-
-
-var callCount = 0;
-var C = class {
-  static async *method({a, b, ...{c, ...rest}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method({a: 1, b: 2, c: 3, d: 4, e: 5}).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/class/dstr-async-gen-meth-static-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/class/dstr-async-gen-meth-static-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 8aced52ed5573560efebb5b16403a63d89ccb2e9..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-async-gen-meth-static-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,61 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-expr-async-gen-meth-static.template
-/*---
-description: Rest object contains just soruce object's own properties (static class expression async generator method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation
-           for m with arguments F and false.
-    [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-
-var callCount = 0;
-var C = class {
-  static async *method({ x, ...{y , z} }) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method(o).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-rest-nested-obj.js b/test/language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 7e100f74466a54e99ec5e2862513f11bdbb1a4fc..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,79 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-expr-gen-meth-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (class expression method (default parameter))
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod :
-        * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-var C = class {
-  *method({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method().next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 6d9eac0eb21ebb1e966dd0c179f2386c6da7bfb1..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,89 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-expr-gen-meth-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (class expression method (default parameter))
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod :
-        * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-var C = class {
-  *method({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method().next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 747ec146b7b2237665042139719702168a9dd0c3..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,80 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-expr-gen-meth-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (class expression method (default parameter))
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod :
-        * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-var C = class {
-  *method({ x, ...{y , z} } = o) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method().next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-gen-meth-obj-ptrn-rest-nested-obj.js b/test/language/expressions/class/dstr-gen-meth-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index ace72fb235e200e0cd51d44fdb31290fe1f5f607..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-gen-meth-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,79 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-expr-gen-meth.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (class expression method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod :
-        * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-var C = class {
-  *method({a, b, ...{c, e}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method({a: 1, b: 2, c: 3, d: 4, e: 5}).next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-gen-meth-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/class/dstr-gen-meth-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index e607e28e9124864617b0de26975cd580c981ee96..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-gen-meth-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,89 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-expr-gen-meth.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (class expression method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod :
-        * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-var C = class {
-  *method({a, b, ...{c, ...rest}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method({a: 1, b: 2, c: 3, d: 4, e: 5}).next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-gen-meth-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/class/dstr-gen-meth-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index e894845bb183bed8c846d376ca082be47319c708..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-gen-meth-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,80 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-expr-gen-meth.template
-/*---
-description: Rest object contains just soruce object's own properties (class expression method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod :
-        * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-var C = class {
-  *method({ x, ...{y , z} }) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method(o).next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-nested-obj.js b/test/language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 0bb971a6b1fe0e026a3b3486a6ac0d3a6277c381..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,79 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-expr-gen-meth-static-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (static class expression generator method (default parameter))
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation
-           for m with arguments F and false.
-    [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod :
-        * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-var C = class {
-  static *method({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method().next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 299e230983c4880c74005f94f281b87b0a256057..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,89 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-expr-gen-meth-static-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (static class expression generator method (default parameter))
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation
-           for m with arguments F and false.
-    [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod :
-        * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-var C = class {
-  static *method({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method().next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index e34ca1f0ee7d413d31b2b52961e692e4b7ae7973..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,80 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-expr-gen-meth-static-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (static class expression generator method (default parameter))
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation
-           for m with arguments F and false.
-    [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod :
-        * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-var C = class {
-  static *method({ x, ...{y , z} } = o) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method().next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-gen-meth-static-obj-ptrn-rest-nested-obj.js b/test/language/expressions/class/dstr-gen-meth-static-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 2ddd8e2b8a456d0e6fdb8234158a5b1b99b71ea8..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-gen-meth-static-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,79 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-expr-gen-meth-static.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (static class expression generator method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation
-           for m with arguments F and false.
-    [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod :
-        * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-var C = class {
-  static *method({a, b, ...{c, e}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method({a: 1, b: 2, c: 3, d: 4, e: 5}).next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-gen-meth-static-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/class/dstr-gen-meth-static-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index e330af9afc5846a9b494d8c7af47a9c4fdab4aef..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-gen-meth-static-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,89 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-expr-gen-meth-static.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (static class expression generator method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation
-           for m with arguments F and false.
-    [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod :
-        * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-var C = class {
-  static *method({a, b, ...{c, ...rest}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method({a: 1, b: 2, c: 3, d: 4, e: 5}).next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-gen-meth-static-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/class/dstr-gen-meth-static-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 66797f7bb2b2c7595092b32f0b8474238abe43c0..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-gen-meth-static-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,80 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-expr-gen-meth-static.template
-/*---
-description: Rest object contains just soruce object's own properties (static class expression generator method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation
-           for m with arguments F and false.
-    [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod :
-        * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-var C = class {
-  static *method({ x, ...{y , z} }) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method(o).next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-meth-dflt-obj-ptrn-rest-nested-obj.js b/test/language/expressions/class/dstr-meth-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 86cf01270a98c994bf6172b01d1bf52fea67189e..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-meth-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,76 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-expr-meth-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (class expression method (default parameter))
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-var C = class {
-  method({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-meth-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/class/dstr-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index ae805f6512dbdc2ff490138045361d3c4673e5c1..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,86 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-expr-meth-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (class expression method (default parameter))
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-var C = class {
-  method({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-meth-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/class/dstr-meth-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index a3fcf5edc2eeae9bd6748f1eb3f51c26040ebec0..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-meth-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,77 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-expr-meth-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (class expression method (default parameter))
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-var C = class {
-  method({ x, ...{y , z} } = o) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-meth-obj-ptrn-rest-nested-obj.js b/test/language/expressions/class/dstr-meth-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index c1348f7a4e6967a2de6e94185a93766fe89691d1..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-meth-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,76 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-expr-meth.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (class expression method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-var C = class {
-  method({a, b, ...{c, e}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method({a: 1, b: 2, c: 3, d: 4, e: 5});
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-meth-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/class/dstr-meth-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index e744762837207195cb24fb725c1a8dc77285ac15..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-meth-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,86 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-expr-meth.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (class expression method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-var C = class {
-  method({a, b, ...{c, ...rest}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method({a: 1, b: 2, c: 3, d: 4, e: 5});
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-meth-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/class/dstr-meth-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 8689f0243756092e0a26e413bbb5188eb2c127e0..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-meth-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,77 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-expr-meth.template
-/*---
-description: Rest object contains just soruce object's own properties (class expression method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-var C = class {
-  method({ x, ...{y , z} }) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method(o);
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-meth-static-dflt-obj-ptrn-rest-nested-obj.js b/test/language/expressions/class/dstr-meth-static-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 44dd5242991eadf1830eac309f363a41f3082a34..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-meth-static-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,76 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-expr-meth-static-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (static class expression method (default parameter))
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-var C = class {
-  static method({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/class/dstr-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 4d1c0c24cfa7268078b1cc743f81d618228ae06b..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,86 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-expr-meth-static-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (static class expression method (default parameter))
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-var C = class {
-  static method({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-meth-static-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/class/dstr-meth-static-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 2fbe57ff5c87cb6e120e9e3678b18c4efc91da43..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-meth-static-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,77 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-expr-meth-static-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (static class expression method (default parameter))
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-var C = class {
-  static method({ x, ...{y , z} } = o) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-meth-static-obj-ptrn-rest-nested-obj.js b/test/language/expressions/class/dstr-meth-static-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 8883be60398ff1a47accf3a091b6d68db0c64c4d..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-meth-static-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,76 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-expr-meth-static.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (static class expression method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-var C = class {
-  static method({a, b, ...{c, e}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method({a: 1, b: 2, c: 3, d: 4, e: 5});
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-meth-static-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/class/dstr-meth-static-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index fef91321dea7b34b94b514047526a82412b14b78..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-meth-static-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,86 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-expr-meth-static.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (static class expression method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-var C = class {
-  static method({a, b, ...{c, ...rest}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method({a: 1, b: 2, c: 3, d: 4, e: 5});
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/class/dstr-meth-static-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/class/dstr-meth-static-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index e79dc5ddd65ca493c6e229648b025a4373e972e7..0000000000000000000000000000000000000000
--- a/test/language/expressions/class/dstr-meth-static-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,77 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-expr-meth-static.template
-/*---
-description: Rest object contains just soruce object's own properties (static class expression method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassExpression : class BindingIdentifieropt ClassTail
-
-    1. If BindingIdentifieropt is not present, let className be undefined.
-    2. Else, let className be StringValue of BindingIdentifier.
-    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
-       with argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-var C = class {
-  static method({ x, ...{y , z} }) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method(o);
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/function/dstr-dflt-obj-ptrn-rest-nested-obj.js b/test/language/expressions/function/dstr-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 508f447de4f9561e435015109ba4fb5d16d95b1d..0000000000000000000000000000000000000000
--- a/test/language/expressions/function/dstr-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/func-expr-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (function expression (default parameter))
-esid: sec-function-definitions-runtime-semantics-evaluation
-es6id: 14.1.20
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-info: |
-    FunctionExpression : function ( FormalParameters ) { FunctionBody }
-
-        [...]
-        3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody,
-           scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-var f;
-f = function({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-  callCount = callCount + 1;
-};
-
-f();
-assert.sameValue(callCount, 1, 'function invoked exactly once');
diff --git a/test/language/expressions/function/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/function/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index b7a47a37af68e3603b7b8a9379f8ea9b6b3c8577..0000000000000000000000000000000000000000
--- a/test/language/expressions/function/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,65 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/func-expr-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (function expression (default parameter))
-esid: sec-function-definitions-runtime-semantics-evaluation
-es6id: 14.1.20
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    FunctionExpression : function ( FormalParameters ) { FunctionBody }
-
-        [...]
-        3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody,
-           scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-var f;
-f = function({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-  callCount = callCount + 1;
-};
-
-f();
-assert.sameValue(callCount, 1, 'function invoked exactly once');
diff --git a/test/language/expressions/function/dstr-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/function/dstr-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 614e4c5f90a9f99c2af431ba94467debf1c57fef..0000000000000000000000000000000000000000
--- a/test/language/expressions/function/dstr-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,56 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/func-expr-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (function expression (default parameter))
-esid: sec-function-definitions-runtime-semantics-evaluation
-es6id: 14.1.20
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    FunctionExpression : function ( FormalParameters ) { FunctionBody }
-
-        [...]
-        3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody,
-           scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-var f;
-f = function({ x, ...{y , z} } = o) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-  callCount = callCount + 1;
-};
-
-f();
-assert.sameValue(callCount, 1, 'function invoked exactly once');
diff --git a/test/language/expressions/function/dstr-obj-ptrn-rest-nested-obj.js b/test/language/expressions/function/dstr-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index fb437e20a09b2c8298e407a3960c309a9401f35d..0000000000000000000000000000000000000000
--- a/test/language/expressions/function/dstr-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/func-expr.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (function expression)
-esid: sec-function-definitions-runtime-semantics-evaluation
-es6id: 14.1.20
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    FunctionExpression : function ( FormalParameters ) { FunctionBody }
-
-        [...]
-        3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody,
-           scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-var f;
-f = function({a, b, ...{c, e}}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-  callCount = callCount + 1;
-};
-
-f({a: 1, b: 2, c: 3, d: 4, e: 5});
-assert.sameValue(callCount, 1, 'function invoked exactly once');
diff --git a/test/language/expressions/function/dstr-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/function/dstr-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index f8d7d97d6eaadef84fd7cfacfa559562defb134e..0000000000000000000000000000000000000000
--- a/test/language/expressions/function/dstr-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,65 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/func-expr.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (function expression)
-esid: sec-function-definitions-runtime-semantics-evaluation
-es6id: 14.1.20
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    FunctionExpression : function ( FormalParameters ) { FunctionBody }
-
-        [...]
-        3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody,
-           scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-var f;
-f = function({a, b, ...{c, ...rest}}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-  callCount = callCount + 1;
-};
-
-f({a: 1, b: 2, c: 3, d: 4, e: 5});
-assert.sameValue(callCount, 1, 'function invoked exactly once');
diff --git a/test/language/expressions/function/dstr-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/function/dstr-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index a9573adb8a9ea84a147c5f173fe674727766d518..0000000000000000000000000000000000000000
--- a/test/language/expressions/function/dstr-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,56 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/func-expr.template
-/*---
-description: Rest object contains just soruce object's own properties (function expression)
-esid: sec-function-definitions-runtime-semantics-evaluation
-es6id: 14.1.20
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    FunctionExpression : function ( FormalParameters ) { FunctionBody }
-
-        [...]
-        3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody,
-           scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-var f;
-f = function({ x, ...{y , z} }) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-  callCount = callCount + 1;
-};
-
-f(o);
-assert.sameValue(callCount, 1, 'function invoked exactly once');
diff --git a/test/language/expressions/generators/dstr-dflt-obj-ptrn-rest-nested-obj.js b/test/language/expressions/generators/dstr-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index be05596c7e8646eb16f8e3b79def0932f9871a43..0000000000000000000000000000000000000000
--- a/test/language/expressions/generators/dstr-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/gen-func-expr-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (generator function expression (default parameter))
-esid: sec-generator-function-definitions-runtime-semantics-evaluation
-es6id: 14.4.14
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-info: |
-    GeneratorExpression : function * ( FormalParameters ) { GeneratorBody }
-
-        [...]
-        3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters,
-           GeneratorBody, scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-var f;
-f = function*({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-  callCount = callCount + 1;
-};
-
-f().next();
-assert.sameValue(callCount, 1, 'generator function invoked exactly once');
diff --git a/test/language/expressions/generators/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/generators/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index dd455868b1866337e7ae14852961edab557e49d3..0000000000000000000000000000000000000000
--- a/test/language/expressions/generators/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,65 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/gen-func-expr-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (generator function expression (default parameter))
-esid: sec-generator-function-definitions-runtime-semantics-evaluation
-es6id: 14.4.14
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    GeneratorExpression : function * ( FormalParameters ) { GeneratorBody }
-
-        [...]
-        3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters,
-           GeneratorBody, scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-var f;
-f = function*({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-  callCount = callCount + 1;
-};
-
-f().next();
-assert.sameValue(callCount, 1, 'generator function invoked exactly once');
diff --git a/test/language/expressions/generators/dstr-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/generators/dstr-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 76b609c3dcb5e5a378dc4a5f6ca7ca95881f9d94..0000000000000000000000000000000000000000
--- a/test/language/expressions/generators/dstr-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,56 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/gen-func-expr-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (generator function expression (default parameter))
-esid: sec-generator-function-definitions-runtime-semantics-evaluation
-es6id: 14.4.14
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    GeneratorExpression : function * ( FormalParameters ) { GeneratorBody }
-
-        [...]
-        3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters,
-           GeneratorBody, scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-var f;
-f = function*({ x, ...{y , z} } = o) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-  callCount = callCount + 1;
-};
-
-f().next();
-assert.sameValue(callCount, 1, 'generator function invoked exactly once');
diff --git a/test/language/expressions/generators/dstr-obj-ptrn-rest-nested-obj.js b/test/language/expressions/generators/dstr-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index c10fcd34db6215c6a1b7943a8d33f62d73a055fe..0000000000000000000000000000000000000000
--- a/test/language/expressions/generators/dstr-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/gen-func-expr.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (generator function expression)
-esid: sec-generator-function-definitions-runtime-semantics-evaluation
-es6id: 14.4.14
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    GeneratorExpression : function * ( FormalParameters ) { GeneratorBody }
-
-        [...]
-        3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters,
-           GeneratorBody, scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-var f;
-f = function*({a, b, ...{c, e}}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-  callCount = callCount + 1;
-};
-
-f({a: 1, b: 2, c: 3, d: 4, e: 5}).next();
-assert.sameValue(callCount, 1, 'generator function invoked exactly once');
diff --git a/test/language/expressions/generators/dstr-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/generators/dstr-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 9061739e0f409e2769322283266bd2a5b602fcf1..0000000000000000000000000000000000000000
--- a/test/language/expressions/generators/dstr-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,65 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/gen-func-expr.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (generator function expression)
-esid: sec-generator-function-definitions-runtime-semantics-evaluation
-es6id: 14.4.14
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    GeneratorExpression : function * ( FormalParameters ) { GeneratorBody }
-
-        [...]
-        3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters,
-           GeneratorBody, scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-var f;
-f = function*({a, b, ...{c, ...rest}}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-  callCount = callCount + 1;
-};
-
-f({a: 1, b: 2, c: 3, d: 4, e: 5}).next();
-assert.sameValue(callCount, 1, 'generator function invoked exactly once');
diff --git a/test/language/expressions/generators/dstr-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/generators/dstr-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 9c8b1a92c70dd43964d70af0f1e85caad177d8d4..0000000000000000000000000000000000000000
--- a/test/language/expressions/generators/dstr-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,56 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/gen-func-expr.template
-/*---
-description: Rest object contains just soruce object's own properties (generator function expression)
-esid: sec-generator-function-definitions-runtime-semantics-evaluation
-es6id: 14.4.14
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    GeneratorExpression : function * ( FormalParameters ) { GeneratorBody }
-
-        [...]
-        3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters,
-           GeneratorBody, scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-var f;
-f = function*({ x, ...{y , z} }) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-  callCount = callCount + 1;
-};
-
-f(o).next();
-assert.sameValue(callCount, 1, 'generator function invoked exactly once');
diff --git a/test/language/expressions/object/dstr-async-gen-meth-dflt-obj-ptrn-rest-nested-obj.js b/test/language/expressions/object/dstr-async-gen-meth-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index f63273a365e3633c1e84d6c69077932e54c2e342..0000000000000000000000000000000000000000
--- a/test/language/expressions/object/dstr-async-gen-meth-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/async-gen-method-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (async generator method (default parameter))
-esid: sec-asyncgenerator-definitions-propertydefinitionevaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-info: |
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-var obj = {a: 3, b: 4};
-
-
-var callCount = 0;
-var obj = {
-  async *method({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-obj.method().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/object/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/object/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 487bd37f6b3318ba9d0afa2c5e593d7a444de0ea..0000000000000000000000000000000000000000
--- a/test/language/expressions/object/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,51 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/async-gen-method-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (async generator method (default parameter))
-esid: sec-asyncgenerator-definitions-propertydefinitionevaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-
-
-var callCount = 0;
-var obj = {
-  async *method({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-obj.method().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/object/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/object/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index da7c5c2d6c7803d8136cf7f209ffb23da89d6d1e..0000000000000000000000000000000000000000
--- a/test/language/expressions/object/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/async-gen-method-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (async generator method (default parameter))
-esid: sec-asyncgenerator-definitions-propertydefinitionevaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-
-var callCount = 0;
-var obj = {
-  async *method({ x, ...{y , z} } = o) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-obj.method().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/object/dstr-async-gen-meth-obj-ptrn-rest-nested-obj.js b/test/language/expressions/object/dstr-async-gen-meth-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index dc8656436dc2e20577672f6e75e447f3f6c6b163..0000000000000000000000000000000000000000
--- a/test/language/expressions/object/dstr-async-gen-meth-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/async-gen-meth.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (async generator method)
-esid: sec-asyncgenerator-definitions-propertydefinitionevaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-info: |
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-var obj = {a: 3, b: 4};
-
-
-var callCount = 0;
-var obj = {
-  async *method({a, b, ...{c, e}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-obj.method({a: 1, b: 2, c: 3, d: 4, e: 5}).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/object/dstr-async-gen-meth-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/object/dstr-async-gen-meth-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 293ed0b947bfb2ca59a39187e99ff869137e95f0..0000000000000000000000000000000000000000
--- a/test/language/expressions/object/dstr-async-gen-meth-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,51 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/async-gen-meth.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (async generator method)
-esid: sec-asyncgenerator-definitions-propertydefinitionevaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-
-
-var callCount = 0;
-var obj = {
-  async *method({a, b, ...{c, ...rest}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-obj.method({a: 1, b: 2, c: 3, d: 4, e: 5}).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/object/dstr-async-gen-meth-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/object/dstr-async-gen-meth-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 49bcdc12e22ca7b9df067c42c80f7c5ed41ceb44..0000000000000000000000000000000000000000
--- a/test/language/expressions/object/dstr-async-gen-meth-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/async-gen-meth.template
-/*---
-description: Rest object contains just soruce object's own properties (async generator method)
-esid: sec-asyncgenerator-definitions-propertydefinitionevaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-
-var callCount = 0;
-var obj = {
-  async *method({ x, ...{y , z} }) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-obj.method(o).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/expressions/object/dstr-gen-meth-dflt-obj-ptrn-rest-nested-obj.js b/test/language/expressions/object/dstr-gen-meth-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 2ea4d3f5a7457ad586c5a02edfafd8bfd33df4dc..0000000000000000000000000000000000000000
--- a/test/language/expressions/object/dstr-gen-meth-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,61 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/gen-method-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (generator method (default parameter))
-esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation
-es6id: 14.4.13
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-info: |
-    GeneratorMethod :
-        * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-var obj = {
-  *method({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-obj.method().next();
-assert.sameValue(callCount, 1, 'generator method invoked exactly once');
diff --git a/test/language/expressions/object/dstr-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/object/dstr-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index d2afe92b214e84234dd76c684167307c2e7e8e65..0000000000000000000000000000000000000000
--- a/test/language/expressions/object/dstr-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,71 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/gen-method-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (generator method (default parameter))
-esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation
-es6id: 14.4.13
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    GeneratorMethod :
-        * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-var obj = {
-  *method({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-obj.method().next();
-assert.sameValue(callCount, 1, 'generator method invoked exactly once');
diff --git a/test/language/expressions/object/dstr-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/object/dstr-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 4cf32a108cf584b0662c35d702951f844e228375..0000000000000000000000000000000000000000
--- a/test/language/expressions/object/dstr-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,62 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/gen-method-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (generator method (default parameter))
-esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation
-es6id: 14.4.13
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    GeneratorMethod :
-        * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-var obj = {
-  *method({ x, ...{y , z} } = o) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-obj.method().next();
-assert.sameValue(callCount, 1, 'generator method invoked exactly once');
diff --git a/test/language/expressions/object/dstr-gen-meth-obj-ptrn-rest-nested-obj.js b/test/language/expressions/object/dstr-gen-meth-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 1577f96955e02ac0f99e1f8c1896567d9fd2686c..0000000000000000000000000000000000000000
--- a/test/language/expressions/object/dstr-gen-meth-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,61 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/gen-meth.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (generator method)
-esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation
-es6id: 14.4.13
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    GeneratorMethod :
-        * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-var obj = {
-  *method({a, b, ...{c, e}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-obj.method({a: 1, b: 2, c: 3, d: 4, e: 5}).next();
-assert.sameValue(callCount, 1, 'generator method invoked exactly once');
diff --git a/test/language/expressions/object/dstr-gen-meth-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/object/dstr-gen-meth-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 4919ab8d426b67aa12cd928dd409bddff5e506f0..0000000000000000000000000000000000000000
--- a/test/language/expressions/object/dstr-gen-meth-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,71 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/gen-meth.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (generator method)
-esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation
-es6id: 14.4.13
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    GeneratorMethod :
-        * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-var obj = {
-  *method({a, b, ...{c, ...rest}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-obj.method({a: 1, b: 2, c: 3, d: 4, e: 5}).next();
-assert.sameValue(callCount, 1, 'generator method invoked exactly once');
diff --git a/test/language/expressions/object/dstr-gen-meth-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/object/dstr-gen-meth-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 88f145379b65fcda46a638cc816ef68621d2fd34..0000000000000000000000000000000000000000
--- a/test/language/expressions/object/dstr-gen-meth-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,62 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/gen-meth.template
-/*---
-description: Rest object contains just soruce object's own properties (generator method)
-esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation
-es6id: 14.4.13
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    GeneratorMethod :
-        * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-var obj = {
-  *method({ x, ...{y , z} }) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-obj.method(o).next();
-assert.sameValue(callCount, 1, 'generator method invoked exactly once');
diff --git a/test/language/expressions/object/dstr-meth-dflt-obj-ptrn-rest-nested-obj.js b/test/language/expressions/object/dstr-meth-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 19d43fd07adc9ddc01d2632e9125afed0fffedc6..0000000000000000000000000000000000000000
--- a/test/language/expressions/object/dstr-meth-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,58 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/meth-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (method (default parameter))
-esid: sec-runtime-semantics-definemethod
-es6id: 14.3.8
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-info: |
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters,
-       FunctionBody, scope, strict). If functionPrototype was passed as a
-       parameter then pass its value as the functionPrototype optional argument
-       of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-var obj = {
-  method({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-obj.method();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/object/dstr-meth-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/object/dstr-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 05a82c44b2b6e9682e38525305b6b23136ce0fd8..0000000000000000000000000000000000000000
--- a/test/language/expressions/object/dstr-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,68 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/meth-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (method (default parameter))
-esid: sec-runtime-semantics-definemethod
-es6id: 14.3.8
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters,
-       FunctionBody, scope, strict). If functionPrototype was passed as a
-       parameter then pass its value as the functionPrototype optional argument
-       of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-var obj = {
-  method({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-obj.method();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/object/dstr-meth-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/object/dstr-meth-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 3bf80fa59501dcd4aba760b09026164b7ddc5f56..0000000000000000000000000000000000000000
--- a/test/language/expressions/object/dstr-meth-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/meth-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (method (default parameter))
-esid: sec-runtime-semantics-definemethod
-es6id: 14.3.8
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters,
-       FunctionBody, scope, strict). If functionPrototype was passed as a
-       parameter then pass its value as the functionPrototype optional argument
-       of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-var obj = {
-  method({ x, ...{y , z} } = o) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-obj.method();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/object/dstr-meth-obj-ptrn-rest-nested-obj.js b/test/language/expressions/object/dstr-meth-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 97c0ad2b3a6f466cc96d1d11c3e930d3258b0519..0000000000000000000000000000000000000000
--- a/test/language/expressions/object/dstr-meth-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,58 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/meth.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (method)
-esid: sec-runtime-semantics-definemethod
-es6id: 14.3.8
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters,
-       FunctionBody, scope, strict). If functionPrototype was passed as a
-       parameter then pass its value as the functionPrototype optional argument
-       of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-var obj = {
-  method({a, b, ...{c, e}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-obj.method({a: 1, b: 2, c: 3, d: 4, e: 5});
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/object/dstr-meth-obj-ptrn-rest-obj-nested-rest.js b/test/language/expressions/object/dstr-meth-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index b94801cc58fd8f0fc4dd9d30fa94cd3edb10e93b..0000000000000000000000000000000000000000
--- a/test/language/expressions/object/dstr-meth-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,68 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/meth.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (method)
-esid: sec-runtime-semantics-definemethod
-es6id: 14.3.8
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters,
-       FunctionBody, scope, strict). If functionPrototype was passed as a
-       parameter then pass its value as the functionPrototype optional argument
-       of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-var obj = {
-  method({a, b, ...{c, ...rest}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-obj.method({a: 1, b: 2, c: 3, d: 4, e: 5});
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/expressions/object/dstr-meth-obj-ptrn-rest-obj-own-property.js b/test/language/expressions/object/dstr-meth-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 2be6eb800697caf8148d99a2540d38d1cd1d1f3c..0000000000000000000000000000000000000000
--- a/test/language/expressions/object/dstr-meth-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/meth.template
-/*---
-description: Rest object contains just soruce object's own properties (method)
-esid: sec-runtime-semantics-definemethod
-es6id: 14.3.8
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters,
-       FunctionBody, scope, strict). If functionPrototype was passed as a
-       parameter then pass its value as the functionPrototype optional argument
-       of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-var obj = {
-  method({ x, ...{y , z} }) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-obj.method(o);
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/async-generator/dstr-dflt-obj-ptrn-rest-nested-obj.js b/test/language/statements/async-generator/dstr-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index e7964d7775972e2597aa1e27191d8fd887ba8771..0000000000000000000000000000000000000000
--- a/test/language/statements/async-generator/dstr-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/async-gen-func-decl-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (async generator function declaration (default parameter))
-esid: sec-asyncgenerator-definitions-instantiatefunctionobject
-features: [object-rest, async-iteration]
-flags: [generated, async]
-info: |
-    AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier
-        ( FormalParameters ) { AsyncGeneratorBody }
-
-        [...]
-        3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody,
-            scope, strict).
-        [...]
-
----*/
-var obj = {a: 3, b: 4};
-
-
-var callCount = 0;
-async function* f({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-  callCount = callCount + 1;
-};
-f().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/statements/async-generator/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/async-generator/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index eda3449d83af0ff074c78514761f9d869218cdc9..0000000000000000000000000000000000000000
--- a/test/language/statements/async-generator/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/async-gen-func-decl-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (async generator function declaration (default parameter))
-esid: sec-asyncgenerator-definitions-instantiatefunctionobject
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier
-        ( FormalParameters ) { AsyncGeneratorBody }
-
-        [...]
-        3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody,
-            scope, strict).
-        [...]
-
----*/
-
-
-var callCount = 0;
-async function* f({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-  callCount = callCount + 1;
-};
-f().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/statements/async-generator/dstr-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/statements/async-generator/dstr-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 566815cc88ee2fd49151f543c4c34104f64347cc..0000000000000000000000000000000000000000
--- a/test/language/statements/async-generator/dstr-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/async-gen-func-decl-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (async generator function declaration (default parameter))
-esid: sec-asyncgenerator-definitions-instantiatefunctionobject
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier
-        ( FormalParameters ) { AsyncGeneratorBody }
-
-        [...]
-        3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody,
-            scope, strict).
-        [...]
-
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-
-var callCount = 0;
-async function* f({ x, ...{y , z} } = o) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-  callCount = callCount + 1;
-};
-f().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/statements/async-generator/dstr-obj-ptrn-rest-nested-obj.js b/test/language/statements/async-generator/dstr-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index f2d1c54114f931347ad13d8c92c25d1f7d6198a4..0000000000000000000000000000000000000000
--- a/test/language/statements/async-generator/dstr-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/async-gen-func-decl.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (async generator function declaration)
-esid: sec-asyncgenerator-definitions-instantiatefunctionobject
-features: [object-rest, async-iteration]
-flags: [generated, async]
-info: |
-    AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier
-        ( FormalParameters ) { AsyncGeneratorBody }
-
-        [...]
-        3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody,
-            scope, strict).
-        [...]
-
----*/
-var obj = {a: 3, b: 4};
-
-
-var callCount = 0;
-async function* f({a, b, ...{c, e}}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-  callCount = callCount + 1;
-};
-f({a: 1, b: 2, c: 3, d: 4, e: 5}).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/statements/async-generator/dstr-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/async-generator/dstr-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index b812d0176fc73c52347a623e4e35c4ffa59b9bdb..0000000000000000000000000000000000000000
--- a/test/language/statements/async-generator/dstr-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/async-gen-func-decl.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (async generator function declaration)
-esid: sec-asyncgenerator-definitions-instantiatefunctionobject
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier
-        ( FormalParameters ) { AsyncGeneratorBody }
-
-        [...]
-        3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody,
-            scope, strict).
-        [...]
-
----*/
-
-
-var callCount = 0;
-async function* f({a, b, ...{c, ...rest}}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-  callCount = callCount + 1;
-};
-f({a: 1, b: 2, c: 3, d: 4, e: 5}).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/statements/async-generator/dstr-obj-ptrn-rest-obj-own-property.js b/test/language/statements/async-generator/dstr-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index f3aa462c9451c7862bbc8136cd5d9498d3c73cad..0000000000000000000000000000000000000000
--- a/test/language/statements/async-generator/dstr-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/async-gen-func-decl.template
-/*---
-description: Rest object contains just soruce object's own properties (async generator function declaration)
-esid: sec-asyncgenerator-definitions-instantiatefunctionobject
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    AsyncGeneratorDeclaration : async [no LineTerminator here] function * BindingIdentifier
-        ( FormalParameters ) { AsyncGeneratorBody }
-
-        [...]
-        3. Let F be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, AsyncGeneratorBody,
-            scope, strict).
-        [...]
-
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-
-var callCount = 0;
-async function* f({ x, ...{y , z} }) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-  callCount = callCount + 1;
-};
-f(o).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');
-}).then($DONE, $DONE);
diff --git a/test/language/statements/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-nested-obj.js b/test/language/statements/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 300eda3b76fa462e9ca5ab929090da3414fc4656..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-decl-async-gen-meth-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (class expression async generator method (default parameters))
-esid: sec-class-definitions-runtime-semantics-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-var obj = {a: 3, b: 4};
-
-
-var callCount = 0;
-class C {
-  async *method({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/statements/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 9590ee3bef8d8d338785b62965f1cbbd6b209d5f..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,69 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-decl-async-gen-meth-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (class expression async generator method (default parameters))
-esid: sec-class-definitions-runtime-semantics-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-
-
-var callCount = 0;
-class C {
-  async *method({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/statements/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/statements/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index a7c08983ceac76a3f65ecc2902b10291d50ac9f8..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-decl-async-gen-meth-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (class expression async generator method (default parameters))
-esid: sec-class-definitions-runtime-semantics-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-
-var callCount = 0;
-class C {
-  async *method({ x, ...{y , z} } = o) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/statements/class/dstr-async-gen-meth-obj-ptrn-rest-nested-obj.js b/test/language/statements/class/dstr-async-gen-meth-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index b6c25081b9b27d8f1fd07c1a60ca96036f370a62..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-async-gen-meth-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-decl-async-gen-meth.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (class expression method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-var obj = {a: 3, b: 4};
-
-
-var callCount = 0;
-class C {
-  async *method({a, b, ...{c, e}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method({a: 1, b: 2, c: 3, d: 4, e: 5}).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/statements/class/dstr-async-gen-meth-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/class/dstr-async-gen-meth-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index fbc5c773b1c4366024800b92c8630277c1f48dd1..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-async-gen-meth-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,69 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-decl-async-gen-meth.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (class expression method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-
-
-var callCount = 0;
-class C {
-  async *method({a, b, ...{c, ...rest}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method({a: 1, b: 2, c: 3, d: 4, e: 5}).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/statements/class/dstr-async-gen-meth-obj-ptrn-rest-obj-own-property.js b/test/language/statements/class/dstr-async-gen-meth-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index b46a2a039e2a50b86bd258dab739e502e550880d..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-async-gen-meth-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-decl-async-gen-meth.template
-/*---
-description: Rest object contains just soruce object's own properties (class expression method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-
-var callCount = 0;
-class C {
-  async *method({ x, ...{y , z} }) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method(o).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/statements/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-nested-obj.js b/test/language/statements/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 94742bd3d142d4d3642c1068a7438c22b6d41d02..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-decl-async-gen-meth-static-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (static class expression async generator method (default parameter))
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-var obj = {a: 3, b: 4};
-
-
-var callCount = 0;
-class C {
-  static async *method({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/statements/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 60457bdb8ee2378d5412b9e1c30592b35700eb32..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,69 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-decl-async-gen-meth-static-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (static class expression async generator method (default parameter))
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-
-
-var callCount = 0;
-class C {
-  static async *method({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/statements/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/statements/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 7231ecb91756824d13cc07d9bdc91d4097a3b449..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-decl-async-gen-meth-static-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (static class expression async generator method (default parameter))
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-
-var callCount = 0;
-class C {
-  static async *method({ x, ...{y , z} } = o) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method().next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/statements/class/dstr-async-gen-meth-static-obj-ptrn-rest-nested-obj.js b/test/language/statements/class/dstr-async-gen-meth-static-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 8f690fbd7d14135a0fdaf11bced704fbf9f6fb6b..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-async-gen-meth-static-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-decl-async-gen-meth-static.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (static class expression async generator method)
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-var obj = {a: 3, b: 4};
-
-
-var callCount = 0;
-class C {
-  static async *method({a, b, ...{c, e}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method({a: 1, b: 2, c: 3, d: 4, e: 5}).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/statements/class/dstr-async-gen-meth-static-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/class/dstr-async-gen-meth-static-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index a6c7c5443332bc4bfb0a496b8f4bc7ce88a19845..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-async-gen-meth-static-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,69 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-decl-async-gen-meth-static.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (static class expression async generator method)
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-
-
-var callCount = 0;
-class C {
-  static async *method({a, b, ...{c, ...rest}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method({a: 1, b: 2, c: 3, d: 4, e: 5}).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/statements/class/dstr-async-gen-meth-static-obj-ptrn-rest-obj-own-property.js b/test/language/statements/class/dstr-async-gen-meth-static-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 2f505b2b15a1a07950267e9669f8fc0b1e90c72d..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-async-gen-meth-static-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-decl-async-gen-meth-static.template
-/*---
-description: Rest object contains just soruce object's own properties (static class expression async generator method)
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-features: [object-rest, async-iteration]
-flags: [generated, async]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    Runtime Semantics: PropertyDefinitionEvaluation
-
-    AsyncGeneratorMethod :
-        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
-            { AsyncGeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
-       Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
-       AsyncGeneratorBody, scope, strict).
-    [...]
-
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-
-var callCount = 0;
-class C {
-  static async *method({ x, ...{y , z} }) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method(o).next().then(() => {
-    assert.sameValue(callCount, 1, 'invoked exactly once');    
-}).then($DONE, $DONE);
diff --git a/test/language/statements/class/dstr-gen-meth-dflt-obj-ptrn-rest-nested-obj.js b/test/language/statements/class/dstr-gen-meth-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 1831722fbefa88a96733481f8d9b20ef2e124410..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-gen-meth-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,77 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-decl-gen-meth-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (class expression method (default parameters))
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod : * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-class C {
-  *method({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method().next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/class/dstr-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index a85172982844bfd807c86effe237e19f368aba81..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,87 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-decl-gen-meth-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (class expression method (default parameters))
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod : * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-class C {
-  *method({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method().next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/statements/class/dstr-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index e54ee8a0a1c3b7ac9ac2df1dbb36a00f29009637..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,78 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-decl-gen-meth-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (class expression method (default parameters))
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod : * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-class C {
-  *method({ x, ...{y , z} } = o) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method().next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-gen-meth-obj-ptrn-rest-nested-obj.js b/test/language/statements/class/dstr-gen-meth-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index a68a95be01a6d816bff1a0d610110e033bd03143..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-gen-meth-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,77 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-decl-gen-meth.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (class expression method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod : * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-class C {
-  *method({a, b, ...{c, e}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method({a: 1, b: 2, c: 3, d: 4, e: 5}).next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-gen-meth-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/class/dstr-gen-meth-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 150a082c7ef9e4ee65e42ebcabf6f050efb30d8d..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-gen-meth-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,87 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-decl-gen-meth.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (class expression method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod : * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-class C {
-  *method({a, b, ...{c, ...rest}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method({a: 1, b: 2, c: 3, d: 4, e: 5}).next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-gen-meth-obj-ptrn-rest-obj-own-property.js b/test/language/statements/class/dstr-gen-meth-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 5907387347f19770298f14d7abf4397629bcdb19..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-gen-meth-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,78 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-decl-gen-meth.template
-/*---
-description: Rest object contains just soruce object's own properties (class expression method)
-esid: sec-class-definitions-runtime-semantics-evaluation
-es6id: 14.5.16
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod : * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-class C {
-  *method({ x, ...{y , z} }) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method(o).next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-nested-obj.js b/test/language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 7a0d3358ce8a0538b1cb5acf299382e57019f7a2..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,77 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-decl-gen-meth-static-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (static class expression generator method (default parameter))
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-es6id: 14.5.15
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod : * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-class C {
-  static *method({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method().next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index fbf6726f5a4b998ec0f4bc3b46da8a1dd303690b..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,87 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-decl-gen-meth-static-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (static class expression generator method (default parameter))
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-es6id: 14.5.15
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod : * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-class C {
-  static *method({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method().next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index b13529fb2f0f9101b8fb51be190c650782bf5b2c..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,78 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-decl-gen-meth-static-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (static class expression generator method (default parameter))
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-es6id: 14.5.15
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod : * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-class C {
-  static *method({ x, ...{y , z} } = o) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method().next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-gen-meth-static-obj-ptrn-rest-nested-obj.js b/test/language/statements/class/dstr-gen-meth-static-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 24658ee66062d40cc3363f288f9a377280bfd11f..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-gen-meth-static-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,77 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-decl-gen-meth-static.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (static class expression generator method)
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-es6id: 14.5.15
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod : * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-class C {
-  static *method({a, b, ...{c, e}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method({a: 1, b: 2, c: 3, d: 4, e: 5}).next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-gen-meth-static-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/class/dstr-gen-meth-static-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index c07515a7e9ca15450ba210b6345738b7661e035a..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-gen-meth-static-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,87 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-decl-gen-meth-static.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (static class expression generator method)
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-es6id: 14.5.15
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod : * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-class C {
-  static *method({a, b, ...{c, ...rest}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method({a: 1, b: 2, c: 3, d: 4, e: 5}).next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-gen-meth-static-obj-ptrn-rest-obj-own-property.js b/test/language/statements/class/dstr-gen-meth-static-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 014f9c12d69c090e3547f61c40bca65fc3f7277a..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-gen-meth-static-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,78 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-decl-gen-meth-static.template
-/*---
-description: Rest object contains just soruce object's own properties (static class expression generator method)
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-es6id: 14.5.15
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
-
-    GeneratorMethod : * PropertyName ( StrictFormalParameters ) { GeneratorBody }
-
-    1. Let propKey be the result of evaluating PropertyName.
-    2. ReturnIfAbrupt(propKey).
-    3. If the function code for this GeneratorMethod is strict mode code,
-       let strict be true. Otherwise let strict be false.
-    4. Let scope be the running execution context's LexicalEnvironment.
-    5. Let closure be GeneratorFunctionCreate(Method,
-       StrictFormalParameters, GeneratorBody, scope, strict).
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-class C {
-  static *method({ x, ...{y , z} }) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method(o).next();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-meth-dflt-obj-ptrn-rest-nested-obj.js b/test/language/statements/class/dstr-meth-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 343eb175b662c149af7bd9b5b5fb9a0526fd9ab7..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-meth-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,75 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-decl-meth-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (class expression method (default parameter))
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-es6id: 14.5.15
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-class C {
-  method({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-meth-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/class/dstr-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 925c6828c53afee4f02934e9bdc815d118a166d9..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,85 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-decl-meth-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (class expression method (default parameter))
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-es6id: 14.5.15
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-class C {
-  method({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-meth-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/statements/class/dstr-meth-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index c97657d4074926d3ad8e984367875aef9fc29ea0..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-meth-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,76 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-decl-meth-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (class expression method (default parameter))
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-es6id: 14.5.15
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-class C {
-  method({ x, ...{y , z} } = o) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-meth-obj-ptrn-rest-nested-obj.js b/test/language/statements/class/dstr-meth-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 1828a98eda0b6ddf981a745ac3a183110d78990e..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-meth-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,75 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-decl-meth.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (class expression method)
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-es6id: 14.5.15
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-class C {
-  method({a, b, ...{c, e}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method({a: 1, b: 2, c: 3, d: 4, e: 5});
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-meth-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/class/dstr-meth-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 3226bed18eb47802863e414070b22bca381f1133..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-meth-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,85 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-decl-meth.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (class expression method)
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-es6id: 14.5.15
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-class C {
-  method({a, b, ...{c, ...rest}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method({a: 1, b: 2, c: 3, d: 4, e: 5});
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-meth-obj-ptrn-rest-obj-own-property.js b/test/language/statements/class/dstr-meth-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 1e6927b0e010561d086b6fa40619433dfa9f5382..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-meth-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,76 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-decl-meth.template
-/*---
-description: Rest object contains just soruce object's own properties (class expression method)
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-es6id: 14.5.15
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-           i. Let status be the result of performing
-              PropertyDefinitionEvaluation for m with arguments proto and
-              false.
-        [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-class C {
-  method({ x, ...{y , z} }) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-new C().method(o);
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-meth-static-dflt-obj-ptrn-rest-nested-obj.js b/test/language/statements/class/dstr-meth-static-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 6ef602932a1425f0e190d5ccbb6cd0addff5874a..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-meth-static-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,75 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-decl-meth-static-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (static class expression method (default parameter))
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-es6id: 14.5.15
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-class C {
-  static method({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/class/dstr-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 22aafbfed34f6a26b44bdf2a98efb3c2e332595b..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,85 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-decl-meth-static-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (static class expression method (default parameter))
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-es6id: 14.5.15
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-class C {
-  static method({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-meth-static-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/statements/class/dstr-meth-static-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 6bde3ee8623727a9492b6b935f1155232eec9546..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-meth-static-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,76 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-decl-meth-static-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (static class expression method (default parameter))
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-es6id: 14.5.15
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-class C {
-  static method({ x, ...{y , z} } = o) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method();
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-meth-static-obj-ptrn-rest-nested-obj.js b/test/language/statements/class/dstr-meth-static-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index f76ee9e49998fd9908c5afd5f805b6785552c163..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-meth-static-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,75 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/cls-decl-meth-static.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (static class expression method)
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-es6id: 14.5.15
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-class C {
-  static method({a, b, ...{c, e}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-    assert.sameValue(e, 5);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method({a: 1, b: 2, c: 3, d: 4, e: 5});
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-meth-static-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/class/dstr-meth-static-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index c1b27b9b59f66f4420f69ac385a6b2ad5b9d8a15..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-meth-static-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,85 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/cls-decl-meth-static.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (static class expression method)
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-es6id: 14.5.15
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-class C {
-  static method({a, b, ...{c, ...rest}}) {
-    assert.sameValue(a, 1);
-    assert.sameValue(b, 2);
-    assert.sameValue(c, 3);
-
-    assert.sameValue(rest.d, 4);
-    assert.sameValue(rest.e, 5);
-
-    verifyEnumerable(rest, "d");
-    verifyWritable(rest, "d");
-    verifyConfigurable(rest, "d");
-
-    verifyEnumerable(rest, "e");
-    verifyWritable(rest, "e");
-    verifyConfigurable(rest, "e");
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method({a: 1, b: 2, c: 3, d: 4, e: 5});
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/class/dstr-meth-static-obj-ptrn-rest-obj-own-property.js b/test/language/statements/class/dstr-meth-static-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 6027e9741b9b30051bc42ffd0da49f89ef435420..0000000000000000000000000000000000000000
--- a/test/language/statements/class/dstr-meth-static-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,76 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/cls-decl-meth-static.template
-/*---
-description: Rest object contains just soruce object's own properties (static class expression method)
-esid: sec-runtime-semantics-bindingclassdeclarationevaluation
-es6id: 14.5.15
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    ClassDeclaration : class BindingIdentifier ClassTail
-
-    1. Let className be StringValue of BindingIdentifier.
-    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
-       argument className.
-    [...]
-
-    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
-
-    21. For each ClassElement m in order from methods
-        a. If IsStatic of m is false, then
-        b. Else,
-           Let status be the result of performing PropertyDefinitionEvaluation for
-           m with arguments F and false.
-    [...]
-
-    14.3.8 Runtime Semantics: DefineMethod
-
-    MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
-
-    [...]
-    6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
-       scope, strict). If functionPrototype was passed as a parameter then pass its
-       value as the functionPrototype optional argument of FunctionCreate.
-    [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-class C {
-  static method({ x, ...{y , z} }) {
-    assert.sameValue(x, 1);
-    assert.sameValue(y, undefined);
-    assert.sameValue(z, 3);
-
-    callCount = callCount + 1;
-  }
-};
-
-C.method(o);
-assert.sameValue(callCount, 1, 'method invoked exactly once');
diff --git a/test/language/statements/const/dstr-obj-ptrn-rest-nested-obj.js b/test/language/statements/const/dstr-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 2df194766276fe15c7e41d42fc0635fe12563c39..0000000000000000000000000000000000000000
--- a/test/language/statements/const/dstr-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,28 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/const-stmt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (`const` statement)
-esid: sec-let-and-const-declarations-runtime-semantics-evaluation
-es6id: 13.3.1.4
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    LexicalBinding : BindingPattern Initializer
-
-    1. Let rhs be the result of evaluating Initializer.
-    2. Let value be GetValue(rhs).
-    3. ReturnIfAbrupt(value).
-    4. Let env be the running execution context's LexicalEnvironment.
-    5. Return the result of performing BindingInitialization for BindingPattern
-       using value and env as the arguments.
----*/
-var obj = {a: 3, b: 4};
-
-const {a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5};
-
-assert.sameValue(a, 1);
-assert.sameValue(b, 2);
-assert.sameValue(c, 3);
-assert.sameValue(e, 5);
-
diff --git a/test/language/statements/const/dstr-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/const/dstr-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 51c96a743608df181ad88d45dd7f19c79cc674ad..0000000000000000000000000000000000000000
--- a/test/language/statements/const/dstr-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/const-stmt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (`const` statement)
-esid: sec-let-and-const-declarations-runtime-semantics-evaluation
-es6id: 13.3.1.4
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    LexicalBinding : BindingPattern Initializer
-
-    1. Let rhs be the result of evaluating Initializer.
-    2. Let value be GetValue(rhs).
-    3. ReturnIfAbrupt(value).
-    4. Let env be the running execution context's LexicalEnvironment.
-    5. Return the result of performing BindingInitialization for BindingPattern
-       using value and env as the arguments.
----*/
-
-const {a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5};
-
-assert.sameValue(a, 1);
-assert.sameValue(b, 2);
-assert.sameValue(c, 3);
-
-assert.sameValue(rest.d, 4);
-assert.sameValue(rest.e, 5);
-
-verifyEnumerable(rest, "d");
-verifyWritable(rest, "d");
-verifyConfigurable(rest, "d");
-
-verifyEnumerable(rest, "e");
-verifyWritable(rest, "e");
-verifyConfigurable(rest, "e");
-
diff --git a/test/language/statements/const/dstr-obj-ptrn-rest-obj-own-property.js b/test/language/statements/const/dstr-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 3ee01ddf6ce42d71c25f2ee4552a389a422b2ced..0000000000000000000000000000000000000000
--- a/test/language/statements/const/dstr-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/const-stmt.template
-/*---
-description: Rest object contains just soruce object's own properties (`const` statement)
-esid: sec-let-and-const-declarations-runtime-semantics-evaluation
-es6id: 13.3.1.4
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    LexicalBinding : BindingPattern Initializer
-
-    1. Let rhs be the result of evaluating Initializer.
-    2. Let value be GetValue(rhs).
-    3. ReturnIfAbrupt(value).
-    4. Let env be the running execution context's LexicalEnvironment.
-    5. Return the result of performing BindingInitialization for BindingPattern
-       using value and env as the arguments.
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-const { x, ...{y , z} } = o;
-
-assert.sameValue(x, 1);
-assert.sameValue(y, undefined);
-assert.sameValue(z, 3);
-
diff --git a/test/language/statements/for-of/dstr-const-obj-ptrn-rest-nested-obj.js b/test/language/statements/for-of/dstr-const-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 4f92797bf64272081a6e8f0e57c7e6af3ca54b8e..0000000000000000000000000000000000000000
--- a/test/language/statements/for-of/dstr-const-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/for-of-const.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (for-of statement)
-esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation
-es6id: 13.7.5.11
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    IterationStatement :
-        for ( ForDeclaration of AssignmentExpression ) Statement
-
-    [...]
-    3. Return ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult,
-       lexicalBinding, labelSet).
-
-    13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation
-
-    [...]
-    3. Let destructuring be IsDestructuring of lhs.
-    [...]
-    5. Repeat
-       [...]
-       h. If destructuring is false, then
-          [...]
-       i. Else
-          i. If lhsKind is assignment, then
-             [...]
-          ii. Else if lhsKind is varBinding, then
-              [...]
-          iii. Else,
-               1. Assert: lhsKind is lexicalBinding.
-               2. Assert: lhs is a ForDeclaration.
-               3. Let status be the result of performing BindingInitialization
-                  for lhs passing nextValue and iterationEnv as arguments.
-          [...]
----*/
-var obj = {a: 3, b: 4};
-
-var iterCount = 0;
-
-for (const {a, b, ...{c, e}} of [{a: 1, b: 2, c: 3, d: 4, e: 5}]) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-
-  iterCount += 1;
-}
-
-assert.sameValue(iterCount, 1, 'iteration occurred as expected');
diff --git a/test/language/statements/for-of/dstr-const-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/for-of/dstr-const-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 61b50a6badbd1e336270a2b3fa3470ba5703d194..0000000000000000000000000000000000000000
--- a/test/language/statements/for-of/dstr-const-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,63 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/for-of-const.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (for-of statement)
-esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation
-es6id: 13.7.5.11
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    IterationStatement :
-        for ( ForDeclaration of AssignmentExpression ) Statement
-
-    [...]
-    3. Return ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult,
-       lexicalBinding, labelSet).
-
-    13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation
-
-    [...]
-    3. Let destructuring be IsDestructuring of lhs.
-    [...]
-    5. Repeat
-       [...]
-       h. If destructuring is false, then
-          [...]
-       i. Else
-          i. If lhsKind is assignment, then
-             [...]
-          ii. Else if lhsKind is varBinding, then
-              [...]
-          iii. Else,
-               1. Assert: lhsKind is lexicalBinding.
-               2. Assert: lhs is a ForDeclaration.
-               3. Let status be the result of performing BindingInitialization
-                  for lhs passing nextValue and iterationEnv as arguments.
-          [...]
----*/
-
-var iterCount = 0;
-
-for (const {a, b, ...{c, ...rest}} of [{a: 1, b: 2, c: 3, d: 4, e: 5}]) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-
-  iterCount += 1;
-}
-
-assert.sameValue(iterCount, 1, 'iteration occurred as expected');
diff --git a/test/language/statements/for-of/dstr-const-obj-ptrn-rest-obj-own-property.js b/test/language/statements/for-of/dstr-const-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 7c950ba328f67e4b53de27734d35d0289434df22..0000000000000000000000000000000000000000
--- a/test/language/statements/for-of/dstr-const-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/for-of-const.template
-/*---
-description: Rest object contains just soruce object's own properties (for-of statement)
-esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation
-es6id: 13.7.5.11
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    IterationStatement :
-        for ( ForDeclaration of AssignmentExpression ) Statement
-
-    [...]
-    3. Return ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult,
-       lexicalBinding, labelSet).
-
-    13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation
-
-    [...]
-    3. Let destructuring be IsDestructuring of lhs.
-    [...]
-    5. Repeat
-       [...]
-       h. If destructuring is false, then
-          [...]
-       i. Else
-          i. If lhsKind is assignment, then
-             [...]
-          ii. Else if lhsKind is varBinding, then
-              [...]
-          iii. Else,
-               1. Assert: lhsKind is lexicalBinding.
-               2. Assert: lhs is a ForDeclaration.
-               3. Let status be the result of performing BindingInitialization
-                  for lhs passing nextValue and iterationEnv as arguments.
-          [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var iterCount = 0;
-
-for (const { x, ...{y , z} } of [o]) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-
-  iterCount += 1;
-}
-
-assert.sameValue(iterCount, 1, 'iteration occurred as expected');
diff --git a/test/language/statements/for-of/dstr-let-obj-ptrn-rest-nested-obj.js b/test/language/statements/for-of/dstr-let-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 2de089a28939c7674dd1ba1ff924e49503bf1870..0000000000000000000000000000000000000000
--- a/test/language/statements/for-of/dstr-let-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/for-of-let.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (for-of statement)
-esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation
-es6id: 13.7.5.11
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    IterationStatement :
-        for ( ForDeclaration of AssignmentExpression ) Statement
-
-    [...]
-    3. Return ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult,
-       lexicalBinding, labelSet).
-
-    13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation
-
-    [...]
-    3. Let destructuring be IsDestructuring of lhs.
-    [...]
-    5. Repeat
-       [...]
-       h. If destructuring is false, then
-          [...]
-       i. Else
-          i. If lhsKind is assignment, then
-             [...]
-          ii. Else if lhsKind is varBinding, then
-              [...]
-          iii. Else,
-               1. Assert: lhsKind is lexicalBinding.
-               2. Assert: lhs is a ForDeclaration.
-               3. Let status be the result of performing BindingInitialization
-                  for lhs passing nextValue and iterationEnv as arguments.
-          [...]
----*/
-var obj = {a: 3, b: 4};
-
-var iterCount = 0;
-
-for (let {a, b, ...{c, e}} of [{a: 1, b: 2, c: 3, d: 4, e: 5}]) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-
-  iterCount += 1;
-}
-
-assert.sameValue(iterCount, 1, 'Iteration occurred as expected');
diff --git a/test/language/statements/for-of/dstr-let-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/for-of/dstr-let-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index de64a87ba2419421f64963f92c48ab8a9a714b6f..0000000000000000000000000000000000000000
--- a/test/language/statements/for-of/dstr-let-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,63 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/for-of-let.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (for-of statement)
-esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation
-es6id: 13.7.5.11
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    IterationStatement :
-        for ( ForDeclaration of AssignmentExpression ) Statement
-
-    [...]
-    3. Return ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult,
-       lexicalBinding, labelSet).
-
-    13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation
-
-    [...]
-    3. Let destructuring be IsDestructuring of lhs.
-    [...]
-    5. Repeat
-       [...]
-       h. If destructuring is false, then
-          [...]
-       i. Else
-          i. If lhsKind is assignment, then
-             [...]
-          ii. Else if lhsKind is varBinding, then
-              [...]
-          iii. Else,
-               1. Assert: lhsKind is lexicalBinding.
-               2. Assert: lhs is a ForDeclaration.
-               3. Let status be the result of performing BindingInitialization
-                  for lhs passing nextValue and iterationEnv as arguments.
-          [...]
----*/
-
-var iterCount = 0;
-
-for (let {a, b, ...{c, ...rest}} of [{a: 1, b: 2, c: 3, d: 4, e: 5}]) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-
-  iterCount += 1;
-}
-
-assert.sameValue(iterCount, 1, 'Iteration occurred as expected');
diff --git a/test/language/statements/for-of/dstr-let-obj-ptrn-rest-obj-own-property.js b/test/language/statements/for-of/dstr-let-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 25eb38e7133a9c78fad17a942b716d2fdf88f167..0000000000000000000000000000000000000000
--- a/test/language/statements/for-of/dstr-let-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/for-of-let.template
-/*---
-description: Rest object contains just soruce object's own properties (for-of statement)
-esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation
-es6id: 13.7.5.11
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    IterationStatement :
-        for ( ForDeclaration of AssignmentExpression ) Statement
-
-    [...]
-    3. Return ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult,
-       lexicalBinding, labelSet).
-
-    13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation
-
-    [...]
-    3. Let destructuring be IsDestructuring of lhs.
-    [...]
-    5. Repeat
-       [...]
-       h. If destructuring is false, then
-          [...]
-       i. Else
-          i. If lhsKind is assignment, then
-             [...]
-          ii. Else if lhsKind is varBinding, then
-              [...]
-          iii. Else,
-               1. Assert: lhsKind is lexicalBinding.
-               2. Assert: lhs is a ForDeclaration.
-               3. Let status be the result of performing BindingInitialization
-                  for lhs passing nextValue and iterationEnv as arguments.
-          [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var iterCount = 0;
-
-for (let { x, ...{y , z} } of [o]) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-
-  iterCount += 1;
-}
-
-assert.sameValue(iterCount, 1, 'Iteration occurred as expected');
diff --git a/test/language/statements/for-of/dstr-var-obj-ptrn-rest-nested-obj.js b/test/language/statements/for-of/dstr-var-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index df23fb9b5511d6b77da054b77ed32c5bb8ff6043..0000000000000000000000000000000000000000
--- a/test/language/statements/for-of/dstr-var-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/for-of-var.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (for-of statement)
-esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation
-es6id: 13.7.5.11
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    IterationStatement :
-        for ( var ForBinding of AssignmentExpression ) Statement
-
-    [...]
-    3. Return ForIn/OfBodyEvaluation(ForBinding, Statement, keyResult,
-       varBinding, labelSet).
-
-    13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation
-
-    [...]
-    3. Let destructuring be IsDestructuring of lhs.
-    [...]
-    5. Repeat
-       [...]
-       h. If destructuring is false, then
-          [...]
-       i. Else
-          i. If lhsKind is assignment, then
-             [...]
-          ii. Else if lhsKind is varBinding, then
-              1. Assert: lhs is a ForBinding.
-              2. Let status be the result of performing BindingInitialization
-                 for lhs passing nextValue and undefined as the arguments.
-          [...]
----*/
-var obj = {a: 3, b: 4};
-
-var iterCount = 0;
-
-for (var {a, b, ...{c, e}} of [{a: 1, b: 2, c: 3, d: 4, e: 5}]) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-
-  iterCount += 1;
-}
-
-assert.sameValue(iterCount, 1, 'Iteration occurred as expected');
diff --git a/test/language/statements/for-of/dstr-var-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/for-of/dstr-var-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index fe437ed4b53e6c2a74651628c745c7f42784403a..0000000000000000000000000000000000000000
--- a/test/language/statements/for-of/dstr-var-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/for-of-var.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (for-of statement)
-esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation
-es6id: 13.7.5.11
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    IterationStatement :
-        for ( var ForBinding of AssignmentExpression ) Statement
-
-    [...]
-    3. Return ForIn/OfBodyEvaluation(ForBinding, Statement, keyResult,
-       varBinding, labelSet).
-
-    13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation
-
-    [...]
-    3. Let destructuring be IsDestructuring of lhs.
-    [...]
-    5. Repeat
-       [...]
-       h. If destructuring is false, then
-          [...]
-       i. Else
-          i. If lhsKind is assignment, then
-             [...]
-          ii. Else if lhsKind is varBinding, then
-              1. Assert: lhs is a ForBinding.
-              2. Let status be the result of performing BindingInitialization
-                 for lhs passing nextValue and undefined as the arguments.
-          [...]
----*/
-
-var iterCount = 0;
-
-for (var {a, b, ...{c, ...rest}} of [{a: 1, b: 2, c: 3, d: 4, e: 5}]) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-
-  iterCount += 1;
-}
-
-assert.sameValue(iterCount, 1, 'Iteration occurred as expected');
diff --git a/test/language/statements/for-of/dstr-var-obj-ptrn-rest-obj-own-property.js b/test/language/statements/for-of/dstr-var-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 6a0925d9dada751795b60d503a38ce93c39e2bd3..0000000000000000000000000000000000000000
--- a/test/language/statements/for-of/dstr-var-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,51 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/for-of-var.template
-/*---
-description: Rest object contains just soruce object's own properties (for-of statement)
-esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation
-es6id: 13.7.5.11
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    IterationStatement :
-        for ( var ForBinding of AssignmentExpression ) Statement
-
-    [...]
-    3. Return ForIn/OfBodyEvaluation(ForBinding, Statement, keyResult,
-       varBinding, labelSet).
-
-    13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation
-
-    [...]
-    3. Let destructuring be IsDestructuring of lhs.
-    [...]
-    5. Repeat
-       [...]
-       h. If destructuring is false, then
-          [...]
-       i. Else
-          i. If lhsKind is assignment, then
-             [...]
-          ii. Else if lhsKind is varBinding, then
-              1. Assert: lhs is a ForBinding.
-              2. Let status be the result of performing BindingInitialization
-                 for lhs passing nextValue and undefined as the arguments.
-          [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var iterCount = 0;
-
-for (var { x, ...{y , z} } of [o]) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-
-  iterCount += 1;
-}
-
-assert.sameValue(iterCount, 1, 'Iteration occurred as expected');
diff --git a/test/language/statements/for/dstr-const-obj-ptrn-rest-nested-obj.js b/test/language/statements/for/dstr-const-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 401f3ba31c8238645c6c919e49ebb47e8dafce0b..0000000000000000000000000000000000000000
--- a/test/language/statements/for/dstr-const-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/for-const.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (for statement)
-esid: sec-for-statement-runtime-semantics-labelledevaluation
-es6id: 13.7.4.7
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    IterationStatement :
-        for ( LexicalDeclaration Expressionopt ; Expressionopt ) Statement
-
-    [...]
-    7. Let forDcl be the result of evaluating LexicalDeclaration.
-    [...]
-
-    LexicalDeclaration : LetOrConst BindingList ;
-
-    1. Let next be the result of evaluating BindingList.
-    2. ReturnIfAbrupt(next).
-    3. Return NormalCompletion(empty).
-
-    BindingList : BindingList , LexicalBinding
-
-    1. Let next be the result of evaluating BindingList.
-    2. ReturnIfAbrupt(next).
-    3. Return the result of evaluating LexicalBinding.
-
-    LexicalBinding : BindingPattern Initializer
-
-    1. Let rhs be the result of evaluating Initializer.
-    2. Let value be GetValue(rhs).
-    3. ReturnIfAbrupt(value).
-    4. Let env be the running execution context’s LexicalEnvironment.
-    5. Return the result of performing BindingInitialization for BindingPattern
-       using value and env as the arguments.
----*/
-var obj = {a: 3, b: 4};
-
-var iterCount = 0;
-
-for (const {a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}; iterCount < 1; ) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-
-  iterCount += 1;
-}
-
-assert.sameValue(iterCount, 1, 'Iteration occurred as expected');
diff --git a/test/language/statements/for/dstr-const-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/for/dstr-const-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 354f87415b2afd3e4efc3f042decdf6e88e3a810..0000000000000000000000000000000000000000
--- a/test/language/statements/for/dstr-const-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,63 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/for-const.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (for statement)
-esid: sec-for-statement-runtime-semantics-labelledevaluation
-es6id: 13.7.4.7
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    IterationStatement :
-        for ( LexicalDeclaration Expressionopt ; Expressionopt ) Statement
-
-    [...]
-    7. Let forDcl be the result of evaluating LexicalDeclaration.
-    [...]
-
-    LexicalDeclaration : LetOrConst BindingList ;
-
-    1. Let next be the result of evaluating BindingList.
-    2. ReturnIfAbrupt(next).
-    3. Return NormalCompletion(empty).
-
-    BindingList : BindingList , LexicalBinding
-
-    1. Let next be the result of evaluating BindingList.
-    2. ReturnIfAbrupt(next).
-    3. Return the result of evaluating LexicalBinding.
-
-    LexicalBinding : BindingPattern Initializer
-
-    1. Let rhs be the result of evaluating Initializer.
-    2. Let value be GetValue(rhs).
-    3. ReturnIfAbrupt(value).
-    4. Let env be the running execution context’s LexicalEnvironment.
-    5. Return the result of performing BindingInitialization for BindingPattern
-       using value and env as the arguments.
----*/
-
-var iterCount = 0;
-
-for (const {a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}; iterCount < 1; ) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-
-  iterCount += 1;
-}
-
-assert.sameValue(iterCount, 1, 'Iteration occurred as expected');
diff --git a/test/language/statements/for/dstr-const-obj-ptrn-rest-obj-own-property.js b/test/language/statements/for/dstr-const-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index c706b63fa50392f015a791d7ad2dbb852538b64b..0000000000000000000000000000000000000000
--- a/test/language/statements/for/dstr-const-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/for-const.template
-/*---
-description: Rest object contains just soruce object's own properties (for statement)
-esid: sec-for-statement-runtime-semantics-labelledevaluation
-es6id: 13.7.4.7
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    IterationStatement :
-        for ( LexicalDeclaration Expressionopt ; Expressionopt ) Statement
-
-    [...]
-    7. Let forDcl be the result of evaluating LexicalDeclaration.
-    [...]
-
-    LexicalDeclaration : LetOrConst BindingList ;
-
-    1. Let next be the result of evaluating BindingList.
-    2. ReturnIfAbrupt(next).
-    3. Return NormalCompletion(empty).
-
-    BindingList : BindingList , LexicalBinding
-
-    1. Let next be the result of evaluating BindingList.
-    2. ReturnIfAbrupt(next).
-    3. Return the result of evaluating LexicalBinding.
-
-    LexicalBinding : BindingPattern Initializer
-
-    1. Let rhs be the result of evaluating Initializer.
-    2. Let value be GetValue(rhs).
-    3. ReturnIfAbrupt(value).
-    4. Let env be the running execution context’s LexicalEnvironment.
-    5. Return the result of performing BindingInitialization for BindingPattern
-       using value and env as the arguments.
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var iterCount = 0;
-
-for (const { x, ...{y , z} } = o; iterCount < 1; ) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-
-  iterCount += 1;
-}
-
-assert.sameValue(iterCount, 1, 'Iteration occurred as expected');
diff --git a/test/language/statements/for/dstr-let-obj-ptrn-rest-nested-obj.js b/test/language/statements/for/dstr-let-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 9b890eb08ab0bde53fd10727c1bb18d03081dc0b..0000000000000000000000000000000000000000
--- a/test/language/statements/for/dstr-let-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/for-let.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (for statement)
-esid: sec-for-statement-runtime-semantics-labelledevaluation
-es6id: 13.7.4.7
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    IterationStatement :
-        for ( LexicalDeclaration Expressionopt ; Expressionopt ) Statement
-
-    [...]
-    7. Let forDcl be the result of evaluating LexicalDeclaration.
-    [...]
-
-    LexicalDeclaration : LetOrConst BindingList ;
-
-    1. Let next be the result of evaluating BindingList.
-    2. ReturnIfAbrupt(next).
-    3. Return NormalCompletion(empty).
-
-    BindingList : BindingList , LexicalBinding
-
-    1. Let next be the result of evaluating BindingList.
-    2. ReturnIfAbrupt(next).
-    3. Return the result of evaluating LexicalBinding.
-
-    LexicalBinding : BindingPattern Initializer
-
-    1. Let rhs be the result of evaluating Initializer.
-    2. Let value be GetValue(rhs).
-    3. ReturnIfAbrupt(value).
-    4. Let env be the running execution context’s LexicalEnvironment.
-    5. Return the result of performing BindingInitialization for BindingPattern
-       using value and env as the arguments.
----*/
-var obj = {a: 3, b: 4};
-
-var iterCount = 0;
-
-for (let {a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}; iterCount < 1; ) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-
-  iterCount += 1;
-}
-
-assert.sameValue(iterCount, 1, 'Iteration occurred as expected');
diff --git a/test/language/statements/for/dstr-let-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/for/dstr-let-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 3ad2dadaea373a348a39e2ceb4fd35e5687299d6..0000000000000000000000000000000000000000
--- a/test/language/statements/for/dstr-let-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,63 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/for-let.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (for statement)
-esid: sec-for-statement-runtime-semantics-labelledevaluation
-es6id: 13.7.4.7
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    IterationStatement :
-        for ( LexicalDeclaration Expressionopt ; Expressionopt ) Statement
-
-    [...]
-    7. Let forDcl be the result of evaluating LexicalDeclaration.
-    [...]
-
-    LexicalDeclaration : LetOrConst BindingList ;
-
-    1. Let next be the result of evaluating BindingList.
-    2. ReturnIfAbrupt(next).
-    3. Return NormalCompletion(empty).
-
-    BindingList : BindingList , LexicalBinding
-
-    1. Let next be the result of evaluating BindingList.
-    2. ReturnIfAbrupt(next).
-    3. Return the result of evaluating LexicalBinding.
-
-    LexicalBinding : BindingPattern Initializer
-
-    1. Let rhs be the result of evaluating Initializer.
-    2. Let value be GetValue(rhs).
-    3. ReturnIfAbrupt(value).
-    4. Let env be the running execution context’s LexicalEnvironment.
-    5. Return the result of performing BindingInitialization for BindingPattern
-       using value and env as the arguments.
----*/
-
-var iterCount = 0;
-
-for (let {a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}; iterCount < 1; ) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-
-  iterCount += 1;
-}
-
-assert.sameValue(iterCount, 1, 'Iteration occurred as expected');
diff --git a/test/language/statements/for/dstr-let-obj-ptrn-rest-obj-own-property.js b/test/language/statements/for/dstr-let-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index dd2ea4ac4caf3211c97188a0bb85e0f0721cee24..0000000000000000000000000000000000000000
--- a/test/language/statements/for/dstr-let-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/for-let.template
-/*---
-description: Rest object contains just soruce object's own properties (for statement)
-esid: sec-for-statement-runtime-semantics-labelledevaluation
-es6id: 13.7.4.7
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    IterationStatement :
-        for ( LexicalDeclaration Expressionopt ; Expressionopt ) Statement
-
-    [...]
-    7. Let forDcl be the result of evaluating LexicalDeclaration.
-    [...]
-
-    LexicalDeclaration : LetOrConst BindingList ;
-
-    1. Let next be the result of evaluating BindingList.
-    2. ReturnIfAbrupt(next).
-    3. Return NormalCompletion(empty).
-
-    BindingList : BindingList , LexicalBinding
-
-    1. Let next be the result of evaluating BindingList.
-    2. ReturnIfAbrupt(next).
-    3. Return the result of evaluating LexicalBinding.
-
-    LexicalBinding : BindingPattern Initializer
-
-    1. Let rhs be the result of evaluating Initializer.
-    2. Let value be GetValue(rhs).
-    3. ReturnIfAbrupt(value).
-    4. Let env be the running execution context’s LexicalEnvironment.
-    5. Return the result of performing BindingInitialization for BindingPattern
-       using value and env as the arguments.
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var iterCount = 0;
-
-for (let { x, ...{y , z} } = o; iterCount < 1; ) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-
-  iterCount += 1;
-}
-
-assert.sameValue(iterCount, 1, 'Iteration occurred as expected');
diff --git a/test/language/statements/for/dstr-var-obj-ptrn-rest-nested-obj.js b/test/language/statements/for/dstr-var-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 5f54bce9f602a50a5399132116d6c1f412c9317e..0000000000000000000000000000000000000000
--- a/test/language/statements/for/dstr-var-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/for-var.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (for statement)
-esid: sec-for-statement-runtime-semantics-labelledevaluation
-es6id: 13.7.4.7
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    IterationStatement :
-        for ( var VariableDeclarationList ; Expressionopt ; Expressionopt ) Statement
-
-    1. Let varDcl be the result of evaluating VariableDeclarationList.
-    [...]
-
-    13.3.2.4 Runtime Semantics: Evaluation
-
-    VariableDeclarationList : VariableDeclarationList , VariableDeclaration
-
-    1. Let next be the result of evaluating VariableDeclarationList.
-    2. ReturnIfAbrupt(next).
-    3. Return the result of evaluating VariableDeclaration.
-
-    VariableDeclaration : BindingPattern Initializer
-
-    1. Let rhs be the result of evaluating Initializer.
-    2. Let rval be GetValue(rhs).
-    3. ReturnIfAbrupt(rval).
-    4. Return the result of performing BindingInitialization for BindingPattern
-       passing rval and undefined as arguments.
----*/
-var obj = {a: 3, b: 4};
-
-var iterCount = 0;
-
-for (var {a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}; iterCount < 1; ) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-  iterCount += 1;
-}
-
-assert.sameValue(iterCount, 1, 'Iteration occurred as expected');
diff --git a/test/language/statements/for/dstr-var-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/for/dstr-var-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 3d2cccc5bca9da6d91dfbe6872e01c1450c1a19d..0000000000000000000000000000000000000000
--- a/test/language/statements/for/dstr-var-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,56 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/for-var.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (for statement)
-esid: sec-for-statement-runtime-semantics-labelledevaluation
-es6id: 13.7.4.7
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    IterationStatement :
-        for ( var VariableDeclarationList ; Expressionopt ; Expressionopt ) Statement
-
-    1. Let varDcl be the result of evaluating VariableDeclarationList.
-    [...]
-
-    13.3.2.4 Runtime Semantics: Evaluation
-
-    VariableDeclarationList : VariableDeclarationList , VariableDeclaration
-
-    1. Let next be the result of evaluating VariableDeclarationList.
-    2. ReturnIfAbrupt(next).
-    3. Return the result of evaluating VariableDeclaration.
-
-    VariableDeclaration : BindingPattern Initializer
-
-    1. Let rhs be the result of evaluating Initializer.
-    2. Let rval be GetValue(rhs).
-    3. ReturnIfAbrupt(rval).
-    4. Return the result of performing BindingInitialization for BindingPattern
-       passing rval and undefined as arguments.
----*/
-
-var iterCount = 0;
-
-for (var {a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}; iterCount < 1; ) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-  iterCount += 1;
-}
-
-assert.sameValue(iterCount, 1, 'Iteration occurred as expected');
diff --git a/test/language/statements/for/dstr-var-obj-ptrn-rest-obj-own-property.js b/test/language/statements/for/dstr-var-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index f7fcdcd6b908c1b18523780d4c3211d9590f3c09..0000000000000000000000000000000000000000
--- a/test/language/statements/for/dstr-var-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/for-var.template
-/*---
-description: Rest object contains just soruce object's own properties (for statement)
-esid: sec-for-statement-runtime-semantics-labelledevaluation
-es6id: 13.7.4.7
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    IterationStatement :
-        for ( var VariableDeclarationList ; Expressionopt ; Expressionopt ) Statement
-
-    1. Let varDcl be the result of evaluating VariableDeclarationList.
-    [...]
-
-    13.3.2.4 Runtime Semantics: Evaluation
-
-    VariableDeclarationList : VariableDeclarationList , VariableDeclaration
-
-    1. Let next be the result of evaluating VariableDeclarationList.
-    2. ReturnIfAbrupt(next).
-    3. Return the result of evaluating VariableDeclaration.
-
-    VariableDeclaration : BindingPattern Initializer
-
-    1. Let rhs be the result of evaluating Initializer.
-    2. Let rval be GetValue(rhs).
-    3. ReturnIfAbrupt(rval).
-    4. Return the result of performing BindingInitialization for BindingPattern
-       passing rval and undefined as arguments.
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var iterCount = 0;
-
-for (var { x, ...{y , z} } = o; iterCount < 1; ) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-  iterCount += 1;
-}
-
-assert.sameValue(iterCount, 1, 'Iteration occurred as expected');
diff --git a/test/language/statements/function/dstr-dflt-obj-ptrn-rest-nested-obj.js b/test/language/statements/function/dstr-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 89942265573a5f6030a86d79f649ce123483f33b..0000000000000000000000000000000000000000
--- a/test/language/statements/function/dstr-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/func-decl-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (function declaration (default parameter))
-esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject
-es6id: 14.1.19
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-info: |
-    FunctionDeclaration :
-        function BindingIdentifier ( FormalParameters ) { FunctionBody }
-
-        [...]
-        3. Let F be FunctionCreate(Normal, FormalParameters, FunctionBody,
-           scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-function f({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-  callCount = callCount + 1;
-};
-f();
-assert.sameValue(callCount, 1, 'function invoked exactly once');
diff --git a/test/language/statements/function/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/function/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 414d9284da28d20972de20ee7f5525a9397f2b13..0000000000000000000000000000000000000000
--- a/test/language/statements/function/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,64 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/func-decl-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (function declaration (default parameter))
-esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject
-es6id: 14.1.19
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    FunctionDeclaration :
-        function BindingIdentifier ( FormalParameters ) { FunctionBody }
-
-        [...]
-        3. Let F be FunctionCreate(Normal, FormalParameters, FunctionBody,
-           scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-function f({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-  callCount = callCount + 1;
-};
-f();
-assert.sameValue(callCount, 1, 'function invoked exactly once');
diff --git a/test/language/statements/function/dstr-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/statements/function/dstr-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index ecac13db1a04c5a7748ee58347f627167ccbdc23..0000000000000000000000000000000000000000
--- a/test/language/statements/function/dstr-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/func-decl-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (function declaration (default parameter))
-esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject
-es6id: 14.1.19
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    FunctionDeclaration :
-        function BindingIdentifier ( FormalParameters ) { FunctionBody }
-
-        [...]
-        3. Let F be FunctionCreate(Normal, FormalParameters, FunctionBody,
-           scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-function f({ x, ...{y , z} } = o) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-  callCount = callCount + 1;
-};
-f();
-assert.sameValue(callCount, 1, 'function invoked exactly once');
diff --git a/test/language/statements/function/dstr-obj-ptrn-rest-nested-obj.js b/test/language/statements/function/dstr-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index ad763970398ca5251cf227c2c7d7bd4f70b8a8b7..0000000000000000000000000000000000000000
--- a/test/language/statements/function/dstr-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/func-decl.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (function declaration)
-esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject
-es6id: 14.1.19
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    FunctionDeclaration :
-        function BindingIdentifier ( FormalParameters ) { FunctionBody }
-
-        [...]
-        3. Let F be FunctionCreate(Normal, FormalParameters, FunctionBody,
-           scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-function f({a, b, ...{c, e}}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-  callCount = callCount + 1;
-};
-f({a: 1, b: 2, c: 3, d: 4, e: 5});
-assert.sameValue(callCount, 1, 'function invoked exactly once');
diff --git a/test/language/statements/function/dstr-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/function/dstr-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 16c835fdb61571aa69004707660d07f390110226..0000000000000000000000000000000000000000
--- a/test/language/statements/function/dstr-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,64 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/func-decl.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (function declaration)
-esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject
-es6id: 14.1.19
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    FunctionDeclaration :
-        function BindingIdentifier ( FormalParameters ) { FunctionBody }
-
-        [...]
-        3. Let F be FunctionCreate(Normal, FormalParameters, FunctionBody,
-           scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-function f({a, b, ...{c, ...rest}}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-  callCount = callCount + 1;
-};
-f({a: 1, b: 2, c: 3, d: 4, e: 5});
-assert.sameValue(callCount, 1, 'function invoked exactly once');
diff --git a/test/language/statements/function/dstr-obj-ptrn-rest-obj-own-property.js b/test/language/statements/function/dstr-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 97b7ab6620779f50c3d8b14e7d81d05972d80839..0000000000000000000000000000000000000000
--- a/test/language/statements/function/dstr-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/func-decl.template
-/*---
-description: Rest object contains just soruce object's own properties (function declaration)
-esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject
-es6id: 14.1.19
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    FunctionDeclaration :
-        function BindingIdentifier ( FormalParameters ) { FunctionBody }
-
-        [...]
-        3. Let F be FunctionCreate(Normal, FormalParameters, FunctionBody,
-           scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-function f({ x, ...{y , z} }) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-  callCount = callCount + 1;
-};
-f(o);
-assert.sameValue(callCount, 1, 'function invoked exactly once');
diff --git a/test/language/statements/generators/dstr-dflt-obj-ptrn-rest-nested-obj.js b/test/language/statements/generators/dstr-dflt-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 688994b764647335d11858f2df5f687197b4585f..0000000000000000000000000000000000000000
--- a/test/language/statements/generators/dstr-dflt-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/gen-func-decl-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (generator function declaration (default parameter))
-esid: sec-generator-function-definitions-runtime-semantics-instantiatefunctionobject
-es6id: 14.4.12
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-info: |
-    GeneratorDeclaration : function * ( FormalParameters ) { GeneratorBody }
-
-        [...]
-        2. Let F be GeneratorFunctionCreate(Normal, FormalParameters,
-           GeneratorBody, scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-function* f({a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-  callCount = callCount + 1;
-};
-f().next();
-assert.sameValue(callCount, 1, 'generator function invoked exactly once');
diff --git a/test/language/statements/generators/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/generators/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 4e2b543b43ed2975c3d9676e1dc847d9a3888b3a..0000000000000000000000000000000000000000
--- a/test/language/statements/generators/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,63 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/gen-func-decl-dflt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (generator function declaration (default parameter))
-esid: sec-generator-function-definitions-runtime-semantics-instantiatefunctionobject
-es6id: 14.4.12
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    GeneratorDeclaration : function * ( FormalParameters ) { GeneratorBody }
-
-        [...]
-        2. Let F be GeneratorFunctionCreate(Normal, FormalParameters,
-           GeneratorBody, scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-function* f({a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-  callCount = callCount + 1;
-};
-f().next();
-assert.sameValue(callCount, 1, 'generator function invoked exactly once');
diff --git a/test/language/statements/generators/dstr-dflt-obj-ptrn-rest-obj-own-property.js b/test/language/statements/generators/dstr-dflt-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 8edb8b127482fe811f18f33552cedf6492620c32..0000000000000000000000000000000000000000
--- a/test/language/statements/generators/dstr-dflt-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/gen-func-decl-dflt.template
-/*---
-description: Rest object contains just soruce object's own properties (generator function declaration (default parameter))
-esid: sec-generator-function-definitions-runtime-semantics-instantiatefunctionobject
-es6id: 14.4.12
-features: [object-rest, destructuring-binding, default-parameters]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    GeneratorDeclaration : function * ( FormalParameters ) { GeneratorBody }
-
-        [...]
-        2. Let F be GeneratorFunctionCreate(Normal, FormalParameters,
-           GeneratorBody, scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-function* f({ x, ...{y , z} } = o) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-  callCount = callCount + 1;
-};
-f().next();
-assert.sameValue(callCount, 1, 'generator function invoked exactly once');
diff --git a/test/language/statements/generators/dstr-obj-ptrn-rest-nested-obj.js b/test/language/statements/generators/dstr-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 06103c8a3f6471155a29720119a41585ab5d273c..0000000000000000000000000000000000000000
--- a/test/language/statements/generators/dstr-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/gen-func-decl.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (generator function declaration)
-esid: sec-generator-function-definitions-runtime-semantics-instantiatefunctionobject
-es6id: 14.4.12
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    GeneratorDeclaration : function * ( FormalParameters ) { GeneratorBody }
-
-        [...]
-        2. Let F be GeneratorFunctionCreate(Normal, FormalParameters,
-           GeneratorBody, scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var callCount = 0;
-function* f({a, b, ...{c, e}}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-  callCount = callCount + 1;
-};
-f({a: 1, b: 2, c: 3, d: 4, e: 5}).next();
-assert.sameValue(callCount, 1, 'generator function invoked exactly once');
diff --git a/test/language/statements/generators/dstr-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/generators/dstr-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 64e27e04c199fc983f7ef56af2e8eaa8d05237e5..0000000000000000000000000000000000000000
--- a/test/language/statements/generators/dstr-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,63 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/gen-func-decl.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (generator function declaration)
-esid: sec-generator-function-definitions-runtime-semantics-instantiatefunctionobject
-es6id: 14.4.12
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    GeneratorDeclaration : function * ( FormalParameters ) { GeneratorBody }
-
-        [...]
-        2. Let F be GeneratorFunctionCreate(Normal, FormalParameters,
-           GeneratorBody, scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-
-var callCount = 0;
-function* f({a, b, ...{c, ...rest}}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-  callCount = callCount + 1;
-};
-f({a: 1, b: 2, c: 3, d: 4, e: 5}).next();
-assert.sameValue(callCount, 1, 'generator function invoked exactly once');
diff --git a/test/language/statements/generators/dstr-obj-ptrn-rest-obj-own-property.js b/test/language/statements/generators/dstr-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 2e87e402df6e53a36bb09e88a8e45108095f1352..0000000000000000000000000000000000000000
--- a/test/language/statements/generators/dstr-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/gen-func-decl.template
-/*---
-description: Rest object contains just soruce object's own properties (generator function declaration)
-esid: sec-generator-function-definitions-runtime-semantics-instantiatefunctionobject
-es6id: 14.4.12
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    GeneratorDeclaration : function * ( FormalParameters ) { GeneratorBody }
-
-        [...]
-        2. Let F be GeneratorFunctionCreate(Normal, FormalParameters,
-           GeneratorBody, scope, strict).
-        [...]
-
-    9.2.1 [[Call]] ( thisArgument, argumentsList)
-
-    [...]
-    7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
-    [...]
-
-    9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
-
-    1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
-    [...]
-
-    9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
-
-    [...]
-    23. Let iteratorRecord be Record {[[iterator]]:
-        CreateListIterator(argumentsList), [[done]]: false}.
-    24. If hasDuplicates is true, then
-        [...]
-    25. Else,
-        b. Let formalStatus be IteratorBindingInitialization for formals with
-           iteratorRecord and env as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var callCount = 0;
-function* f({ x, ...{y , z} }) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-  callCount = callCount + 1;
-};
-f(o).next();
-assert.sameValue(callCount, 1, 'generator function invoked exactly once');
diff --git a/test/language/statements/let/dstr-obj-ptrn-rest-nested-obj.js b/test/language/statements/let/dstr-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index fdd95a7b8a19ca4a88e533f320fde553c18a8272..0000000000000000000000000000000000000000
--- a/test/language/statements/let/dstr-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,28 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/let-stmt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (`let` statement)
-esid: sec-let-and-const-declarations-runtime-semantics-evaluation
-es6id: 13.3.1.4
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    LexicalBinding : BindingPattern Initializer
-
-    1. Let rhs be the result of evaluating Initializer.
-    2. Let value be GetValue(rhs).
-    3. ReturnIfAbrupt(value).
-    4. Let env be the running execution context's LexicalEnvironment.
-    5. Return the result of performing BindingInitialization for BindingPattern
-       using value and env as the arguments.
----*/
-var obj = {a: 3, b: 4};
-
-let {a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5};
-
-assert.sameValue(a, 1);
-assert.sameValue(b, 2);
-assert.sameValue(c, 3);
-assert.sameValue(e, 5);
-
diff --git a/test/language/statements/let/dstr-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/let/dstr-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 699a53a0a77ff9be030a7722436c8d11e1187c0a..0000000000000000000000000000000000000000
--- a/test/language/statements/let/dstr-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/let-stmt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (`let` statement)
-esid: sec-let-and-const-declarations-runtime-semantics-evaluation
-es6id: 13.3.1.4
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    LexicalBinding : BindingPattern Initializer
-
-    1. Let rhs be the result of evaluating Initializer.
-    2. Let value be GetValue(rhs).
-    3. ReturnIfAbrupt(value).
-    4. Let env be the running execution context's LexicalEnvironment.
-    5. Return the result of performing BindingInitialization for BindingPattern
-       using value and env as the arguments.
----*/
-
-let {a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5};
-
-assert.sameValue(a, 1);
-assert.sameValue(b, 2);
-assert.sameValue(c, 3);
-
-assert.sameValue(rest.d, 4);
-assert.sameValue(rest.e, 5);
-
-verifyEnumerable(rest, "d");
-verifyWritable(rest, "d");
-verifyConfigurable(rest, "d");
-
-verifyEnumerable(rest, "e");
-verifyWritable(rest, "e");
-verifyConfigurable(rest, "e");
-
diff --git a/test/language/statements/let/dstr-obj-ptrn-rest-obj-own-property.js b/test/language/statements/let/dstr-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index da2ffb9d7243cbfe5d5cb7e3cac9f981053b87dd..0000000000000000000000000000000000000000
--- a/test/language/statements/let/dstr-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/let-stmt.template
-/*---
-description: Rest object contains just soruce object's own properties (`let` statement)
-esid: sec-let-and-const-declarations-runtime-semantics-evaluation
-es6id: 13.3.1.4
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    LexicalBinding : BindingPattern Initializer
-
-    1. Let rhs be the result of evaluating Initializer.
-    2. Let value be GetValue(rhs).
-    3. ReturnIfAbrupt(value).
-    4. Let env be the running execution context's LexicalEnvironment.
-    5. Return the result of performing BindingInitialization for BindingPattern
-       using value and env as the arguments.
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-let { x, ...{y , z} } = o;
-
-assert.sameValue(x, 1);
-assert.sameValue(y, undefined);
-assert.sameValue(z, 3);
-
diff --git a/test/language/statements/try/dstr-obj-ptrn-rest-nested-obj.js b/test/language/statements/try/dstr-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index d4842f310fc39d039f375883746f9173f1c233d7..0000000000000000000000000000000000000000
--- a/test/language/statements/try/dstr-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/try.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (try statement)
-esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    Catch : catch ( CatchParameter ) Block
-
-    [...]
-    5. Let status be the result of performing BindingInitialization for
-       CatchParameter passing thrownValue and catchEnv as arguments.
-    [...]
----*/
-var obj = {a: 3, b: 4};
-
-var ranCatch = false;
-
-try {
-  throw {a: 1, b: 2, c: 3, d: 4, e: 5};
-} catch ({a, b, ...{c, e}}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-  assert.sameValue(e, 5);
-
-  ranCatch = true;
-}
-
-assert(ranCatch, 'executed `catch` block');
diff --git a/test/language/statements/try/dstr-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/try/dstr-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index ec7481ee496e823a9ebd8fd32f61e0f9e26dab8d..0000000000000000000000000000000000000000
--- a/test/language/statements/try/dstr-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/try.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (try statement)
-esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    Catch : catch ( CatchParameter ) Block
-
-    [...]
-    5. Let status be the result of performing BindingInitialization for
-       CatchParameter passing thrownValue and catchEnv as arguments.
-    [...]
----*/
-
-var ranCatch = false;
-
-try {
-  throw {a: 1, b: 2, c: 3, d: 4, e: 5};
-} catch ({a, b, ...{c, ...rest}}) {
-  assert.sameValue(a, 1);
-  assert.sameValue(b, 2);
-  assert.sameValue(c, 3);
-
-  assert.sameValue(rest.d, 4);
-  assert.sameValue(rest.e, 5);
-
-  verifyEnumerable(rest, "d");
-  verifyWritable(rest, "d");
-  verifyConfigurable(rest, "d");
-
-  verifyEnumerable(rest, "e");
-  verifyWritable(rest, "e");
-  verifyConfigurable(rest, "e");
-
-  ranCatch = true;
-}
-
-assert(ranCatch, 'executed `catch` block');
diff --git a/test/language/statements/try/dstr-obj-ptrn-rest-obj-own-property.js b/test/language/statements/try/dstr-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 37d7731e1400804e0bae6c3d178b301f673234c3..0000000000000000000000000000000000000000
--- a/test/language/statements/try/dstr-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/try.template
-/*---
-description: Rest object contains just soruce object's own properties (try statement)
-esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    Catch : catch ( CatchParameter ) Block
-
-    [...]
-    5. Let status be the result of performing BindingInitialization for
-       CatchParameter passing thrownValue and catchEnv as arguments.
-    [...]
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var ranCatch = false;
-
-try {
-  throw o;
-} catch ({ x, ...{y , z} }) {
-  assert.sameValue(x, 1);
-  assert.sameValue(y, undefined);
-  assert.sameValue(z, 3);
-
-  ranCatch = true;
-}
-
-assert(ranCatch, 'executed `catch` block');
diff --git a/test/language/statements/variable/dstr-obj-ptrn-rest-nested-obj.js b/test/language/statements/variable/dstr-obj-ptrn-rest-nested-obj.js
deleted file mode 100644
index 33c6b4293ec88cf6cda729c3f724aa9ff71a8427..0000000000000000000000000000000000000000
--- a/test/language/statements/variable/dstr-obj-ptrn-rest-nested-obj.js
+++ /dev/null
@@ -1,27 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-nested-obj.case
-// - src/dstr-binding/default/var-stmt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment. (`var` statement)
-esid: sec-variable-statement-runtime-semantics-evaluation
-es6id: 13.3.2.4
-features: [object-rest, destructuring-binding]
-flags: [generated]
-info: |
-    VariableDeclaration : BindingPattern Initializer
-
-    1. Let rhs be the result of evaluating Initializer.
-    2. Let rval be GetValue(rhs).
-    3. ReturnIfAbrupt(rval).
-    4. Return the result of performing BindingInitialization for
-       BindingPattern passing rval and undefined as arguments.
----*/
-var obj = {a: 3, b: 4};
-
-var {a, b, ...{c, e}} = {a: 1, b: 2, c: 3, d: 4, e: 5};
-
-assert.sameValue(a, 1);
-assert.sameValue(b, 2);
-assert.sameValue(c, 3);
-assert.sameValue(e, 5);
-
diff --git a/test/language/statements/variable/dstr-obj-ptrn-rest-obj-nested-rest.js b/test/language/statements/variable/dstr-obj-ptrn-rest-obj-nested-rest.js
deleted file mode 100644
index 988b1094c2e2d4b6651384c00964cd44ee718a9c..0000000000000000000000000000000000000000
--- a/test/language/statements/variable/dstr-obj-ptrn-rest-obj-nested-rest.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-nested-rest.case
-// - src/dstr-binding/default/var-stmt.template
-/*---
-description: When DestructuringAssignmentTarget is an object literal, it should be parsed parsed as a DestructuringAssignmentPattern and evaluated as a destructuring assignment and object rest desconstruction is allowed in that case. (`var` statement)
-esid: sec-variable-statement-runtime-semantics-evaluation
-es6id: 13.3.2.4
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    VariableDeclaration : BindingPattern Initializer
-
-    1. Let rhs be the result of evaluating Initializer.
-    2. Let rval be GetValue(rhs).
-    3. ReturnIfAbrupt(rval).
-    4. Return the result of performing BindingInitialization for
-       BindingPattern passing rval and undefined as arguments.
----*/
-
-var {a, b, ...{c, ...rest}} = {a: 1, b: 2, c: 3, d: 4, e: 5};
-
-assert.sameValue(a, 1);
-assert.sameValue(b, 2);
-assert.sameValue(c, 3);
-
-assert.sameValue(rest.d, 4);
-assert.sameValue(rest.e, 5);
-
-verifyEnumerable(rest, "d");
-verifyWritable(rest, "d");
-verifyConfigurable(rest, "d");
-
-verifyEnumerable(rest, "e");
-verifyWritable(rest, "e");
-verifyConfigurable(rest, "e");
-
diff --git a/test/language/statements/variable/dstr-obj-ptrn-rest-obj-own-property.js b/test/language/statements/variable/dstr-obj-ptrn-rest-obj-own-property.js
deleted file mode 100644
index 53d6bb9d90a6f1e5f26aa6d64b5dac2c5b6b8df4..0000000000000000000000000000000000000000
--- a/test/language/statements/variable/dstr-obj-ptrn-rest-obj-own-property.js
+++ /dev/null
@@ -1,28 +0,0 @@
-// This file was procedurally generated from the following sources:
-// - src/dstr-binding/obj-ptrn-rest-obj-own-property.case
-// - src/dstr-binding/default/var-stmt.template
-/*---
-description: Rest object contains just soruce object's own properties (`var` statement)
-esid: sec-variable-statement-runtime-semantics-evaluation
-es6id: 13.3.2.4
-features: [object-rest, destructuring-binding]
-flags: [generated]
-includes: [propertyHelper.js]
-info: |
-    VariableDeclaration : BindingPattern Initializer
-
-    1. Let rhs be the result of evaluating Initializer.
-    2. Let rval be GetValue(rhs).
-    3. ReturnIfAbrupt(rval).
-    4. Return the result of performing BindingInitialization for
-       BindingPattern passing rval and undefined as arguments.
----*/
-var o = Object.create({ x: 1, y: 2 });
-o.z = 3;
-
-var { x, ...{y , z} } = o;
-
-assert.sameValue(x, 1);
-assert.sameValue(y, undefined);
-assert.sameValue(z, 3);
-