diff --git a/src/class-elements/err-delete-call-expression-private-method-accessor-get.case b/src/class-elements/err-delete-call-expression-private-method-accessor-get.case
new file mode 100644
index 0000000000000000000000000000000000000000..04c72122a4e01d2b4815067552fd0f2ed0417869
--- /dev/null
+++ b/src/class-elements/err-delete-call-expression-private-method-accessor-get.case
@@ -0,0 +1,22 @@
+// Copyright (C) 2018 Leo Balter. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+desc: >
+  It's a SyntaxError if delete operator is applied to CallExpression.PrivateName
+  accessor get method
+template: delete-error
+features: [class-methods-private, class-fields-public]
+---*/
+
+//- infieldsetup
+g = this.f;
+//- infunctionsetup
+var g = this.f;
+//- expression
+g().#m
+//- functiondeclaration
+f() {
+return this;
+}
+get #m() {}
\ No newline at end of file
diff --git a/src/class-elements/err-delete-call-expression-private-method-accessor-set.case b/src/class-elements/err-delete-call-expression-private-method-accessor-set.case
new file mode 100644
index 0000000000000000000000000000000000000000..ea6458151e322e50d2db37a87e62b4c22dfa9f0d
--- /dev/null
+++ b/src/class-elements/err-delete-call-expression-private-method-accessor-set.case
@@ -0,0 +1,22 @@
+// Copyright (C) 2018 Leo Balter. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+desc: >
+  It's a SyntaxError if delete operator is applied to CallExpression.PrivateName
+  accessor set method
+template: delete-error
+features: [class, class-fields-private, class-methods-private, class-fields-public]
+---*/
+
+//- infieldsetup
+g = this.f;
+//- infunctionsetup
+var g = this.f;
+//- expression
+g().#m
+//- functiondeclaration
+f() {
+return this;
+}
+set #m(arg) {}
\ No newline at end of file
diff --git a/src/class-elements/err-delete-call-expression-private-method-async-gen.case b/src/class-elements/err-delete-call-expression-private-method-async-gen.case
index 76ca4b50abe26651c92dc70317cca219c653079c..74eed5f6478b60717fd4db925463b4fb69de5fe1 100644
--- a/src/class-elements/err-delete-call-expression-private-method-async-gen.case
+++ b/src/class-elements/err-delete-call-expression-private-method-async-gen.case
@@ -2,9 +2,11 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-desc: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName
+desc: >
+  It's a SyntaxError if delete operator is applied to CallExpression.PrivateName
+  async generator
 template: delete-error
-features: [class, class-fields-private, class-methods-private, class-fields-public]
+features: [class-methods-private, async-iteration]
 ---*/
 
 //- infieldsetup
diff --git a/src/class-elements/err-delete-call-expression-private-method-async.case b/src/class-elements/err-delete-call-expression-private-method-async.case
index 43a93be491df8ed5828422ccda49989184386d96..af2d7ca56f3122c2f8c07692601ed4fa814814b2 100644
--- a/src/class-elements/err-delete-call-expression-private-method-async.case
+++ b/src/class-elements/err-delete-call-expression-private-method-async.case
@@ -2,9 +2,11 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-desc: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName
+desc: >
+  It's a SyntaxError if delete operator is applied to CallExpression.PrivateName
+  async method
 template: delete-error
-features: [class, class-fields-private, class-methods-private, class-fields-public]
+features: [class-methods-private, async-functions]
 ---*/
 
 //- infieldsetup
diff --git a/src/class-elements/err-delete-call-expression-private-method-gen.case b/src/class-elements/err-delete-call-expression-private-method-gen.case
index 28d878c593d8295c25b28ae6688dc23ab04bd5eb..b264571e8c1188daa538b38aa2e52d946e22864c 100644
--- a/src/class-elements/err-delete-call-expression-private-method-gen.case
+++ b/src/class-elements/err-delete-call-expression-private-method-gen.case
@@ -2,9 +2,11 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-desc: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName
+desc: >
+  It's a SyntaxError if delete operator is applied to CallExpression.PrivateName
+  generator
 template: delete-error
-features: [class, class-fields-private, class-methods-private, class-fields-public]
+features: [class-methods-private, generators]
 ---*/
 
 //- infieldsetup
diff --git a/src/class-elements/err-delete-call-expression-private-method.case b/src/class-elements/err-delete-call-expression-private-method.case
index e542575dd0859afe086bf5c7916926012eef2f38..7a70217282efe0a9953675c914764771831a1fde 100644
--- a/src/class-elements/err-delete-call-expression-private-method.case
+++ b/src/class-elements/err-delete-call-expression-private-method.case
@@ -2,9 +2,11 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-desc: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName
+desc: >
+  It's a SyntaxError if delete operator is applied to CallExpression.PrivateName
+  private ordinary method
 template: delete-error
-features: [class, class-fields-private, class-methods-private, class-fields-public]
+features: [class-methods-private]
 ---*/
 
 //- infieldsetup
diff --git a/src/class-elements/err-delete-call-expression-private-no-reference.case b/src/class-elements/err-delete-call-expression-private-no-reference.case
new file mode 100644
index 0000000000000000000000000000000000000000..6ae6b52c5bad63171426a26c477cab5cba98508b
--- /dev/null
+++ b/src/class-elements/err-delete-call-expression-private-no-reference.case
@@ -0,0 +1,20 @@
+// Copyright (C) 2018 Leo Balter. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+desc: >
+  It's a SyntaxError if delete operator is applied to CallExpression.PrivateName
+  no referencing class element
+template: delete-error
+---*/
+
+//- infieldsetup
+g = this.f;
+//- infunctionsetup
+var g = this.f;
+//- expression
+g().#m
+//- functiondeclaration
+f() {
+return this;
+}
diff --git a/src/class-elements/err-delete-call-expression-privatename.case b/src/class-elements/err-delete-call-expression-privatename.case
index 22918e62df6f654cc877120dd880b984c8f5bd75..25e1339120d2a5cfe953c00b42b343a43e036774 100644
--- a/src/class-elements/err-delete-call-expression-privatename.case
+++ b/src/class-elements/err-delete-call-expression-privatename.case
@@ -2,9 +2,10 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-desc: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName
+desc: >
+  It's a SyntaxError if delete operator is applied to CallExpression.PrivateName
+  private field
 template: delete-error
-features: [class, class-fields-private, class-fields-public]
 ---*/
 
 //- infieldsetup
diff --git a/src/class-elements/err-delete-member-expression-private-method-accessor-get.case b/src/class-elements/err-delete-member-expression-private-method-accessor-get.case
new file mode 100644
index 0000000000000000000000000000000000000000..925f160ad5c005b3ad3f891be80696af373cb8f9
--- /dev/null
+++ b/src/class-elements/err-delete-member-expression-private-method-accessor-get.case
@@ -0,0 +1,16 @@
+// Copyright (C) 2018 Leo Balter. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+desc: >
+    It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName
+    accessor get method
+template: delete-error
+features: [class-methods-private]
+---*/
+
+//- expression
+this.#m
+
+//- functiondeclaration
+get #m() {}
\ No newline at end of file
diff --git a/src/class-elements/err-delete-member-expression-private-method-accessor-set.case b/src/class-elements/err-delete-member-expression-private-method-accessor-set.case
new file mode 100644
index 0000000000000000000000000000000000000000..e6cbd4760a6aa5dd98a5f51193f2e82657f50332
--- /dev/null
+++ b/src/class-elements/err-delete-member-expression-private-method-accessor-set.case
@@ -0,0 +1,16 @@
+// Copyright (C) 2018 Leo Balter. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+desc: >
+    It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName
+    accessor set method
+template: delete-error
+features: [class-methods-private]
+---*/
+
+//- expression
+this.#m
+
+//- functiondeclaration
+set #m(arg) {}
\ No newline at end of file
diff --git a/src/class-elements/err-delete-member-expression-private-method-async-gen.case b/src/class-elements/err-delete-member-expression-private-method-async-gen.case
index 3f8763f3ecc73bb046ab3367035877d2d98ae89e..e45c88d82681fcce5117967d0c73556c908e0c96 100644
--- a/src/class-elements/err-delete-member-expression-private-method-async-gen.case
+++ b/src/class-elements/err-delete-member-expression-private-method-async-gen.case
@@ -2,13 +2,15 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-desc: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName
+desc: >
+  It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName
+  async generator
 template: delete-error
-features: [class-methods-private]
+features: [class-methods-private, async-iteration]
 ---*/
 
 //- expression
 this.#m
 
 //- functiondeclaration
-async *#m() {}
\ No newline at end of file
+async *#m() {}
diff --git a/src/class-elements/err-delete-member-expression-private-method-async.case b/src/class-elements/err-delete-member-expression-private-method-async.case
index e42336f70093bf93a7483292614df15aa0c19612..05f5689515643595a8b6db216ceab927ef10a92d 100644
--- a/src/class-elements/err-delete-member-expression-private-method-async.case
+++ b/src/class-elements/err-delete-member-expression-private-method-async.case
@@ -2,13 +2,15 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-desc: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName
+desc: >
+  It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName
+  async method
 template: delete-error
-features: [class-methods-private]
+features: [class-methods-private, async-functions]
 ---*/
 
 //- expression
 this.#m
 
 //- functiondeclaration
-async #m() {}
\ No newline at end of file
+async #m() {}
diff --git a/src/class-elements/err-delete-member-expression-private-method-gen.case b/src/class-elements/err-delete-member-expression-private-method-gen.case
index 7eb0fafe875bcdc962b94c2d0c8f444ea7c52caf..4209e1efd1a022a4e14e89c47c29e9a743d75c41 100644
--- a/src/class-elements/err-delete-member-expression-private-method-gen.case
+++ b/src/class-elements/err-delete-member-expression-private-method-gen.case
@@ -2,13 +2,15 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-desc: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName
+desc: >
+  It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName
+  generator
 template: delete-error
-features: [class-methods-private]
+features: [class-methods-private, generators]
 ---*/
 
 //- expression
 this.#m
 
 //- functiondeclaration
-*#m() {}
\ No newline at end of file
+*#m() {}
diff --git a/src/class-elements/err-delete-member-expression-private-method.case b/src/class-elements/err-delete-member-expression-private-method.case
index b7dbe03f0a64127c05c9fea4fb945a76319a5f16..9b13b6288b8340974695bfedd95a30adf2a8679c 100644
--- a/src/class-elements/err-delete-member-expression-private-method.case
+++ b/src/class-elements/err-delete-member-expression-private-method.case
@@ -2,7 +2,9 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-desc: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName
+desc: >
+  It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName
+  private ordinary method
 template: delete-error
 features: [class-methods-private]
 ---*/
diff --git a/src/class-elements/err-delete-member-expression-private-no-reference.case b/src/class-elements/err-delete-member-expression-private-no-reference.case
new file mode 100644
index 0000000000000000000000000000000000000000..d22678b02e42f740a4875913408eb526cf62056d
--- /dev/null
+++ b/src/class-elements/err-delete-member-expression-private-no-reference.case
@@ -0,0 +1,12 @@
+// Copyright (C) 2018 Leo Balter. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+desc: >
+  It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName
+  no referencing class element
+template: delete-error
+---*/
+
+//- expression
+this.#m
diff --git a/src/class-elements/err-delete-member-expression-privatename.case b/src/class-elements/err-delete-member-expression-privatename.case
index 6b6a0e096369b6e88943a63ae06c8cd1ca5fadbe..0bc0bbd16ef52a75099fd307441ca38126f64c60 100644
--- a/src/class-elements/err-delete-member-expression-privatename.case
+++ b/src/class-elements/err-delete-member-expression-privatename.case
@@ -2,9 +2,10 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-desc: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName
+desc: >
+  It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName
+  private field
 template: delete-error
-features: [class-fields-private]
 ---*/
 
 //- expression