From 2dd8e8b2c4c4268609c3afdb52e3328431a9f3af Mon Sep 17 00:00:00 2001
From: Rick Waldron <waldron.rick@gmail.com>
Date: Fri, 23 Jun 2017 13:21:39 -0400
Subject: [PATCH] Throw away tests

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
---
 .../dstr-dflt-obj-ptrn-rest-nested-obj.js     | 54 -----------
 ...dstr-dflt-obj-ptrn-rest-obj-nested-rest.js | 64 -------------
 ...str-dflt-obj-ptrn-rest-obj-own-property.js | 55 ------------
 .../dstr-obj-ptrn-rest-nested-obj.js          | 54 -----------
 .../dstr-obj-ptrn-rest-obj-nested-rest.js     | 64 -------------
 .../dstr-obj-ptrn-rest-obj-own-property.js    | 55 ------------
 .../dstr-dflt-obj-ptrn-rest-nested-obj.js     | 35 --------
 ...dstr-dflt-obj-ptrn-rest-obj-nested-rest.js | 45 ----------
 ...str-dflt-obj-ptrn-rest-obj-own-property.js | 36 --------
 ...str-named-dflt-obj-ptrn-rest-nested-obj.js | 35 --------
 ...amed-dflt-obj-ptrn-rest-obj-nested-rest.js | 45 ----------
 ...med-dflt-obj-ptrn-rest-obj-own-property.js | 36 --------
 .../dstr-named-obj-ptrn-rest-nested-obj.js    | 35 --------
 ...str-named-obj-ptrn-rest-obj-nested-rest.js | 45 ----------
 ...tr-named-obj-ptrn-rest-obj-own-property.js | 36 --------
 .../dstr-obj-ptrn-rest-nested-obj.js          | 35 --------
 .../dstr-obj-ptrn-rest-obj-nested-rest.js     | 45 ----------
 .../dstr-obj-ptrn-rest-obj-own-property.js    | 36 --------
 ...-gen-meth-dflt-obj-ptrn-rest-nested-obj.js | 60 -------------
 ...meth-dflt-obj-ptrn-rest-obj-nested-rest.js | 70 ---------------
 ...eth-dflt-obj-ptrn-rest-obj-own-property.js | 61 -------------
 ...async-gen-meth-obj-ptrn-rest-nested-obj.js | 60 -------------
 ...-gen-meth-obj-ptrn-rest-obj-nested-rest.js | 70 ---------------
 ...gen-meth-obj-ptrn-rest-obj-own-property.js | 61 -------------
 ...th-static-dflt-obj-ptrn-rest-nested-obj.js | 60 -------------
 ...atic-dflt-obj-ptrn-rest-obj-nested-rest.js | 70 ---------------
 ...tic-dflt-obj-ptrn-rest-obj-own-property.js | 61 -------------
 ...en-meth-static-obj-ptrn-rest-nested-obj.js | 60 -------------
 ...th-static-obj-ptrn-rest-obj-nested-rest.js | 70 ---------------
 ...h-static-obj-ptrn-rest-obj-own-property.js | 61 -------------
 ...-gen-meth-dflt-obj-ptrn-rest-nested-obj.js | 79 ----------------
 ...meth-dflt-obj-ptrn-rest-obj-nested-rest.js | 89 -------------------
 ...eth-dflt-obj-ptrn-rest-obj-own-property.js | 80 -----------------
 .../dstr-gen-meth-obj-ptrn-rest-nested-obj.js | 79 ----------------
 ...-gen-meth-obj-ptrn-rest-obj-nested-rest.js | 89 -------------------
 ...gen-meth-obj-ptrn-rest-obj-own-property.js | 80 -----------------
 ...th-static-dflt-obj-ptrn-rest-nested-obj.js | 79 ----------------
 ...atic-dflt-obj-ptrn-rest-obj-nested-rest.js | 89 -------------------
 ...tic-dflt-obj-ptrn-rest-obj-own-property.js | 80 -----------------
 ...en-meth-static-obj-ptrn-rest-nested-obj.js | 79 ----------------
 ...th-static-obj-ptrn-rest-obj-nested-rest.js | 89 -------------------
 ...h-static-obj-ptrn-rest-obj-own-property.js | 80 -----------------
 ...dstr-meth-dflt-obj-ptrn-rest-nested-obj.js | 76 ----------------
 ...meth-dflt-obj-ptrn-rest-obj-nested-rest.js | 86 ------------------
 ...eth-dflt-obj-ptrn-rest-obj-own-property.js | 77 ----------------
 .../dstr-meth-obj-ptrn-rest-nested-obj.js     | 76 ----------------
 ...dstr-meth-obj-ptrn-rest-obj-nested-rest.js | 86 ------------------
 ...str-meth-obj-ptrn-rest-obj-own-property.js | 77 ----------------
 ...th-static-dflt-obj-ptrn-rest-nested-obj.js | 76 ----------------
 ...atic-dflt-obj-ptrn-rest-obj-nested-rest.js | 86 ------------------
 ...tic-dflt-obj-ptrn-rest-obj-own-property.js | 77 ----------------
 ...tr-meth-static-obj-ptrn-rest-nested-obj.js | 76 ----------------
 ...th-static-obj-ptrn-rest-obj-nested-rest.js | 86 ------------------
 ...h-static-obj-ptrn-rest-obj-own-property.js | 77 ----------------
 .../dstr-dflt-obj-ptrn-rest-nested-obj.js     | 55 ------------
 ...dstr-dflt-obj-ptrn-rest-obj-nested-rest.js | 65 --------------
 ...str-dflt-obj-ptrn-rest-obj-own-property.js | 56 ------------
 .../function/dstr-obj-ptrn-rest-nested-obj.js | 55 ------------
 .../dstr-obj-ptrn-rest-obj-nested-rest.js     | 65 --------------
 .../dstr-obj-ptrn-rest-obj-own-property.js    | 56 ------------
 .../dstr-dflt-obj-ptrn-rest-nested-obj.js     | 55 ------------
 ...dstr-dflt-obj-ptrn-rest-obj-nested-rest.js | 65 --------------
 ...str-dflt-obj-ptrn-rest-obj-own-property.js | 56 ------------
 .../dstr-obj-ptrn-rest-nested-obj.js          | 55 ------------
 .../dstr-obj-ptrn-rest-obj-nested-rest.js     | 65 --------------
 .../dstr-obj-ptrn-rest-obj-own-property.js    | 56 ------------
 ...-gen-meth-dflt-obj-ptrn-rest-nested-obj.js | 41 ---------
 ...meth-dflt-obj-ptrn-rest-obj-nested-rest.js | 51 -----------
 ...eth-dflt-obj-ptrn-rest-obj-own-property.js | 42 ---------
 ...async-gen-meth-obj-ptrn-rest-nested-obj.js | 41 ---------
 ...-gen-meth-obj-ptrn-rest-obj-nested-rest.js | 51 -----------
 ...gen-meth-obj-ptrn-rest-obj-own-property.js | 42 ---------
 ...-gen-meth-dflt-obj-ptrn-rest-nested-obj.js | 61 -------------
 ...meth-dflt-obj-ptrn-rest-obj-nested-rest.js | 71 ---------------
 ...eth-dflt-obj-ptrn-rest-obj-own-property.js | 62 -------------
 .../dstr-gen-meth-obj-ptrn-rest-nested-obj.js | 61 -------------
 ...-gen-meth-obj-ptrn-rest-obj-nested-rest.js | 71 ---------------
 ...gen-meth-obj-ptrn-rest-obj-own-property.js | 62 -------------
 ...dstr-meth-dflt-obj-ptrn-rest-nested-obj.js | 58 ------------
 ...meth-dflt-obj-ptrn-rest-obj-nested-rest.js | 68 --------------
 ...eth-dflt-obj-ptrn-rest-obj-own-property.js | 59 ------------
 .../dstr-meth-obj-ptrn-rest-nested-obj.js     | 58 ------------
 ...dstr-meth-obj-ptrn-rest-obj-nested-rest.js | 68 --------------
 ...str-meth-obj-ptrn-rest-obj-own-property.js | 59 ------------
 .../dstr-dflt-obj-ptrn-rest-nested-obj.js     | 33 -------
 ...dstr-dflt-obj-ptrn-rest-obj-nested-rest.js | 43 ---------
 ...str-dflt-obj-ptrn-rest-obj-own-property.js | 34 -------
 .../dstr-obj-ptrn-rest-nested-obj.js          | 33 -------
 .../dstr-obj-ptrn-rest-obj-nested-rest.js     | 43 ---------
 .../dstr-obj-ptrn-rest-obj-own-property.js    | 34 -------
 ...-gen-meth-dflt-obj-ptrn-rest-nested-obj.js | 59 ------------
 ...meth-dflt-obj-ptrn-rest-obj-nested-rest.js | 69 --------------
 ...eth-dflt-obj-ptrn-rest-obj-own-property.js | 60 -------------
 ...async-gen-meth-obj-ptrn-rest-nested-obj.js | 59 ------------
 ...-gen-meth-obj-ptrn-rest-obj-nested-rest.js | 69 --------------
 ...gen-meth-obj-ptrn-rest-obj-own-property.js | 60 -------------
 ...th-static-dflt-obj-ptrn-rest-nested-obj.js | 59 ------------
 ...atic-dflt-obj-ptrn-rest-obj-nested-rest.js | 69 --------------
 ...tic-dflt-obj-ptrn-rest-obj-own-property.js | 60 -------------
 ...en-meth-static-obj-ptrn-rest-nested-obj.js | 59 ------------
 ...th-static-obj-ptrn-rest-obj-nested-rest.js | 69 --------------
 ...h-static-obj-ptrn-rest-obj-own-property.js | 60 -------------
 ...-gen-meth-dflt-obj-ptrn-rest-nested-obj.js | 77 ----------------
 ...meth-dflt-obj-ptrn-rest-obj-nested-rest.js | 87 ------------------
 ...eth-dflt-obj-ptrn-rest-obj-own-property.js | 78 ----------------
 .../dstr-gen-meth-obj-ptrn-rest-nested-obj.js | 77 ----------------
 ...-gen-meth-obj-ptrn-rest-obj-nested-rest.js | 87 ------------------
 ...gen-meth-obj-ptrn-rest-obj-own-property.js | 78 ----------------
 ...th-static-dflt-obj-ptrn-rest-nested-obj.js | 77 ----------------
 ...atic-dflt-obj-ptrn-rest-obj-nested-rest.js | 87 ------------------
 ...tic-dflt-obj-ptrn-rest-obj-own-property.js | 78 ----------------
 ...en-meth-static-obj-ptrn-rest-nested-obj.js | 77 ----------------
 ...th-static-obj-ptrn-rest-obj-nested-rest.js | 87 ------------------
 ...h-static-obj-ptrn-rest-obj-own-property.js | 78 ----------------
 ...dstr-meth-dflt-obj-ptrn-rest-nested-obj.js | 75 ----------------
 ...meth-dflt-obj-ptrn-rest-obj-nested-rest.js | 85 ------------------
 ...eth-dflt-obj-ptrn-rest-obj-own-property.js | 76 ----------------
 .../dstr-meth-obj-ptrn-rest-nested-obj.js     | 75 ----------------
 ...dstr-meth-obj-ptrn-rest-obj-nested-rest.js | 85 ------------------
 ...str-meth-obj-ptrn-rest-obj-own-property.js | 76 ----------------
 ...th-static-dflt-obj-ptrn-rest-nested-obj.js | 75 ----------------
 ...atic-dflt-obj-ptrn-rest-obj-nested-rest.js | 85 ------------------
 ...tic-dflt-obj-ptrn-rest-obj-own-property.js | 76 ----------------
 ...tr-meth-static-obj-ptrn-rest-nested-obj.js | 75 ----------------
 ...th-static-obj-ptrn-rest-obj-nested-rest.js | 85 ------------------
 ...h-static-obj-ptrn-rest-obj-own-property.js | 76 ----------------
 .../const/dstr-obj-ptrn-rest-nested-obj.js    | 28 ------
 .../dstr-obj-ptrn-rest-obj-nested-rest.js     | 38 --------
 .../dstr-obj-ptrn-rest-obj-own-property.js    | 29 ------
 .../dstr-const-obj-ptrn-rest-nested-obj.js    | 53 -----------
 ...str-const-obj-ptrn-rest-obj-nested-rest.js | 63 -------------
 ...tr-const-obj-ptrn-rest-obj-own-property.js | 54 -----------
 .../dstr-let-obj-ptrn-rest-nested-obj.js      | 53 -----------
 .../dstr-let-obj-ptrn-rest-obj-nested-rest.js | 63 -------------
 ...dstr-let-obj-ptrn-rest-obj-own-property.js | 54 -----------
 .../dstr-var-obj-ptrn-rest-nested-obj.js      | 50 -----------
 .../dstr-var-obj-ptrn-rest-obj-nested-rest.js | 60 -------------
 ...dstr-var-obj-ptrn-rest-obj-own-property.js | 51 -----------
 .../dstr-const-obj-ptrn-rest-nested-obj.js    | 53 -----------
 ...str-const-obj-ptrn-rest-obj-nested-rest.js | 63 -------------
 ...tr-const-obj-ptrn-rest-obj-own-property.js | 54 -----------
 .../for/dstr-let-obj-ptrn-rest-nested-obj.js  | 53 -----------
 .../dstr-let-obj-ptrn-rest-obj-nested-rest.js | 63 -------------
 ...dstr-let-obj-ptrn-rest-obj-own-property.js | 54 -----------
 .../for/dstr-var-obj-ptrn-rest-nested-obj.js  | 46 ----------
 .../dstr-var-obj-ptrn-rest-obj-nested-rest.js | 56 ------------
 ...dstr-var-obj-ptrn-rest-obj-own-property.js | 47 ----------
 .../dstr-dflt-obj-ptrn-rest-nested-obj.js     | 54 -----------
 ...dstr-dflt-obj-ptrn-rest-obj-nested-rest.js | 64 -------------
 ...str-dflt-obj-ptrn-rest-obj-own-property.js | 55 ------------
 .../function/dstr-obj-ptrn-rest-nested-obj.js | 54 -----------
 .../dstr-obj-ptrn-rest-obj-nested-rest.js     | 64 -------------
 .../dstr-obj-ptrn-rest-obj-own-property.js    | 55 ------------
 .../dstr-dflt-obj-ptrn-rest-nested-obj.js     | 53 -----------
 ...dstr-dflt-obj-ptrn-rest-obj-nested-rest.js | 63 -------------
 ...str-dflt-obj-ptrn-rest-obj-own-property.js | 54 -----------
 .../dstr-obj-ptrn-rest-nested-obj.js          | 53 -----------
 .../dstr-obj-ptrn-rest-obj-nested-rest.js     | 63 -------------
 .../dstr-obj-ptrn-rest-obj-own-property.js    | 54 -----------
 .../let/dstr-obj-ptrn-rest-nested-obj.js      | 28 ------
 .../let/dstr-obj-ptrn-rest-obj-nested-rest.js | 38 --------
 .../dstr-obj-ptrn-rest-obj-own-property.js    | 29 ------
 .../try/dstr-obj-ptrn-rest-nested-obj.js      | 33 -------
 .../try/dstr-obj-ptrn-rest-obj-nested-rest.js | 43 ---------
 .../dstr-obj-ptrn-rest-obj-own-property.js    | 34 -------
 .../variable/dstr-obj-ptrn-rest-nested-obj.js | 27 ------
 .../dstr-obj-ptrn-rest-obj-nested-rest.js     | 37 --------
 .../dstr-obj-ptrn-rest-obj-own-property.js    | 28 ------
 168 files changed, 10204 deletions(-)
 delete mode 100644 test/language/expressions/arrow-function/dstr-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/arrow-function/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/arrow-function/dstr-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/arrow-function/dstr-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/arrow-function/dstr-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/arrow-function/dstr-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/async-generator/dstr-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/async-generator/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/async-generator/dstr-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/async-generator/dstr-named-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/async-generator/dstr-named-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/async-generator/dstr-named-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/async-generator/dstr-named-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/async-generator/dstr-named-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/async-generator/dstr-named-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/async-generator/dstr-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/async-generator/dstr-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/async-generator/dstr-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/class/dstr-async-gen-meth-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/class/dstr-async-gen-meth-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/class/dstr-async-gen-meth-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/class/dstr-async-gen-meth-static-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/class/dstr-async-gen-meth-static-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/class/dstr-async-gen-meth-static-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/class/dstr-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/class/dstr-gen-meth-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/class/dstr-gen-meth-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/class/dstr-gen-meth-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/class/dstr-gen-meth-static-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/class/dstr-gen-meth-static-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/class/dstr-gen-meth-static-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/class/dstr-meth-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/class/dstr-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/class/dstr-meth-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/class/dstr-meth-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/class/dstr-meth-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/class/dstr-meth-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/class/dstr-meth-static-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/class/dstr-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/class/dstr-meth-static-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/class/dstr-meth-static-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/class/dstr-meth-static-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/class/dstr-meth-static-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/function/dstr-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/function/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/function/dstr-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/function/dstr-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/function/dstr-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/function/dstr-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/generators/dstr-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/generators/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/generators/dstr-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/generators/dstr-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/generators/dstr-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/generators/dstr-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/object/dstr-async-gen-meth-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/object/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/object/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/object/dstr-async-gen-meth-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/object/dstr-async-gen-meth-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/object/dstr-async-gen-meth-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/object/dstr-gen-meth-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/object/dstr-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/object/dstr-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/object/dstr-gen-meth-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/object/dstr-gen-meth-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/object/dstr-gen-meth-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/object/dstr-meth-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/object/dstr-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/object/dstr-meth-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/expressions/object/dstr-meth-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/expressions/object/dstr-meth-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/expressions/object/dstr-meth-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/async-generator/dstr-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/async-generator/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/async-generator/dstr-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/async-generator/dstr-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/async-generator/dstr-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/async-generator/dstr-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/class/dstr-async-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/class/dstr-async-gen-meth-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/class/dstr-async-gen-meth-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/class/dstr-async-gen-meth-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/class/dstr-async-gen-meth-static-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/class/dstr-async-gen-meth-static-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/class/dstr-async-gen-meth-static-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/class/dstr-async-gen-meth-static-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/class/dstr-gen-meth-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/class/dstr-gen-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/class/dstr-gen-meth-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/class/dstr-gen-meth-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/class/dstr-gen-meth-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/class/dstr-gen-meth-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/class/dstr-gen-meth-static-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/class/dstr-gen-meth-static-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/class/dstr-gen-meth-static-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/class/dstr-meth-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/class/dstr-meth-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/class/dstr-meth-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/class/dstr-meth-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/class/dstr-meth-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/class/dstr-meth-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/class/dstr-meth-static-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/class/dstr-meth-static-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/class/dstr-meth-static-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/class/dstr-meth-static-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/class/dstr-meth-static-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/class/dstr-meth-static-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/const/dstr-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/const/dstr-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/const/dstr-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/for-of/dstr-const-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/for-of/dstr-const-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/for-of/dstr-const-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/for-of/dstr-let-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/for-of/dstr-let-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/for-of/dstr-let-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/for-of/dstr-var-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/for-of/dstr-var-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/for-of/dstr-var-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/for/dstr-const-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/for/dstr-const-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/for/dstr-const-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/for/dstr-let-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/for/dstr-let-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/for/dstr-let-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/for/dstr-var-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/for/dstr-var-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/for/dstr-var-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/function/dstr-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/function/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/function/dstr-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/function/dstr-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/function/dstr-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/function/dstr-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/generators/dstr-dflt-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/generators/dstr-dflt-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/generators/dstr-dflt-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/generators/dstr-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/generators/dstr-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/generators/dstr-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/let/dstr-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/let/dstr-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/let/dstr-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/try/dstr-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/try/dstr-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/try/dstr-obj-ptrn-rest-obj-own-property.js
 delete mode 100644 test/language/statements/variable/dstr-obj-ptrn-rest-nested-obj.js
 delete mode 100644 test/language/statements/variable/dstr-obj-ptrn-rest-obj-nested-rest.js
 delete mode 100644 test/language/statements/variable/dstr-obj-ptrn-rest-obj-own-property.js

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 c2cf817892..0000000000
--- 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 f0c2c8b2a6..0000000000
--- 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 a94440a4c3..0000000000
--- 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 854083b15f..0000000000
--- 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 b7556529aa..0000000000
--- 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 9342b9db2a..0000000000
--- 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 e5581027c3..0000000000
--- 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 78760f9db3..0000000000
--- 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 c38d2cbe4b..0000000000
--- 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 2ccaf0a4cc..0000000000
--- 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 d8166ce9df..0000000000
--- 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 0ffbd75876..0000000000
--- 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 36487dff1c..0000000000
--- 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 3f79edd09d..0000000000
--- 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 6273ad4ec6..0000000000
--- 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 16c0f9eb23..0000000000
--- 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 854b52ccd6..0000000000
--- 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 39bdafac03..0000000000
--- 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 b3ed496cc3..0000000000
--- 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 127c087f47..0000000000
--- 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 1063c51316..0000000000
--- 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 e83d4dc3a9..0000000000
--- 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 e4ef8f5ee8..0000000000
--- 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 cb68697d2c..0000000000
--- 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 c38608d717..0000000000
--- 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 44356e558a..0000000000
--- 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 b29943b226..0000000000
--- 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 4165882014..0000000000
--- 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 9fef08d8f5..0000000000
--- 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 8aced52ed5..0000000000
--- 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 7e100f7446..0000000000
--- 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 6d9eac0eb2..0000000000
--- 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 747ec146b7..0000000000
--- 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 ace72fb235..0000000000
--- 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 e607e28e91..0000000000
--- 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 e894845bb1..0000000000
--- 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 0bb971a6b1..0000000000
--- 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 299e230983..0000000000
--- 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 e34ca1f0ee..0000000000
--- 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 2ddd8e2b8a..0000000000
--- 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 e330af9afc..0000000000
--- 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 66797f7bb2..0000000000
--- 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 86cf01270a..0000000000
--- 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 ae805f6512..0000000000
--- 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 a3fcf5edc2..0000000000
--- 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 c1348f7a4e..0000000000
--- 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 e744762837..0000000000
--- 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 8689f02437..0000000000
--- 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 44dd524299..0000000000
--- 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 4d1c0c24cf..0000000000
--- 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 2fbe57ff5c..0000000000
--- 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 8883be6039..0000000000
--- 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 fef91321de..0000000000
--- 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 e79dc5ddd6..0000000000
--- 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 508f447de4..0000000000
--- 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 b7a47a37af..0000000000
--- 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 614e4c5f90..0000000000
--- 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 fb437e20a0..0000000000
--- 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 f8d7d97d6e..0000000000
--- 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 a9573adb8a..0000000000
--- 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 be05596c7e..0000000000
--- 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 dd455868b1..0000000000
--- 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 76b609c3dc..0000000000
--- 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 c10fcd34db..0000000000
--- 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 9061739e0f..0000000000
--- 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 9c8b1a92c7..0000000000
--- 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 f63273a365..0000000000
--- 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 487bd37f6b..0000000000
--- 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 da7c5c2d6c..0000000000
--- 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 dc8656436d..0000000000
--- 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 293ed0b947..0000000000
--- 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 49bcdc12e2..0000000000
--- 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 2ea4d3f5a7..0000000000
--- 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 d2afe92b21..0000000000
--- 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 4cf32a108c..0000000000
--- 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 1577f96955..0000000000
--- 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 4919ab8d42..0000000000
--- 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 88f145379b..0000000000
--- 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 19d43fd07a..0000000000
--- 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 05a82c44b2..0000000000
--- 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 3bf80fa595..0000000000
--- 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 97c0ad2b3a..0000000000
--- 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 b94801cc58..0000000000
--- 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 2be6eb8006..0000000000
--- 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 e7964d7775..0000000000
--- 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 eda3449d83..0000000000
--- 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 566815cc88..0000000000
--- 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 f2d1c54114..0000000000
--- 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 b812d0176f..0000000000
--- 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 f3aa462c94..0000000000
--- 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 300eda3b76..0000000000
--- 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 9590ee3bef..0000000000
--- 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 a7c08983ce..0000000000
--- 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 b6c25081b9..0000000000
--- 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 fbc5c773b1..0000000000
--- 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 b46a2a039e..0000000000
--- 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 94742bd3d1..0000000000
--- 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 60457bdb8e..0000000000
--- 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 7231ecb917..0000000000
--- 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 8f690fbd7d..0000000000
--- 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 a6c7c54433..0000000000
--- 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 2f505b2b15..0000000000
--- 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 1831722fbe..0000000000
--- 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 a851729828..0000000000
--- 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 e54ee8a0a1..0000000000
--- 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 a68a95be01..0000000000
--- 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 150a082c7e..0000000000
--- 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 5907387347..0000000000
--- 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 7a0d3358ce..0000000000
--- 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 fbf6726f5a..0000000000
--- 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 b13529fb2f..0000000000
--- 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 24658ee660..0000000000
--- 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 c07515a7e9..0000000000
--- 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 014f9c12d6..0000000000
--- 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 343eb175b6..0000000000
--- 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 925c6828c5..0000000000
--- 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 c97657d407..0000000000
--- 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 1828a98eda..0000000000
--- 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 3226bed18e..0000000000
--- 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 1e6927b0e0..0000000000
--- 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 6ef602932a..0000000000
--- 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 22aafbfed3..0000000000
--- 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 6bde3ee862..0000000000
--- 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 f76ee9e499..0000000000
--- 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 c1b27b9b59..0000000000
--- 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 6027e9741b..0000000000
--- 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 2df1947662..0000000000
--- 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 51c96a7436..0000000000
--- 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 3ee01ddf6c..0000000000
--- 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 4f92797bf6..0000000000
--- 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 61b50a6bad..0000000000
--- 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 7c950ba328..0000000000
--- 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 2de089a289..0000000000
--- 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 de64a87ba2..0000000000
--- 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 25eb38e713..0000000000
--- 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 df23fb9b55..0000000000
--- 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 fe437ed4b5..0000000000
--- 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 6a0925d9da..0000000000
--- 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 401f3ba31c..0000000000
--- 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 354f87415b..0000000000
--- 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 c706b63fa5..0000000000
--- 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 9b890eb08a..0000000000
--- 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 3ad2dadaea..0000000000
--- 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 dd2ea4ac4c..0000000000
--- 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 5f54bce9f6..0000000000
--- 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 3d2cccc5bc..0000000000
--- 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 f7fcdcd6b9..0000000000
--- 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 8994226557..0000000000
--- 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 414d9284da..0000000000
--- 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 ecac13db1a..0000000000
--- 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 ad76397039..0000000000
--- 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 16c835fdb6..0000000000
--- 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 97b7ab6620..0000000000
--- 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 688994b764..0000000000
--- 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 4e2b543b43..0000000000
--- 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 8edb8b1274..0000000000
--- 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 06103c8a3f..0000000000
--- 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 64e27e04c1..0000000000
--- 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 2e87e402df..0000000000
--- 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 fdd95a7b8a..0000000000
--- 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 699a53a0a7..0000000000
--- 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 da2ffb9d72..0000000000
--- 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 d4842f310f..0000000000
--- 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 ec7481ee49..0000000000
--- 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 37d7731e14..0000000000
--- 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 33c6b4293e..0000000000
--- 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 988b1094c2..0000000000
--- 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 53d6bb9d90..0000000000
--- 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);
-
-- 
GitLab