From 672cfcf220ae91c9044d6ad1586264561b08f993 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Bargull?= <andre.bargull@gmail.com>
Date: Fri, 1 Sep 2017 23:45:01 +0200
Subject: [PATCH] Regenerate tests

---
 ...elds-after-same-line-gen-computed-names.js |  2 +-
 ...fter-same-line-gen-string-literal-names.js | 30 +++++++++++++++
 ...s-after-same-line-method-computed-names.js |  2 +-
 ...r-same-line-method-string-literal-names.js | 30 +++++++++++++++
 ...me-line-static-async-gen-computed-names.js |  7 ++--
 ...-static-async-gen-computed-symbol-names.js |  5 ++-
 ...ame-line-static-async-gen-literal-names.js |  5 ++-
 ...-static-async-gen-static-computed-names.js |  5 ++-
 ...-async-gen-static-computed-symbol-names.js |  5 ++-
 ...e-static-async-gen-static-literal-names.js |  5 ++-
 ...e-static-async-gen-string-literal-names.js | 35 ++++++++++++++++-
 ...line-static-async-method-computed-names.js |  4 +-
 ...atic-async-method-computed-symbol-names.js |  2 +-
 ...-line-static-async-method-literal-names.js |  2 +-
 ...atic-async-method-static-computed-names.js |  2 +-
 ...ync-method-static-computed-symbol-names.js |  2 +-
 ...tatic-async-method-static-literal-names.js |  2 +-
 ...tatic-async-method-string-literal-names.js | 32 +++++++++++++++-
 ...ter-same-line-static-gen-computed-names.js |  2 +-
 ...me-line-static-gen-string-literal-names.js | 30 +++++++++++++++
 ...-same-line-static-method-computed-names.js |  2 +-
 ...line-static-method-string-literal-names.js | 30 +++++++++++++++
 ...lds-multiple-definitions-computed-names.js |  6 +--
 ...tiple-definitions-computed-symbol-names.js |  4 +-
 ...elds-multiple-definitions-literal-names.js |  4 +-
 ...tiple-definitions-static-computed-names.js |  4 +-
 ...efinitions-static-computed-symbol-names.js |  4 +-
 ...ltiple-definitions-static-literal-names.js |  4 +-
 ...ltiple-definitions-string-literal-names.js | 34 ++++++++++++++++-
 ...iple-stacked-definitions-computed-names.js | 10 ++---
 ...acked-definitions-computed-symbol-names.js |  8 +---
 ...tiple-stacked-definitions-literal-names.js |  8 +---
 ...acked-definitions-static-computed-names.js |  8 +---
 ...efinitions-static-computed-symbol-names.js |  8 +---
 ...tacked-definitions-static-literal-names.js |  8 +---
 ...tacked-definitions-string-literal-names.js | 38 ++++++++++++++++---
 ...ds-new-no-sc-line-method-computed-names.js |  2 +-
 ...-no-sc-line-method-string-literal-names.js | 30 +++++++++++++++
 .../fields-new-sc-line-gen-computed-names.js  |  4 +-
 ...s-new-sc-line-gen-computed-symbol-names.js |  2 +-
 .../fields-new-sc-line-gen-literal-names.js   |  2 +-
 ...s-new-sc-line-gen-static-computed-names.js |  2 +-
 ...c-line-gen-static-computed-symbol-names.js |  2 +-
 ...ds-new-sc-line-gen-static-literal-names.js |  2 +-
 ...ds-new-sc-line-gen-string-literal-names.js | 32 +++++++++++++++-
 ...ields-new-sc-line-method-computed-names.js |  2 +-
 ...new-sc-line-method-string-literal-names.js | 30 +++++++++++++++
 ...elds-regular-definitions-computed-names.js |  2 +-
 ...egular-definitions-string-literal-names.js | 30 +++++++++++++++
 ...elds-same-line-async-gen-computed-names.js |  7 ++--
 ...me-line-async-gen-computed-symbol-names.js |  5 ++-
 ...ields-same-line-async-gen-literal-names.js |  5 ++-
 ...me-line-async-gen-static-computed-names.js |  5 ++-
 ...-async-gen-static-computed-symbol-names.js |  5 ++-
 ...ame-line-async-gen-static-literal-names.js |  5 ++-
 ...ame-line-async-gen-string-literal-names.js | 35 ++++++++++++++++-
 ...s-same-line-async-method-computed-names.js |  4 +-
 ...line-async-method-computed-symbol-names.js |  2 +-
 ...ds-same-line-async-method-literal-names.js |  2 +-
 ...line-async-method-static-computed-names.js |  2 +-
 ...ync-method-static-computed-symbol-names.js |  2 +-
 ...-line-async-method-static-literal-names.js |  2 +-
 ...-line-async-method-string-literal-names.js | 32 +++++++++++++++-
 .../fields-same-line-gen-computed-names.js    |  2 +-
 ...elds-same-line-gen-string-literal-names.js | 30 +++++++++++++++
 .../fields-same-line-method-computed-names.js |  2 +-
 ...s-same-line-method-string-literal-names.js | 30 +++++++++++++++
 .../fields-wrapped-in-sc-computed-names.js    |  2 +-
 ...elds-wrapped-in-sc-string-literal-names.js | 30 +++++++++++++++
 ...elds-after-same-line-gen-computed-names.js |  2 +-
 ...fter-same-line-gen-string-literal-names.js | 30 +++++++++++++++
 ...s-after-same-line-method-computed-names.js |  2 +-
 ...r-same-line-method-string-literal-names.js | 30 +++++++++++++++
 ...me-line-static-async-gen-computed-names.js |  7 ++--
 ...-static-async-gen-computed-symbol-names.js |  5 ++-
 ...ame-line-static-async-gen-literal-names.js |  5 ++-
 ...-static-async-gen-static-computed-names.js |  5 ++-
 ...-async-gen-static-computed-symbol-names.js |  5 ++-
 ...e-static-async-gen-static-literal-names.js |  5 ++-
 ...e-static-async-gen-string-literal-names.js | 35 ++++++++++++++++-
 ...line-static-async-method-computed-names.js |  4 +-
 ...atic-async-method-computed-symbol-names.js |  2 +-
 ...-line-static-async-method-literal-names.js |  2 +-
 ...atic-async-method-static-computed-names.js |  2 +-
 ...ync-method-static-computed-symbol-names.js |  2 +-
 ...tatic-async-method-static-literal-names.js |  2 +-
 ...tatic-async-method-string-literal-names.js | 32 +++++++++++++++-
 ...ter-same-line-static-gen-computed-names.js |  2 +-
 ...me-line-static-gen-string-literal-names.js | 30 +++++++++++++++
 ...-same-line-static-method-computed-names.js |  2 +-
 ...line-static-method-string-literal-names.js | 30 +++++++++++++++
 ...lds-multiple-definitions-computed-names.js |  6 +--
 ...tiple-definitions-computed-symbol-names.js |  4 +-
 ...elds-multiple-definitions-literal-names.js |  4 +-
 ...tiple-definitions-static-computed-names.js |  4 +-
 ...efinitions-static-computed-symbol-names.js |  4 +-
 ...ltiple-definitions-static-literal-names.js |  4 +-
 ...ltiple-definitions-string-literal-names.js | 34 ++++++++++++++++-
 ...iple-stacked-definitions-computed-names.js | 10 ++---
 ...acked-definitions-computed-symbol-names.js |  8 +---
 ...tiple-stacked-definitions-literal-names.js |  8 +---
 ...acked-definitions-static-computed-names.js |  8 +---
 ...efinitions-static-computed-symbol-names.js |  8 +---
 ...tacked-definitions-static-literal-names.js |  8 +---
 ...tacked-definitions-string-literal-names.js | 38 ++++++++++++++++---
 ...ds-new-no-sc-line-method-computed-names.js |  2 +-
 ...-no-sc-line-method-string-literal-names.js | 30 +++++++++++++++
 .../fields-new-sc-line-gen-computed-names.js  |  4 +-
 ...s-new-sc-line-gen-computed-symbol-names.js |  2 +-
 .../fields-new-sc-line-gen-literal-names.js   |  2 +-
 ...s-new-sc-line-gen-static-computed-names.js |  2 +-
 ...c-line-gen-static-computed-symbol-names.js |  2 +-
 ...ds-new-sc-line-gen-static-literal-names.js |  2 +-
 ...ds-new-sc-line-gen-string-literal-names.js | 32 +++++++++++++++-
 ...ields-new-sc-line-method-computed-names.js |  2 +-
 ...new-sc-line-method-string-literal-names.js | 30 +++++++++++++++
 ...elds-regular-definitions-computed-names.js |  2 +-
 ...egular-definitions-string-literal-names.js | 30 +++++++++++++++
 ...elds-same-line-async-gen-computed-names.js |  7 ++--
 ...me-line-async-gen-computed-symbol-names.js |  5 ++-
 ...ields-same-line-async-gen-literal-names.js |  5 ++-
 ...me-line-async-gen-static-computed-names.js |  5 ++-
 ...-async-gen-static-computed-symbol-names.js |  5 ++-
 ...ame-line-async-gen-static-literal-names.js |  5 ++-
 ...ame-line-async-gen-string-literal-names.js | 35 ++++++++++++++++-
 ...s-same-line-async-method-computed-names.js |  4 +-
 ...line-async-method-computed-symbol-names.js |  2 +-
 ...ds-same-line-async-method-literal-names.js |  2 +-
 ...line-async-method-static-computed-names.js |  2 +-
 ...ync-method-static-computed-symbol-names.js |  2 +-
 ...-line-async-method-static-literal-names.js |  2 +-
 ...-line-async-method-string-literal-names.js | 32 +++++++++++++++-
 .../fields-same-line-gen-computed-names.js    |  2 +-
 ...elds-same-line-gen-string-literal-names.js | 30 +++++++++++++++
 .../fields-same-line-method-computed-names.js |  2 +-
 ...s-same-line-method-string-literal-names.js | 30 +++++++++++++++
 .../fields-wrapped-in-sc-computed-names.js    |  2 +-
 ...elds-wrapped-in-sc-string-literal-names.js | 30 +++++++++++++++
 138 files changed, 1236 insertions(+), 244 deletions(-)

diff --git a/test/language/expressions/class/fields-after-same-line-gen-computed-names.js b/test/language/expressions/class/fields-after-same-line-gen-computed-names.js
index 491a1ce0b5..9f9b7ef8bc 100644
--- a/test/language/expressions/class/fields-after-same-line-gen-computed-names.js
+++ b/test/language/expressions/class/fields-after-same-line-gen-computed-names.js
@@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/expressions/class/fields-after-same-line-gen-string-literal-names.js b/test/language/expressions/class/fields-after-same-line-gen-string-literal-names.js
index 9f5829ef85..6f19d71f98 100644
--- a/test/language/expressions/class/fields-after-same-line-gen-string-literal-names.js
+++ b/test/language/expressions/class/fields-after-same-line-gen-string-literal-names.js
@@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/expressions/class/fields-after-same-line-method-computed-names.js b/test/language/expressions/class/fields-after-same-line-method-computed-names.js
index 66f1d7123d..8fe754570a 100644
--- a/test/language/expressions/class/fields-after-same-line-method-computed-names.js
+++ b/test/language/expressions/class/fields-after-same-line-method-computed-names.js
@@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/expressions/class/fields-after-same-line-method-string-literal-names.js b/test/language/expressions/class/fields-after-same-line-method-string-literal-names.js
index c14fcca44a..5300a0c8d1 100644
--- a/test/language/expressions/class/fields-after-same-line-method-string-literal-names.js
+++ b/test/language/expressions/class/fields-after-same-line-method-string-literal-names.js
@@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/expressions/class/fields-after-same-line-static-async-gen-computed-names.js b/test/language/expressions/class/fields-after-same-line-static-async-gen-computed-names.js
index 679fb40c39..c3b243b1e3 100644
--- a/test/language/expressions/class/fields-after-same-line-static-async-gen-computed-names.js
+++ b/test/language/expressions/class/fields-after-same-line-static-async-gen-computed-names.js
@@ -35,7 +35,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "a"), false);
@@ -75,12 +75,13 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
 });
 
 C.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/expressions/class/fields-after-same-line-static-async-gen-computed-symbol-names.js b/test/language/expressions/class/fields-after-same-line-static-async-gen-computed-symbol-names.js
index e7af43a6c7..2434978570 100644
--- a/test/language/expressions/class/fields-after-same-line-static-async-gen-computed-symbol-names.js
+++ b/test/language/expressions/class/fields-after-same-line-static-async-gen-computed-symbol-names.js
@@ -36,7 +36,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false);
 assert.sameValue(Object.hasOwnProperty.call(C, x), false);
@@ -67,5 +67,6 @@ assert.sameValue(Object.hasOwnProperty.call(C, "y"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "y"), false);
 
 C.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/expressions/class/fields-after-same-line-static-async-gen-literal-names.js b/test/language/expressions/class/fields-after-same-line-static-async-gen-literal-names.js
index 16404bf454..d8d86abf26 100644
--- a/test/language/expressions/class/fields-after-same-line-static-async-gen-literal-names.js
+++ b/test/language/expressions/class/fields-after-same-line-static-async-gen-literal-names.js
@@ -36,7 +36,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
@@ -70,5 +70,6 @@ verifyProperty(c, "c", {
 
 
 C.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/expressions/class/fields-after-same-line-static-async-gen-static-computed-names.js b/test/language/expressions/class/fields-after-same-line-static-async-gen-static-computed-names.js
index 8f3b539261..1d2c9a0372 100644
--- a/test/language/expressions/class/fields-after-same-line-static-async-gen-static-computed-names.js
+++ b/test/language/expressions/class/fields-after-same-line-static-async-gen-static-computed-names.js
@@ -34,7 +34,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 
@@ -53,5 +53,6 @@ verifyProperty(c, "a", {
 });
 
 C.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/expressions/class/fields-after-same-line-static-async-gen-static-computed-symbol-names.js b/test/language/expressions/class/fields-after-same-line-static-async-gen-static-computed-symbol-names.js
index 3181605459..811a826834 100644
--- a/test/language/expressions/class/fields-after-same-line-static-async-gen-static-computed-symbol-names.js
+++ b/test/language/expressions/class/fields-after-same-line-static-async-gen-static-computed-symbol-names.js
@@ -36,7 +36,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false);
 assert.sameValue(Object.hasOwnProperty.call(C, x), false);
@@ -67,5 +67,6 @@ assert.sameValue(Object.hasOwnProperty.call(C, "y"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "y"), false);
 
 C.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/expressions/class/fields-after-same-line-static-async-gen-static-literal-names.js b/test/language/expressions/class/fields-after-same-line-static-async-gen-static-literal-names.js
index de54ebf122..5032f33568 100644
--- a/test/language/expressions/class/fields-after-same-line-static-async-gen-static-literal-names.js
+++ b/test/language/expressions/class/fields-after-same-line-static-async-gen-static-literal-names.js
@@ -36,7 +36,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "a"), false);
@@ -70,5 +70,6 @@ verifyProperty(C, "c", {
 
 
 C.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/expressions/class/fields-after-same-line-static-async-gen-string-literal-names.js b/test/language/expressions/class/fields-after-same-line-static-async-gen-string-literal-names.js
index 02dabe035f..679ea63d9f 100644
--- a/test/language/expressions/class/fields-after-same-line-static-async-gen-string-literal-names.js
+++ b/test/language/expressions/class/fields-after-same-line-static-async-gen-string-literal-names.js
@@ -34,12 +34,42 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
@@ -47,5 +77,6 @@ verifyProperty(c, "a", {
 });
 
 C.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/expressions/class/fields-after-same-line-static-async-method-computed-names.js b/test/language/expressions/class/fields-after-same-line-static-async-method-computed-names.js
index 8f44260cff..74fd21f74c 100644
--- a/test/language/expressions/class/fields-after-same-line-static-async-method-computed-names.js
+++ b/test/language/expressions/class/fields-after-same-line-static-async-method-computed-names.js
@@ -35,7 +35,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "a"), false);
@@ -75,7 +75,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/expressions/class/fields-after-same-line-static-async-method-computed-symbol-names.js b/test/language/expressions/class/fields-after-same-line-static-async-method-computed-symbol-names.js
index 1375c6ab9c..92b1ebe4f7 100644
--- a/test/language/expressions/class/fields-after-same-line-static-async-method-computed-symbol-names.js
+++ b/test/language/expressions/class/fields-after-same-line-static-async-method-computed-symbol-names.js
@@ -36,7 +36,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false);
 assert.sameValue(Object.hasOwnProperty.call(C, x), false);
diff --git a/test/language/expressions/class/fields-after-same-line-static-async-method-literal-names.js b/test/language/expressions/class/fields-after-same-line-static-async-method-literal-names.js
index 7dc6938cef..6c4f1eee17 100644
--- a/test/language/expressions/class/fields-after-same-line-static-async-method-literal-names.js
+++ b/test/language/expressions/class/fields-after-same-line-static-async-method-literal-names.js
@@ -36,7 +36,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
diff --git a/test/language/expressions/class/fields-after-same-line-static-async-method-static-computed-names.js b/test/language/expressions/class/fields-after-same-line-static-async-method-static-computed-names.js
index 0237b05a47..efda60ad8e 100644
--- a/test/language/expressions/class/fields-after-same-line-static-async-method-static-computed-names.js
+++ b/test/language/expressions/class/fields-after-same-line-static-async-method-static-computed-names.js
@@ -34,7 +34,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 
diff --git a/test/language/expressions/class/fields-after-same-line-static-async-method-static-computed-symbol-names.js b/test/language/expressions/class/fields-after-same-line-static-async-method-static-computed-symbol-names.js
index 836856c7e9..d4a1a2f5d7 100644
--- a/test/language/expressions/class/fields-after-same-line-static-async-method-static-computed-symbol-names.js
+++ b/test/language/expressions/class/fields-after-same-line-static-async-method-static-computed-symbol-names.js
@@ -36,7 +36,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false);
 assert.sameValue(Object.hasOwnProperty.call(C, x), false);
diff --git a/test/language/expressions/class/fields-after-same-line-static-async-method-static-literal-names.js b/test/language/expressions/class/fields-after-same-line-static-async-method-static-literal-names.js
index 7c87e5a94d..14ad36f9a2 100644
--- a/test/language/expressions/class/fields-after-same-line-static-async-method-static-literal-names.js
+++ b/test/language/expressions/class/fields-after-same-line-static-async-method-static-literal-names.js
@@ -36,7 +36,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "a"), false);
diff --git a/test/language/expressions/class/fields-after-same-line-static-async-method-string-literal-names.js b/test/language/expressions/class/fields-after-same-line-static-async-method-string-literal-names.js
index ca6964e737..6cdf722408 100644
--- a/test/language/expressions/class/fields-after-same-line-static-async-method-string-literal-names.js
+++ b/test/language/expressions/class/fields-after-same-line-static-async-method-string-literal-names.js
@@ -34,12 +34,42 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/expressions/class/fields-after-same-line-static-gen-computed-names.js b/test/language/expressions/class/fields-after-same-line-static-gen-computed-names.js
index 1debe00c79..a49779eae4 100644
--- a/test/language/expressions/class/fields-after-same-line-static-gen-computed-names.js
+++ b/test/language/expressions/class/fields-after-same-line-static-gen-computed-names.js
@@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/expressions/class/fields-after-same-line-static-gen-string-literal-names.js b/test/language/expressions/class/fields-after-same-line-static-gen-string-literal-names.js
index c5bf79226d..20042a5ef3 100644
--- a/test/language/expressions/class/fields-after-same-line-static-gen-string-literal-names.js
+++ b/test/language/expressions/class/fields-after-same-line-static-gen-string-literal-names.js
@@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/expressions/class/fields-after-same-line-static-method-computed-names.js b/test/language/expressions/class/fields-after-same-line-static-method-computed-names.js
index d081cad3de..37be15ceb9 100644
--- a/test/language/expressions/class/fields-after-same-line-static-method-computed-names.js
+++ b/test/language/expressions/class/fields-after-same-line-static-method-computed-names.js
@@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/expressions/class/fields-after-same-line-static-method-string-literal-names.js b/test/language/expressions/class/fields-after-same-line-static-method-string-literal-names.js
index 63258c1da6..3dc5dfd8f4 100644
--- a/test/language/expressions/class/fields-after-same-line-static-method-string-literal-names.js
+++ b/test/language/expressions/class/fields-after-same-line-static-method-string-literal-names.js
@@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/expressions/class/fields-multiple-definitions-computed-names.js b/test/language/expressions/class/fields-multiple-definitions-computed-names.js
index 6f7b60ac1d..866ec5701b 100644
--- a/test/language/expressions/class/fields-multiple-definitions-computed-names.js
+++ b/test/language/expressions/class/fields-multiple-definitions-computed-names.js
@@ -58,7 +58,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -69,7 +69,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -112,7 +112,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/expressions/class/fields-multiple-definitions-computed-symbol-names.js b/test/language/expressions/class/fields-multiple-definitions-computed-symbol-names.js
index db85c6797f..bb8fe34cc9 100644
--- a/test/language/expressions/class/fields-multiple-definitions-computed-symbol-names.js
+++ b/test/language/expressions/class/fields-multiple-definitions-computed-symbol-names.js
@@ -59,7 +59,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -70,7 +70,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
diff --git a/test/language/expressions/class/fields-multiple-definitions-literal-names.js b/test/language/expressions/class/fields-multiple-definitions-literal-names.js
index 0cafb26555..03ebe8393e 100644
--- a/test/language/expressions/class/fields-multiple-definitions-literal-names.js
+++ b/test/language/expressions/class/fields-multiple-definitions-literal-names.js
@@ -59,7 +59,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -70,7 +70,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
diff --git a/test/language/expressions/class/fields-multiple-definitions-static-computed-names.js b/test/language/expressions/class/fields-multiple-definitions-static-computed-names.js
index fd2b7dab5f..6719e95bcf 100644
--- a/test/language/expressions/class/fields-multiple-definitions-static-computed-names.js
+++ b/test/language/expressions/class/fields-multiple-definitions-static-computed-names.js
@@ -57,7 +57,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -68,7 +68,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
diff --git a/test/language/expressions/class/fields-multiple-definitions-static-computed-symbol-names.js b/test/language/expressions/class/fields-multiple-definitions-static-computed-symbol-names.js
index 4f4e35252b..188a88cc47 100644
--- a/test/language/expressions/class/fields-multiple-definitions-static-computed-symbol-names.js
+++ b/test/language/expressions/class/fields-multiple-definitions-static-computed-symbol-names.js
@@ -59,7 +59,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -70,7 +70,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
diff --git a/test/language/expressions/class/fields-multiple-definitions-static-literal-names.js b/test/language/expressions/class/fields-multiple-definitions-static-literal-names.js
index 2cdcf79833..746e8d0aca 100644
--- a/test/language/expressions/class/fields-multiple-definitions-static-literal-names.js
+++ b/test/language/expressions/class/fields-multiple-definitions-static-literal-names.js
@@ -59,7 +59,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -70,7 +70,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
diff --git a/test/language/expressions/class/fields-multiple-definitions-string-literal-names.js b/test/language/expressions/class/fields-multiple-definitions-string-literal-names.js
index 3f903444cb..907c3c0001 100644
--- a/test/language/expressions/class/fields-multiple-definitions-string-literal-names.js
+++ b/test/language/expressions/class/fields-multiple-definitions-string-literal-names.js
@@ -57,7 +57,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -68,7 +68,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -77,6 +77,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/expressions/class/fields-multiple-stacked-definitions-computed-names.js b/test/language/expressions/class/fields-multiple-stacked-definitions-computed-names.js
index 6ab20d6d42..697e48095f 100644
--- a/test/language/expressions/class/fields-multiple-stacked-definitions-computed-names.js
+++ b/test/language/expressions/class/fields-multiple-stacked-definitions-computed-names.js
@@ -30,17 +30,13 @@ var C = class {
 
 var c = new C();
 
-assert.sameValue(c.m(), 42);
-assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
-assert.sameValue(c.m, C.prototype.m);
-
 assert.sameValue(c.foo, "foobar");
 assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false);
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -51,7 +47,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -94,7 +90,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/expressions/class/fields-multiple-stacked-definitions-computed-symbol-names.js b/test/language/expressions/class/fields-multiple-stacked-definitions-computed-symbol-names.js
index 5af36a0ba0..a418803196 100644
--- a/test/language/expressions/class/fields-multiple-stacked-definitions-computed-symbol-names.js
+++ b/test/language/expressions/class/fields-multiple-stacked-definitions-computed-symbol-names.js
@@ -31,17 +31,13 @@ var C = class {
 
 var c = new C();
 
-assert.sameValue(c.m(), 42);
-assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
-assert.sameValue(c.m, C.prototype.m);
-
 assert.sameValue(c.foo, "foobar");
 assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false);
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -52,7 +48,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
diff --git a/test/language/expressions/class/fields-multiple-stacked-definitions-literal-names.js b/test/language/expressions/class/fields-multiple-stacked-definitions-literal-names.js
index 477c8b1a66..a95a1a4676 100644
--- a/test/language/expressions/class/fields-multiple-stacked-definitions-literal-names.js
+++ b/test/language/expressions/class/fields-multiple-stacked-definitions-literal-names.js
@@ -31,17 +31,13 @@ var C = class {
 
 var c = new C();
 
-assert.sameValue(c.m(), 42);
-assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
-assert.sameValue(c.m, C.prototype.m);
-
 assert.sameValue(c.foo, "foobar");
 assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false);
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -52,7 +48,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
diff --git a/test/language/expressions/class/fields-multiple-stacked-definitions-static-computed-names.js b/test/language/expressions/class/fields-multiple-stacked-definitions-static-computed-names.js
index d20ec86df5..5e683cf18a 100644
--- a/test/language/expressions/class/fields-multiple-stacked-definitions-static-computed-names.js
+++ b/test/language/expressions/class/fields-multiple-stacked-definitions-static-computed-names.js
@@ -29,17 +29,13 @@ var C = class {
 
 var c = new C();
 
-assert.sameValue(c.m(), 42);
-assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
-assert.sameValue(c.m, C.prototype.m);
-
 assert.sameValue(c.foo, "foobar");
 assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false);
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -50,7 +46,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
diff --git a/test/language/expressions/class/fields-multiple-stacked-definitions-static-computed-symbol-names.js b/test/language/expressions/class/fields-multiple-stacked-definitions-static-computed-symbol-names.js
index 499133499d..ae4d6fb0e7 100644
--- a/test/language/expressions/class/fields-multiple-stacked-definitions-static-computed-symbol-names.js
+++ b/test/language/expressions/class/fields-multiple-stacked-definitions-static-computed-symbol-names.js
@@ -31,17 +31,13 @@ var C = class {
 
 var c = new C();
 
-assert.sameValue(c.m(), 42);
-assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
-assert.sameValue(c.m, C.prototype.m);
-
 assert.sameValue(c.foo, "foobar");
 assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false);
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -52,7 +48,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
diff --git a/test/language/expressions/class/fields-multiple-stacked-definitions-static-literal-names.js b/test/language/expressions/class/fields-multiple-stacked-definitions-static-literal-names.js
index f98eac3252..5fd30b12ac 100644
--- a/test/language/expressions/class/fields-multiple-stacked-definitions-static-literal-names.js
+++ b/test/language/expressions/class/fields-multiple-stacked-definitions-static-literal-names.js
@@ -31,17 +31,13 @@ var C = class {
 
 var c = new C();
 
-assert.sameValue(c.m(), 42);
-assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
-assert.sameValue(c.m, C.prototype.m);
-
 assert.sameValue(c.foo, "foobar");
 assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false);
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -52,7 +48,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
diff --git a/test/language/expressions/class/fields-multiple-stacked-definitions-string-literal-names.js b/test/language/expressions/class/fields-multiple-stacked-definitions-string-literal-names.js
index 019ed44b80..7c344387e4 100644
--- a/test/language/expressions/class/fields-multiple-stacked-definitions-string-literal-names.js
+++ b/test/language/expressions/class/fields-multiple-stacked-definitions-string-literal-names.js
@@ -29,17 +29,13 @@ var C = class {
 
 var c = new C();
 
-assert.sameValue(c.m(), 42);
-assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
-assert.sameValue(c.m, C.prototype.m);
-
 assert.sameValue(c.foo, "foobar");
 assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false);
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -50,7 +46,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -59,6 +55,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/expressions/class/fields-new-no-sc-line-method-computed-names.js b/test/language/expressions/class/fields-new-no-sc-line-method-computed-names.js
index 5b0cd0d30e..13acd9c02c 100644
--- a/test/language/expressions/class/fields-new-no-sc-line-method-computed-names.js
+++ b/test/language/expressions/class/fields-new-no-sc-line-method-computed-names.js
@@ -77,7 +77,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/expressions/class/fields-new-no-sc-line-method-string-literal-names.js b/test/language/expressions/class/fields-new-no-sc-line-method-string-literal-names.js
index e2edc73dee..fd1e0abd9d 100644
--- a/test/language/expressions/class/fields-new-no-sc-line-method-string-literal-names.js
+++ b/test/language/expressions/class/fields-new-no-sc-line-method-string-literal-names.js
@@ -42,6 +42,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/expressions/class/fields-new-sc-line-gen-computed-names.js b/test/language/expressions/class/fields-new-sc-line-gen-computed-names.js
index e75fbbe109..7d96e0da3c 100644
--- a/test/language/expressions/class/fields-new-sc-line-gen-computed-names.js
+++ b/test/language/expressions/class/fields-new-sc-line-gen-computed-names.js
@@ -29,7 +29,7 @@ var C = class {
 
 var c = new C();
 
-assert.sameValue(c.g().next().value, 42);
+assert.sameValue(c.m().next().value, 42);
 assert.sameValue(c.m, C.prototype.m);
 assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
 
@@ -77,7 +77,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/expressions/class/fields-new-sc-line-gen-computed-symbol-names.js b/test/language/expressions/class/fields-new-sc-line-gen-computed-symbol-names.js
index 6c0aabf44d..b50258a4e1 100644
--- a/test/language/expressions/class/fields-new-sc-line-gen-computed-symbol-names.js
+++ b/test/language/expressions/class/fields-new-sc-line-gen-computed-symbol-names.js
@@ -30,7 +30,7 @@ var C = class {
 
 var c = new C();
 
-assert.sameValue(c.g().next().value, 42);
+assert.sameValue(c.m().next().value, 42);
 assert.sameValue(c.m, C.prototype.m);
 assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
 
diff --git a/test/language/expressions/class/fields-new-sc-line-gen-literal-names.js b/test/language/expressions/class/fields-new-sc-line-gen-literal-names.js
index 4a5db1fd98..658720f81a 100644
--- a/test/language/expressions/class/fields-new-sc-line-gen-literal-names.js
+++ b/test/language/expressions/class/fields-new-sc-line-gen-literal-names.js
@@ -30,7 +30,7 @@ var C = class {
 
 var c = new C();
 
-assert.sameValue(c.g().next().value, 42);
+assert.sameValue(c.m().next().value, 42);
 assert.sameValue(c.m, C.prototype.m);
 assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
 
diff --git a/test/language/expressions/class/fields-new-sc-line-gen-static-computed-names.js b/test/language/expressions/class/fields-new-sc-line-gen-static-computed-names.js
index 5f63c71e5d..605edea858 100644
--- a/test/language/expressions/class/fields-new-sc-line-gen-static-computed-names.js
+++ b/test/language/expressions/class/fields-new-sc-line-gen-static-computed-names.js
@@ -28,7 +28,7 @@ var C = class {
 
 var c = new C();
 
-assert.sameValue(c.g().next().value, 42);
+assert.sameValue(c.m().next().value, 42);
 assert.sameValue(c.m, C.prototype.m);
 assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
 
diff --git a/test/language/expressions/class/fields-new-sc-line-gen-static-computed-symbol-names.js b/test/language/expressions/class/fields-new-sc-line-gen-static-computed-symbol-names.js
index 1ea62fd0b3..f4fcaed52a 100644
--- a/test/language/expressions/class/fields-new-sc-line-gen-static-computed-symbol-names.js
+++ b/test/language/expressions/class/fields-new-sc-line-gen-static-computed-symbol-names.js
@@ -30,7 +30,7 @@ var C = class {
 
 var c = new C();
 
-assert.sameValue(c.g().next().value, 42);
+assert.sameValue(c.m().next().value, 42);
 assert.sameValue(c.m, C.prototype.m);
 assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
 
diff --git a/test/language/expressions/class/fields-new-sc-line-gen-static-literal-names.js b/test/language/expressions/class/fields-new-sc-line-gen-static-literal-names.js
index 47c8b76ba1..d4c00a46c7 100644
--- a/test/language/expressions/class/fields-new-sc-line-gen-static-literal-names.js
+++ b/test/language/expressions/class/fields-new-sc-line-gen-static-literal-names.js
@@ -30,7 +30,7 @@ var C = class {
 
 var c = new C();
 
-assert.sameValue(c.g().next().value, 42);
+assert.sameValue(c.m().next().value, 42);
 assert.sameValue(c.m, C.prototype.m);
 assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
 
diff --git a/test/language/expressions/class/fields-new-sc-line-gen-string-literal-names.js b/test/language/expressions/class/fields-new-sc-line-gen-string-literal-names.js
index f3bc08f790..835a3b47fa 100644
--- a/test/language/expressions/class/fields-new-sc-line-gen-string-literal-names.js
+++ b/test/language/expressions/class/fields-new-sc-line-gen-string-literal-names.js
@@ -28,7 +28,7 @@ var C = class {
 
 var c = new C();
 
-assert.sameValue(c.g().next().value, 42);
+assert.sameValue(c.m().next().value, 42);
 assert.sameValue(c.m, C.prototype.m);
 assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
 
@@ -42,6 +42,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/expressions/class/fields-new-sc-line-method-computed-names.js b/test/language/expressions/class/fields-new-sc-line-method-computed-names.js
index 8ce4baee4c..48be4af9cd 100644
--- a/test/language/expressions/class/fields-new-sc-line-method-computed-names.js
+++ b/test/language/expressions/class/fields-new-sc-line-method-computed-names.js
@@ -77,7 +77,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/expressions/class/fields-new-sc-line-method-string-literal-names.js b/test/language/expressions/class/fields-new-sc-line-method-string-literal-names.js
index 93d601b363..71af39f5ff 100644
--- a/test/language/expressions/class/fields-new-sc-line-method-string-literal-names.js
+++ b/test/language/expressions/class/fields-new-sc-line-method-string-literal-names.js
@@ -42,6 +42,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/expressions/class/fields-regular-definitions-computed-names.js b/test/language/expressions/class/fields-regular-definitions-computed-names.js
index 82d7b4d4c2..5a07b8ac3a 100644
--- a/test/language/expressions/class/fields-regular-definitions-computed-names.js
+++ b/test/language/expressions/class/fields-regular-definitions-computed-names.js
@@ -66,7 +66,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/expressions/class/fields-regular-definitions-string-literal-names.js b/test/language/expressions/class/fields-regular-definitions-string-literal-names.js
index d893745481..15e5eeded0 100644
--- a/test/language/expressions/class/fields-regular-definitions-string-literal-names.js
+++ b/test/language/expressions/class/fields-regular-definitions-string-literal-names.js
@@ -31,6 +31,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/expressions/class/fields-same-line-async-gen-computed-names.js b/test/language/expressions/class/fields-same-line-async-gen-computed-names.js
index b4d5d959d9..35faa571ed 100644
--- a/test/language/expressions/class/fields-same-line-async-gen-computed-names.js
+++ b/test/language/expressions/class/fields-same-line-async-gen-computed-names.js
@@ -35,7 +35,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "a"), false);
@@ -75,12 +75,13 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
 });
 
 c.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/expressions/class/fields-same-line-async-gen-computed-symbol-names.js b/test/language/expressions/class/fields-same-line-async-gen-computed-symbol-names.js
index ba9f077539..6f443668d8 100644
--- a/test/language/expressions/class/fields-same-line-async-gen-computed-symbol-names.js
+++ b/test/language/expressions/class/fields-same-line-async-gen-computed-symbol-names.js
@@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false);
 assert.sameValue(Object.hasOwnProperty.call(C, x), false);
@@ -67,5 +67,6 @@ assert.sameValue(Object.hasOwnProperty.call(C, "y"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "y"), false);
 
 c.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/expressions/class/fields-same-line-async-gen-literal-names.js b/test/language/expressions/class/fields-same-line-async-gen-literal-names.js
index 9ca9bb0ee6..18ab2e7afc 100644
--- a/test/language/expressions/class/fields-same-line-async-gen-literal-names.js
+++ b/test/language/expressions/class/fields-same-line-async-gen-literal-names.js
@@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
@@ -70,5 +70,6 @@ verifyProperty(c, "c", {
 
 
 c.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/expressions/class/fields-same-line-async-gen-static-computed-names.js b/test/language/expressions/class/fields-same-line-async-gen-static-computed-names.js
index 1564125bcd..dd4de31ced 100644
--- a/test/language/expressions/class/fields-same-line-async-gen-static-computed-names.js
+++ b/test/language/expressions/class/fields-same-line-async-gen-static-computed-names.js
@@ -34,7 +34,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 
@@ -53,5 +53,6 @@ verifyProperty(c, "a", {
 });
 
 c.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/expressions/class/fields-same-line-async-gen-static-computed-symbol-names.js b/test/language/expressions/class/fields-same-line-async-gen-static-computed-symbol-names.js
index 12e68a5022..f96e1c2ad2 100644
--- a/test/language/expressions/class/fields-same-line-async-gen-static-computed-symbol-names.js
+++ b/test/language/expressions/class/fields-same-line-async-gen-static-computed-symbol-names.js
@@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false);
 assert.sameValue(Object.hasOwnProperty.call(C, x), false);
@@ -67,5 +67,6 @@ assert.sameValue(Object.hasOwnProperty.call(C, "y"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "y"), false);
 
 c.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/expressions/class/fields-same-line-async-gen-static-literal-names.js b/test/language/expressions/class/fields-same-line-async-gen-static-literal-names.js
index e1232602c3..19a9937064 100644
--- a/test/language/expressions/class/fields-same-line-async-gen-static-literal-names.js
+++ b/test/language/expressions/class/fields-same-line-async-gen-static-literal-names.js
@@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "a"), false);
@@ -70,5 +70,6 @@ verifyProperty(C, "c", {
 
 
 c.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/expressions/class/fields-same-line-async-gen-string-literal-names.js b/test/language/expressions/class/fields-same-line-async-gen-string-literal-names.js
index 1080c94d07..04ae2f464a 100644
--- a/test/language/expressions/class/fields-same-line-async-gen-string-literal-names.js
+++ b/test/language/expressions/class/fields-same-line-async-gen-string-literal-names.js
@@ -34,12 +34,42 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
@@ -47,5 +77,6 @@ verifyProperty(c, "a", {
 });
 
 c.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/expressions/class/fields-same-line-async-method-computed-names.js b/test/language/expressions/class/fields-same-line-async-method-computed-names.js
index 7f985aa810..ab1ab5bd8b 100644
--- a/test/language/expressions/class/fields-same-line-async-method-computed-names.js
+++ b/test/language/expressions/class/fields-same-line-async-method-computed-names.js
@@ -35,7 +35,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "a"), false);
@@ -75,7 +75,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/expressions/class/fields-same-line-async-method-computed-symbol-names.js b/test/language/expressions/class/fields-same-line-async-method-computed-symbol-names.js
index 42033f8318..eed1fe63e2 100644
--- a/test/language/expressions/class/fields-same-line-async-method-computed-symbol-names.js
+++ b/test/language/expressions/class/fields-same-line-async-method-computed-symbol-names.js
@@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false);
 assert.sameValue(Object.hasOwnProperty.call(C, x), false);
diff --git a/test/language/expressions/class/fields-same-line-async-method-literal-names.js b/test/language/expressions/class/fields-same-line-async-method-literal-names.js
index 4303772cbe..c6c30d31f2 100644
--- a/test/language/expressions/class/fields-same-line-async-method-literal-names.js
+++ b/test/language/expressions/class/fields-same-line-async-method-literal-names.js
@@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
diff --git a/test/language/expressions/class/fields-same-line-async-method-static-computed-names.js b/test/language/expressions/class/fields-same-line-async-method-static-computed-names.js
index 578ee5b307..72bafc7271 100644
--- a/test/language/expressions/class/fields-same-line-async-method-static-computed-names.js
+++ b/test/language/expressions/class/fields-same-line-async-method-static-computed-names.js
@@ -34,7 +34,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 
diff --git a/test/language/expressions/class/fields-same-line-async-method-static-computed-symbol-names.js b/test/language/expressions/class/fields-same-line-async-method-static-computed-symbol-names.js
index 12abddd461..67246b85b1 100644
--- a/test/language/expressions/class/fields-same-line-async-method-static-computed-symbol-names.js
+++ b/test/language/expressions/class/fields-same-line-async-method-static-computed-symbol-names.js
@@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false);
 assert.sameValue(Object.hasOwnProperty.call(C, x), false);
diff --git a/test/language/expressions/class/fields-same-line-async-method-static-literal-names.js b/test/language/expressions/class/fields-same-line-async-method-static-literal-names.js
index f3dee10c20..8962f92295 100644
--- a/test/language/expressions/class/fields-same-line-async-method-static-literal-names.js
+++ b/test/language/expressions/class/fields-same-line-async-method-static-literal-names.js
@@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "a"), false);
diff --git a/test/language/expressions/class/fields-same-line-async-method-string-literal-names.js b/test/language/expressions/class/fields-same-line-async-method-string-literal-names.js
index c8825576b3..9913779893 100644
--- a/test/language/expressions/class/fields-same-line-async-method-string-literal-names.js
+++ b/test/language/expressions/class/fields-same-line-async-method-string-literal-names.js
@@ -34,12 +34,42 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/expressions/class/fields-same-line-gen-computed-names.js b/test/language/expressions/class/fields-same-line-gen-computed-names.js
index 98a34d18bf..19821fef58 100644
--- a/test/language/expressions/class/fields-same-line-gen-computed-names.js
+++ b/test/language/expressions/class/fields-same-line-gen-computed-names.js
@@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/expressions/class/fields-same-line-gen-string-literal-names.js b/test/language/expressions/class/fields-same-line-gen-string-literal-names.js
index 0818c6fb89..74fe1e446a 100644
--- a/test/language/expressions/class/fields-same-line-gen-string-literal-names.js
+++ b/test/language/expressions/class/fields-same-line-gen-string-literal-names.js
@@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/expressions/class/fields-same-line-method-computed-names.js b/test/language/expressions/class/fields-same-line-method-computed-names.js
index ec3aba7db5..465cd9b671 100644
--- a/test/language/expressions/class/fields-same-line-method-computed-names.js
+++ b/test/language/expressions/class/fields-same-line-method-computed-names.js
@@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/expressions/class/fields-same-line-method-string-literal-names.js b/test/language/expressions/class/fields-same-line-method-string-literal-names.js
index fd9437256a..b337a6f15f 100644
--- a/test/language/expressions/class/fields-same-line-method-string-literal-names.js
+++ b/test/language/expressions/class/fields-same-line-method-string-literal-names.js
@@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/expressions/class/fields-wrapped-in-sc-computed-names.js b/test/language/expressions/class/fields-wrapped-in-sc-computed-names.js
index 54103874ba..6a0d23c75c 100644
--- a/test/language/expressions/class/fields-wrapped-in-sc-computed-names.js
+++ b/test/language/expressions/class/fields-wrapped-in-sc-computed-names.js
@@ -68,7 +68,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/expressions/class/fields-wrapped-in-sc-string-literal-names.js b/test/language/expressions/class/fields-wrapped-in-sc-string-literal-names.js
index e5249289a4..180704ff6b 100644
--- a/test/language/expressions/class/fields-wrapped-in-sc-string-literal-names.js
+++ b/test/language/expressions/class/fields-wrapped-in-sc-string-literal-names.js
@@ -33,6 +33,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/statements/class/fields-after-same-line-gen-computed-names.js b/test/language/statements/class/fields-after-same-line-gen-computed-names.js
index 03a21dbcc7..09acb20db4 100644
--- a/test/language/statements/class/fields-after-same-line-gen-computed-names.js
+++ b/test/language/statements/class/fields-after-same-line-gen-computed-names.js
@@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/statements/class/fields-after-same-line-gen-string-literal-names.js b/test/language/statements/class/fields-after-same-line-gen-string-literal-names.js
index 825c473e11..2d57de48a0 100644
--- a/test/language/statements/class/fields-after-same-line-gen-string-literal-names.js
+++ b/test/language/statements/class/fields-after-same-line-gen-string-literal-names.js
@@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/statements/class/fields-after-same-line-method-computed-names.js b/test/language/statements/class/fields-after-same-line-method-computed-names.js
index 4ff63df663..57cab968c7 100644
--- a/test/language/statements/class/fields-after-same-line-method-computed-names.js
+++ b/test/language/statements/class/fields-after-same-line-method-computed-names.js
@@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/statements/class/fields-after-same-line-method-string-literal-names.js b/test/language/statements/class/fields-after-same-line-method-string-literal-names.js
index 9573c0764a..e79c290e0b 100644
--- a/test/language/statements/class/fields-after-same-line-method-string-literal-names.js
+++ b/test/language/statements/class/fields-after-same-line-method-string-literal-names.js
@@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/statements/class/fields-after-same-line-static-async-gen-computed-names.js b/test/language/statements/class/fields-after-same-line-static-async-gen-computed-names.js
index bf786bbe02..e3633f357d 100644
--- a/test/language/statements/class/fields-after-same-line-static-async-gen-computed-names.js
+++ b/test/language/statements/class/fields-after-same-line-static-async-gen-computed-names.js
@@ -35,7 +35,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "a"), false);
@@ -75,12 +75,13 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
 });
 
 C.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/statements/class/fields-after-same-line-static-async-gen-computed-symbol-names.js b/test/language/statements/class/fields-after-same-line-static-async-gen-computed-symbol-names.js
index c6d00fc16f..99e5cd894a 100644
--- a/test/language/statements/class/fields-after-same-line-static-async-gen-computed-symbol-names.js
+++ b/test/language/statements/class/fields-after-same-line-static-async-gen-computed-symbol-names.js
@@ -36,7 +36,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false);
 assert.sameValue(Object.hasOwnProperty.call(C, x), false);
@@ -67,5 +67,6 @@ assert.sameValue(Object.hasOwnProperty.call(C, "y"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "y"), false);
 
 C.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/statements/class/fields-after-same-line-static-async-gen-literal-names.js b/test/language/statements/class/fields-after-same-line-static-async-gen-literal-names.js
index 8f7963036d..fbad9e08e6 100644
--- a/test/language/statements/class/fields-after-same-line-static-async-gen-literal-names.js
+++ b/test/language/statements/class/fields-after-same-line-static-async-gen-literal-names.js
@@ -36,7 +36,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
@@ -70,5 +70,6 @@ verifyProperty(c, "c", {
 
 
 C.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/statements/class/fields-after-same-line-static-async-gen-static-computed-names.js b/test/language/statements/class/fields-after-same-line-static-async-gen-static-computed-names.js
index 1c0d59cb2b..7b79201486 100644
--- a/test/language/statements/class/fields-after-same-line-static-async-gen-static-computed-names.js
+++ b/test/language/statements/class/fields-after-same-line-static-async-gen-static-computed-names.js
@@ -34,7 +34,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 
@@ -53,5 +53,6 @@ verifyProperty(c, "a", {
 });
 
 C.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/statements/class/fields-after-same-line-static-async-gen-static-computed-symbol-names.js b/test/language/statements/class/fields-after-same-line-static-async-gen-static-computed-symbol-names.js
index 01e7bdaa23..de1b631077 100644
--- a/test/language/statements/class/fields-after-same-line-static-async-gen-static-computed-symbol-names.js
+++ b/test/language/statements/class/fields-after-same-line-static-async-gen-static-computed-symbol-names.js
@@ -36,7 +36,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false);
 assert.sameValue(Object.hasOwnProperty.call(C, x), false);
@@ -67,5 +67,6 @@ assert.sameValue(Object.hasOwnProperty.call(C, "y"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "y"), false);
 
 C.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/statements/class/fields-after-same-line-static-async-gen-static-literal-names.js b/test/language/statements/class/fields-after-same-line-static-async-gen-static-literal-names.js
index cda79389b7..e50ec23d7a 100644
--- a/test/language/statements/class/fields-after-same-line-static-async-gen-static-literal-names.js
+++ b/test/language/statements/class/fields-after-same-line-static-async-gen-static-literal-names.js
@@ -36,7 +36,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "a"), false);
@@ -70,5 +70,6 @@ verifyProperty(C, "c", {
 
 
 C.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/statements/class/fields-after-same-line-static-async-gen-string-literal-names.js b/test/language/statements/class/fields-after-same-line-static-async-gen-string-literal-names.js
index c0ce0a9a13..a9723d07a4 100644
--- a/test/language/statements/class/fields-after-same-line-static-async-gen-string-literal-names.js
+++ b/test/language/statements/class/fields-after-same-line-static-async-gen-string-literal-names.js
@@ -34,12 +34,42 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
@@ -47,5 +77,6 @@ verifyProperty(c, "a", {
 });
 
 C.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/statements/class/fields-after-same-line-static-async-method-computed-names.js b/test/language/statements/class/fields-after-same-line-static-async-method-computed-names.js
index cdabce1c3d..83d150da06 100644
--- a/test/language/statements/class/fields-after-same-line-static-async-method-computed-names.js
+++ b/test/language/statements/class/fields-after-same-line-static-async-method-computed-names.js
@@ -35,7 +35,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "a"), false);
@@ -75,7 +75,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/statements/class/fields-after-same-line-static-async-method-computed-symbol-names.js b/test/language/statements/class/fields-after-same-line-static-async-method-computed-symbol-names.js
index a5f850c520..454d57bf67 100644
--- a/test/language/statements/class/fields-after-same-line-static-async-method-computed-symbol-names.js
+++ b/test/language/statements/class/fields-after-same-line-static-async-method-computed-symbol-names.js
@@ -36,7 +36,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false);
 assert.sameValue(Object.hasOwnProperty.call(C, x), false);
diff --git a/test/language/statements/class/fields-after-same-line-static-async-method-literal-names.js b/test/language/statements/class/fields-after-same-line-static-async-method-literal-names.js
index 65292771c1..1a58bf8fde 100644
--- a/test/language/statements/class/fields-after-same-line-static-async-method-literal-names.js
+++ b/test/language/statements/class/fields-after-same-line-static-async-method-literal-names.js
@@ -36,7 +36,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
diff --git a/test/language/statements/class/fields-after-same-line-static-async-method-static-computed-names.js b/test/language/statements/class/fields-after-same-line-static-async-method-static-computed-names.js
index bfbbba4f43..4de996cfd6 100644
--- a/test/language/statements/class/fields-after-same-line-static-async-method-static-computed-names.js
+++ b/test/language/statements/class/fields-after-same-line-static-async-method-static-computed-names.js
@@ -34,7 +34,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 
diff --git a/test/language/statements/class/fields-after-same-line-static-async-method-static-computed-symbol-names.js b/test/language/statements/class/fields-after-same-line-static-async-method-static-computed-symbol-names.js
index 1d06240c54..d1ab23213d 100644
--- a/test/language/statements/class/fields-after-same-line-static-async-method-static-computed-symbol-names.js
+++ b/test/language/statements/class/fields-after-same-line-static-async-method-static-computed-symbol-names.js
@@ -36,7 +36,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false);
 assert.sameValue(Object.hasOwnProperty.call(C, x), false);
diff --git a/test/language/statements/class/fields-after-same-line-static-async-method-static-literal-names.js b/test/language/statements/class/fields-after-same-line-static-async-method-static-literal-names.js
index 6cad2880d8..c8112059c5 100644
--- a/test/language/statements/class/fields-after-same-line-static-async-method-static-literal-names.js
+++ b/test/language/statements/class/fields-after-same-line-static-async-method-static-literal-names.js
@@ -36,7 +36,7 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "a"), false);
diff --git a/test/language/statements/class/fields-after-same-line-static-async-method-string-literal-names.js b/test/language/statements/class/fields-after-same-line-static-async-method-string-literal-names.js
index 9f7c8b1f6b..1815250905 100644
--- a/test/language/statements/class/fields-after-same-line-static-async-method-string-literal-names.js
+++ b/test/language/statements/class/fields-after-same-line-static-async-method-string-literal-names.js
@@ -34,12 +34,42 @@ verifyProperty(C, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/statements/class/fields-after-same-line-static-gen-computed-names.js b/test/language/statements/class/fields-after-same-line-static-gen-computed-names.js
index 8b57c85e41..70afd6a1aa 100644
--- a/test/language/statements/class/fields-after-same-line-static-gen-computed-names.js
+++ b/test/language/statements/class/fields-after-same-line-static-gen-computed-names.js
@@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/statements/class/fields-after-same-line-static-gen-string-literal-names.js b/test/language/statements/class/fields-after-same-line-static-gen-string-literal-names.js
index f80e495c77..f38b7b7545 100644
--- a/test/language/statements/class/fields-after-same-line-static-gen-string-literal-names.js
+++ b/test/language/statements/class/fields-after-same-line-static-gen-string-literal-names.js
@@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/statements/class/fields-after-same-line-static-method-computed-names.js b/test/language/statements/class/fields-after-same-line-static-method-computed-names.js
index ad303b78ed..cb759fe52d 100644
--- a/test/language/statements/class/fields-after-same-line-static-method-computed-names.js
+++ b/test/language/statements/class/fields-after-same-line-static-method-computed-names.js
@@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/statements/class/fields-after-same-line-static-method-string-literal-names.js b/test/language/statements/class/fields-after-same-line-static-method-string-literal-names.js
index 1778f50d03..abcd24faf4 100644
--- a/test/language/statements/class/fields-after-same-line-static-method-string-literal-names.js
+++ b/test/language/statements/class/fields-after-same-line-static-method-string-literal-names.js
@@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/statements/class/fields-multiple-definitions-computed-names.js b/test/language/statements/class/fields-multiple-definitions-computed-names.js
index 7e5a8a52f3..19a0cb3af0 100644
--- a/test/language/statements/class/fields-multiple-definitions-computed-names.js
+++ b/test/language/statements/class/fields-multiple-definitions-computed-names.js
@@ -58,7 +58,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -69,7 +69,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -112,7 +112,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/statements/class/fields-multiple-definitions-computed-symbol-names.js b/test/language/statements/class/fields-multiple-definitions-computed-symbol-names.js
index 448aa839c0..c6df1b5540 100644
--- a/test/language/statements/class/fields-multiple-definitions-computed-symbol-names.js
+++ b/test/language/statements/class/fields-multiple-definitions-computed-symbol-names.js
@@ -59,7 +59,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -70,7 +70,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
diff --git a/test/language/statements/class/fields-multiple-definitions-literal-names.js b/test/language/statements/class/fields-multiple-definitions-literal-names.js
index c636d50781..2ae740ab84 100644
--- a/test/language/statements/class/fields-multiple-definitions-literal-names.js
+++ b/test/language/statements/class/fields-multiple-definitions-literal-names.js
@@ -59,7 +59,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -70,7 +70,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
diff --git a/test/language/statements/class/fields-multiple-definitions-static-computed-names.js b/test/language/statements/class/fields-multiple-definitions-static-computed-names.js
index a325b8f34f..97a27c94c0 100644
--- a/test/language/statements/class/fields-multiple-definitions-static-computed-names.js
+++ b/test/language/statements/class/fields-multiple-definitions-static-computed-names.js
@@ -57,7 +57,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -68,7 +68,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
diff --git a/test/language/statements/class/fields-multiple-definitions-static-computed-symbol-names.js b/test/language/statements/class/fields-multiple-definitions-static-computed-symbol-names.js
index a9e390a24f..93268a2769 100644
--- a/test/language/statements/class/fields-multiple-definitions-static-computed-symbol-names.js
+++ b/test/language/statements/class/fields-multiple-definitions-static-computed-symbol-names.js
@@ -59,7 +59,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -70,7 +70,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
diff --git a/test/language/statements/class/fields-multiple-definitions-static-literal-names.js b/test/language/statements/class/fields-multiple-definitions-static-literal-names.js
index ad72e5d79e..7dd36a89f6 100644
--- a/test/language/statements/class/fields-multiple-definitions-static-literal-names.js
+++ b/test/language/statements/class/fields-multiple-definitions-static-literal-names.js
@@ -59,7 +59,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -70,7 +70,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
diff --git a/test/language/statements/class/fields-multiple-definitions-string-literal-names.js b/test/language/statements/class/fields-multiple-definitions-string-literal-names.js
index b49dae8990..b4cf0ca7b8 100644
--- a/test/language/statements/class/fields-multiple-definitions-string-literal-names.js
+++ b/test/language/statements/class/fields-multiple-definitions-string-literal-names.js
@@ -57,7 +57,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -68,7 +68,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -77,6 +77,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/statements/class/fields-multiple-stacked-definitions-computed-names.js b/test/language/statements/class/fields-multiple-stacked-definitions-computed-names.js
index 276b70ef05..dde07e8b29 100644
--- a/test/language/statements/class/fields-multiple-stacked-definitions-computed-names.js
+++ b/test/language/statements/class/fields-multiple-stacked-definitions-computed-names.js
@@ -30,17 +30,13 @@ class C {
 
 var c = new C();
 
-assert.sameValue(c.m(), 42);
-assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
-assert.sameValue(c.m, C.prototype.m);
-
 assert.sameValue(c.foo, "foobar");
 assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false);
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -51,7 +47,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -94,7 +90,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/statements/class/fields-multiple-stacked-definitions-computed-symbol-names.js b/test/language/statements/class/fields-multiple-stacked-definitions-computed-symbol-names.js
index 932aaf6b6c..ea00d956e7 100644
--- a/test/language/statements/class/fields-multiple-stacked-definitions-computed-symbol-names.js
+++ b/test/language/statements/class/fields-multiple-stacked-definitions-computed-symbol-names.js
@@ -31,17 +31,13 @@ class C {
 
 var c = new C();
 
-assert.sameValue(c.m(), 42);
-assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
-assert.sameValue(c.m, C.prototype.m);
-
 assert.sameValue(c.foo, "foobar");
 assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false);
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -52,7 +48,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
diff --git a/test/language/statements/class/fields-multiple-stacked-definitions-literal-names.js b/test/language/statements/class/fields-multiple-stacked-definitions-literal-names.js
index d4a699ba10..2e2019c596 100644
--- a/test/language/statements/class/fields-multiple-stacked-definitions-literal-names.js
+++ b/test/language/statements/class/fields-multiple-stacked-definitions-literal-names.js
@@ -31,17 +31,13 @@ class C {
 
 var c = new C();
 
-assert.sameValue(c.m(), 42);
-assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
-assert.sameValue(c.m, C.prototype.m);
-
 assert.sameValue(c.foo, "foobar");
 assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false);
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -52,7 +48,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
diff --git a/test/language/statements/class/fields-multiple-stacked-definitions-static-computed-names.js b/test/language/statements/class/fields-multiple-stacked-definitions-static-computed-names.js
index 3cab98aad1..766e1f8b31 100644
--- a/test/language/statements/class/fields-multiple-stacked-definitions-static-computed-names.js
+++ b/test/language/statements/class/fields-multiple-stacked-definitions-static-computed-names.js
@@ -29,17 +29,13 @@ class C {
 
 var c = new C();
 
-assert.sameValue(c.m(), 42);
-assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
-assert.sameValue(c.m, C.prototype.m);
-
 assert.sameValue(c.foo, "foobar");
 assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false);
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -50,7 +46,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
diff --git a/test/language/statements/class/fields-multiple-stacked-definitions-static-computed-symbol-names.js b/test/language/statements/class/fields-multiple-stacked-definitions-static-computed-symbol-names.js
index b6fe6ec3fc..a90a3a747d 100644
--- a/test/language/statements/class/fields-multiple-stacked-definitions-static-computed-symbol-names.js
+++ b/test/language/statements/class/fields-multiple-stacked-definitions-static-computed-symbol-names.js
@@ -31,17 +31,13 @@ class C {
 
 var c = new C();
 
-assert.sameValue(c.m(), 42);
-assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
-assert.sameValue(c.m, C.prototype.m);
-
 assert.sameValue(c.foo, "foobar");
 assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false);
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -52,7 +48,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
diff --git a/test/language/statements/class/fields-multiple-stacked-definitions-static-literal-names.js b/test/language/statements/class/fields-multiple-stacked-definitions-static-literal-names.js
index a64ed4cf12..c6749a97b3 100644
--- a/test/language/statements/class/fields-multiple-stacked-definitions-static-literal-names.js
+++ b/test/language/statements/class/fields-multiple-stacked-definitions-static-literal-names.js
@@ -31,17 +31,13 @@ class C {
 
 var c = new C();
 
-assert.sameValue(c.m(), 42);
-assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
-assert.sameValue(c.m, C.prototype.m);
-
 assert.sameValue(c.foo, "foobar");
 assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false);
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -52,7 +48,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
diff --git a/test/language/statements/class/fields-multiple-stacked-definitions-string-literal-names.js b/test/language/statements/class/fields-multiple-stacked-definitions-string-literal-names.js
index e312f2ab92..a7560047a4 100644
--- a/test/language/statements/class/fields-multiple-stacked-definitions-string-literal-names.js
+++ b/test/language/statements/class/fields-multiple-stacked-definitions-string-literal-names.js
@@ -29,17 +29,13 @@ class C {
 
 var c = new C();
 
-assert.sameValue(c.m(), 42);
-assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
-assert.sameValue(c.m, C.prototype.m);
-
 assert.sameValue(c.foo, "foobar");
 assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false);
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
 
 verifyProperty(c, "foo", {
   value: "foobar",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -50,7 +46,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
 
 verifyProperty(c, "bar", {
   value: "barbaz",
-  enumerable: false,
+  enumerable: true,
   configurable: true,
   writable: true,
 });
@@ -59,6 +55,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/statements/class/fields-new-no-sc-line-method-computed-names.js b/test/language/statements/class/fields-new-no-sc-line-method-computed-names.js
index 879c594faf..3ed70dc828 100644
--- a/test/language/statements/class/fields-new-no-sc-line-method-computed-names.js
+++ b/test/language/statements/class/fields-new-no-sc-line-method-computed-names.js
@@ -77,7 +77,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/statements/class/fields-new-no-sc-line-method-string-literal-names.js b/test/language/statements/class/fields-new-no-sc-line-method-string-literal-names.js
index 9312e0d0a8..f32d2fb8fb 100644
--- a/test/language/statements/class/fields-new-no-sc-line-method-string-literal-names.js
+++ b/test/language/statements/class/fields-new-no-sc-line-method-string-literal-names.js
@@ -42,6 +42,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/statements/class/fields-new-sc-line-gen-computed-names.js b/test/language/statements/class/fields-new-sc-line-gen-computed-names.js
index 991abbab82..e0843abe43 100644
--- a/test/language/statements/class/fields-new-sc-line-gen-computed-names.js
+++ b/test/language/statements/class/fields-new-sc-line-gen-computed-names.js
@@ -29,7 +29,7 @@ class C {
 
 var c = new C();
 
-assert.sameValue(c.g().next().value, 42);
+assert.sameValue(c.m().next().value, 42);
 assert.sameValue(c.m, C.prototype.m);
 assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
 
@@ -77,7 +77,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/statements/class/fields-new-sc-line-gen-computed-symbol-names.js b/test/language/statements/class/fields-new-sc-line-gen-computed-symbol-names.js
index d2de94d67a..dbb97b58e5 100644
--- a/test/language/statements/class/fields-new-sc-line-gen-computed-symbol-names.js
+++ b/test/language/statements/class/fields-new-sc-line-gen-computed-symbol-names.js
@@ -30,7 +30,7 @@ class C {
 
 var c = new C();
 
-assert.sameValue(c.g().next().value, 42);
+assert.sameValue(c.m().next().value, 42);
 assert.sameValue(c.m, C.prototype.m);
 assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
 
diff --git a/test/language/statements/class/fields-new-sc-line-gen-literal-names.js b/test/language/statements/class/fields-new-sc-line-gen-literal-names.js
index b4722a67bc..ba61d87760 100644
--- a/test/language/statements/class/fields-new-sc-line-gen-literal-names.js
+++ b/test/language/statements/class/fields-new-sc-line-gen-literal-names.js
@@ -30,7 +30,7 @@ class C {
 
 var c = new C();
 
-assert.sameValue(c.g().next().value, 42);
+assert.sameValue(c.m().next().value, 42);
 assert.sameValue(c.m, C.prototype.m);
 assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
 
diff --git a/test/language/statements/class/fields-new-sc-line-gen-static-computed-names.js b/test/language/statements/class/fields-new-sc-line-gen-static-computed-names.js
index b37919784b..7736f5f283 100644
--- a/test/language/statements/class/fields-new-sc-line-gen-static-computed-names.js
+++ b/test/language/statements/class/fields-new-sc-line-gen-static-computed-names.js
@@ -28,7 +28,7 @@ class C {
 
 var c = new C();
 
-assert.sameValue(c.g().next().value, 42);
+assert.sameValue(c.m().next().value, 42);
 assert.sameValue(c.m, C.prototype.m);
 assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
 
diff --git a/test/language/statements/class/fields-new-sc-line-gen-static-computed-symbol-names.js b/test/language/statements/class/fields-new-sc-line-gen-static-computed-symbol-names.js
index 4f135922fd..7e9ed072b2 100644
--- a/test/language/statements/class/fields-new-sc-line-gen-static-computed-symbol-names.js
+++ b/test/language/statements/class/fields-new-sc-line-gen-static-computed-symbol-names.js
@@ -30,7 +30,7 @@ class C {
 
 var c = new C();
 
-assert.sameValue(c.g().next().value, 42);
+assert.sameValue(c.m().next().value, 42);
 assert.sameValue(c.m, C.prototype.m);
 assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
 
diff --git a/test/language/statements/class/fields-new-sc-line-gen-static-literal-names.js b/test/language/statements/class/fields-new-sc-line-gen-static-literal-names.js
index 17c11a6ced..0857061292 100644
--- a/test/language/statements/class/fields-new-sc-line-gen-static-literal-names.js
+++ b/test/language/statements/class/fields-new-sc-line-gen-static-literal-names.js
@@ -30,7 +30,7 @@ class C {
 
 var c = new C();
 
-assert.sameValue(c.g().next().value, 42);
+assert.sameValue(c.m().next().value, 42);
 assert.sameValue(c.m, C.prototype.m);
 assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
 
diff --git a/test/language/statements/class/fields-new-sc-line-gen-string-literal-names.js b/test/language/statements/class/fields-new-sc-line-gen-string-literal-names.js
index 85ea958d0c..3af49c3e73 100644
--- a/test/language/statements/class/fields-new-sc-line-gen-string-literal-names.js
+++ b/test/language/statements/class/fields-new-sc-line-gen-string-literal-names.js
@@ -28,7 +28,7 @@ class C {
 
 var c = new C();
 
-assert.sameValue(c.g().next().value, 42);
+assert.sameValue(c.m().next().value, 42);
 assert.sameValue(c.m, C.prototype.m);
 assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
 
@@ -42,6 +42,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/statements/class/fields-new-sc-line-method-computed-names.js b/test/language/statements/class/fields-new-sc-line-method-computed-names.js
index ccc1a75c8a..068460510b 100644
--- a/test/language/statements/class/fields-new-sc-line-method-computed-names.js
+++ b/test/language/statements/class/fields-new-sc-line-method-computed-names.js
@@ -77,7 +77,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/statements/class/fields-new-sc-line-method-string-literal-names.js b/test/language/statements/class/fields-new-sc-line-method-string-literal-names.js
index 28988a4ac3..e7ec07376b 100644
--- a/test/language/statements/class/fields-new-sc-line-method-string-literal-names.js
+++ b/test/language/statements/class/fields-new-sc-line-method-string-literal-names.js
@@ -42,6 +42,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/statements/class/fields-regular-definitions-computed-names.js b/test/language/statements/class/fields-regular-definitions-computed-names.js
index da34a7e647..bdb9526756 100644
--- a/test/language/statements/class/fields-regular-definitions-computed-names.js
+++ b/test/language/statements/class/fields-regular-definitions-computed-names.js
@@ -66,7 +66,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/statements/class/fields-regular-definitions-string-literal-names.js b/test/language/statements/class/fields-regular-definitions-string-literal-names.js
index 3de28394e4..1b94eced59 100644
--- a/test/language/statements/class/fields-regular-definitions-string-literal-names.js
+++ b/test/language/statements/class/fields-regular-definitions-string-literal-names.js
@@ -31,6 +31,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/statements/class/fields-same-line-async-gen-computed-names.js b/test/language/statements/class/fields-same-line-async-gen-computed-names.js
index d5a9a08945..36e849a3ac 100644
--- a/test/language/statements/class/fields-same-line-async-gen-computed-names.js
+++ b/test/language/statements/class/fields-same-line-async-gen-computed-names.js
@@ -35,7 +35,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "a"), false);
@@ -75,12 +75,13 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
 });
 
 c.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/statements/class/fields-same-line-async-gen-computed-symbol-names.js b/test/language/statements/class/fields-same-line-async-gen-computed-symbol-names.js
index 12ed08d066..6b5438594f 100644
--- a/test/language/statements/class/fields-same-line-async-gen-computed-symbol-names.js
+++ b/test/language/statements/class/fields-same-line-async-gen-computed-symbol-names.js
@@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false);
 assert.sameValue(Object.hasOwnProperty.call(C, x), false);
@@ -67,5 +67,6 @@ assert.sameValue(Object.hasOwnProperty.call(C, "y"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "y"), false);
 
 c.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/statements/class/fields-same-line-async-gen-literal-names.js b/test/language/statements/class/fields-same-line-async-gen-literal-names.js
index b42348da54..b53f1eb39e 100644
--- a/test/language/statements/class/fields-same-line-async-gen-literal-names.js
+++ b/test/language/statements/class/fields-same-line-async-gen-literal-names.js
@@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
@@ -70,5 +70,6 @@ verifyProperty(c, "c", {
 
 
 c.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/statements/class/fields-same-line-async-gen-static-computed-names.js b/test/language/statements/class/fields-same-line-async-gen-static-computed-names.js
index 725743a1c9..36cc96868d 100644
--- a/test/language/statements/class/fields-same-line-async-gen-static-computed-names.js
+++ b/test/language/statements/class/fields-same-line-async-gen-static-computed-names.js
@@ -34,7 +34,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 
@@ -53,5 +53,6 @@ verifyProperty(c, "a", {
 });
 
 c.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/statements/class/fields-same-line-async-gen-static-computed-symbol-names.js b/test/language/statements/class/fields-same-line-async-gen-static-computed-symbol-names.js
index ddf3c70667..19ef041227 100644
--- a/test/language/statements/class/fields-same-line-async-gen-static-computed-symbol-names.js
+++ b/test/language/statements/class/fields-same-line-async-gen-static-computed-symbol-names.js
@@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false);
 assert.sameValue(Object.hasOwnProperty.call(C, x), false);
@@ -67,5 +67,6 @@ assert.sameValue(Object.hasOwnProperty.call(C, "y"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "y"), false);
 
 c.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/statements/class/fields-same-line-async-gen-static-literal-names.js b/test/language/statements/class/fields-same-line-async-gen-static-literal-names.js
index 6958ec40e7..43f38752c8 100644
--- a/test/language/statements/class/fields-same-line-async-gen-static-literal-names.js
+++ b/test/language/statements/class/fields-same-line-async-gen-static-literal-names.js
@@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "a"), false);
@@ -70,5 +70,6 @@ verifyProperty(C, "c", {
 
 
 c.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/statements/class/fields-same-line-async-gen-string-literal-names.js b/test/language/statements/class/fields-same-line-async-gen-string-literal-names.js
index 9b8b18af14..37786f7fda 100644
--- a/test/language/statements/class/fields-same-line-async-gen-string-literal-names.js
+++ b/test/language/statements/class/fields-same-line-async-gen-string-literal-names.js
@@ -34,12 +34,42 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
@@ -47,5 +77,6 @@ verifyProperty(c, "a", {
 });
 
 c.m().next().then(function(v) {
-  assert.sameValue(v, 42);
+  assert.sameValue(v.value, 42);
+  assert.sameValue(v.done, true);
 }, $DONE).then($DONE, $DONE);
diff --git a/test/language/statements/class/fields-same-line-async-method-computed-names.js b/test/language/statements/class/fields-same-line-async-method-computed-names.js
index b662f133ff..6f4bde6798 100644
--- a/test/language/statements/class/fields-same-line-async-method-computed-names.js
+++ b/test/language/statements/class/fields-same-line-async-method-computed-names.js
@@ -35,7 +35,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "a"), false);
@@ -75,7 +75,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/statements/class/fields-same-line-async-method-computed-symbol-names.js b/test/language/statements/class/fields-same-line-async-method-computed-symbol-names.js
index 56be7bd43b..10b9a55114 100644
--- a/test/language/statements/class/fields-same-line-async-method-computed-symbol-names.js
+++ b/test/language/statements/class/fields-same-line-async-method-computed-symbol-names.js
@@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false);
 assert.sameValue(Object.hasOwnProperty.call(C, x), false);
diff --git a/test/language/statements/class/fields-same-line-async-method-literal-names.js b/test/language/statements/class/fields-same-line-async-method-literal-names.js
index 0b6f6da91d..7c1a009b46 100644
--- a/test/language/statements/class/fields-same-line-async-method-literal-names.js
+++ b/test/language/statements/class/fields-same-line-async-method-literal-names.js
@@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
diff --git a/test/language/statements/class/fields-same-line-async-method-static-computed-names.js b/test/language/statements/class/fields-same-line-async-method-static-computed-names.js
index 355ab2ccd5..ee88f33e7b 100644
--- a/test/language/statements/class/fields-same-line-async-method-static-computed-names.js
+++ b/test/language/statements/class/fields-same-line-async-method-static-computed-names.js
@@ -34,7 +34,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 
diff --git a/test/language/statements/class/fields-same-line-async-method-static-computed-symbol-names.js b/test/language/statements/class/fields-same-line-async-method-static-computed-symbol-names.js
index 9e81020f92..0e3cb44619 100644
--- a/test/language/statements/class/fields-same-line-async-method-static-computed-symbol-names.js
+++ b/test/language/statements/class/fields-same-line-async-method-static-computed-symbol-names.js
@@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false);
 assert.sameValue(Object.hasOwnProperty.call(C, x), false);
diff --git a/test/language/statements/class/fields-same-line-async-method-static-literal-names.js b/test/language/statements/class/fields-same-line-async-method-static-literal-names.js
index 8fa7c18721..631504b9b3 100644
--- a/test/language/statements/class/fields-same-line-async-method-static-literal-names.js
+++ b/test/language/statements/class/fields-same-line-async-method-static-literal-names.js
@@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(c, "a"), false);
diff --git a/test/language/statements/class/fields-same-line-async-method-string-literal-names.js b/test/language/statements/class/fields-same-line-async-method-string-literal-names.js
index 149008d373..5fa7293986 100644
--- a/test/language/statements/class/fields-same-line-async-method-string-literal-names.js
+++ b/test/language/statements/class/fields-same-line-async-method-string-literal-names.js
@@ -34,12 +34,42 @@ verifyProperty(C.prototype, "m", {
   enumerable: false,
   configurable: true,
   writable: true,
-});
+}, {restore: true});
 
 assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/statements/class/fields-same-line-gen-computed-names.js b/test/language/statements/class/fields-same-line-gen-computed-names.js
index bea9a04f4d..8c1a36923b 100644
--- a/test/language/statements/class/fields-same-line-gen-computed-names.js
+++ b/test/language/statements/class/fields-same-line-gen-computed-names.js
@@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/statements/class/fields-same-line-gen-string-literal-names.js b/test/language/statements/class/fields-same-line-gen-string-literal-names.js
index 2b204ab5ff..9f78333a3b 100644
--- a/test/language/statements/class/fields-same-line-gen-string-literal-names.js
+++ b/test/language/statements/class/fields-same-line-gen-string-literal-names.js
@@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/statements/class/fields-same-line-method-computed-names.js b/test/language/statements/class/fields-same-line-method-computed-names.js
index ad7135a649..4a9ae59e11 100644
--- a/test/language/statements/class/fields-same-line-method-computed-names.js
+++ b/test/language/statements/class/fields-same-line-method-computed-names.js
@@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/statements/class/fields-same-line-method-string-literal-names.js b/test/language/statements/class/fields-same-line-method-string-literal-names.js
index 4a4f6d37f3..8b47831ac0 100644
--- a/test/language/statements/class/fields-same-line-method-string-literal-names.js
+++ b/test/language/statements/class/fields-same-line-method-string-literal-names.js
@@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
diff --git a/test/language/statements/class/fields-wrapped-in-sc-computed-names.js b/test/language/statements/class/fields-wrapped-in-sc-computed-names.js
index 14f2400c6a..8b9c1cdf69 100644
--- a/test/language/statements/class/fields-wrapped-in-sc-computed-names.js
+++ b/test/language/statements/class/fields-wrapped-in-sc-computed-names.js
@@ -68,7 +68,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
 assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
 
 verifyProperty(c, "not initialized", {
-  value: "meep",
+  value: undefined,
   enumerable: true,
   writable: true,
   configurable: true
diff --git a/test/language/statements/class/fields-wrapped-in-sc-string-literal-names.js b/test/language/statements/class/fields-wrapped-in-sc-string-literal-names.js
index 03155320b0..7eccf5a2ef 100644
--- a/test/language/statements/class/fields-wrapped-in-sc-string-literal-names.js
+++ b/test/language/statements/class/fields-wrapped-in-sc-string-literal-names.js
@@ -33,6 +33,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
 assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
 
 verifyProperty(c, "a", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
+
+verifyProperty(c, "b", {
+  value: undefined,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
+
+verifyProperty(c, "c", {
+  value: 39,
+  enumerable: true,
+  writable: true,
+  configurable: true
+});
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
+assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
+
+verifyProperty(c, "d", {
   value: 42,
   enumerable: true,
   writable: true,
-- 
GitLab