diff --git a/src/class-fields/default/cls-decl-after-same-line-async-gen.template b/src/class-fields/default/cls-decl-after-same-line-async-gen.template
index 0e8b27edce05ed95d4b4788664dc7c7c8387adb6..2b7019564c5b82f0cab909fccb2a5ce3407c9c02 100644
--- a/src/class-fields/default/cls-decl-after-same-line-async-gen.template
+++ b/src/class-fields/default/cls-decl-after-same-line-async-gen.template
@@ -11,6 +11,7 @@ esid: prod-FieldDefinition
 
 class C {
   async *m() { return 42; } /*{ fields }*/;
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-decl-after-same-line-async-method.template b/src/class-fields/default/cls-decl-after-same-line-async-method.template
index 531c7f835b0e97ea861ebe56539390763a9402c9..4834b53fc5b025e93067d82bc2d9685582dd5c3c 100644
--- a/src/class-fields/default/cls-decl-after-same-line-async-method.template
+++ b/src/class-fields/default/cls-decl-after-same-line-async-method.template
@@ -11,6 +11,7 @@ esid: prod-FieldDefinition
 
 class C {
   async m() { return 42; } /*{ fields }*/;
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-decl-after-same-line-gen.template b/src/class-fields/default/cls-decl-after-same-line-gen.template
index 876e0d8c5ac73990f24eea0408b0bbfac6d083fc..635294c5dfa550c50ae90f75b828b723900fce43 100644
--- a/src/class-fields/default/cls-decl-after-same-line-gen.template
+++ b/src/class-fields/default/cls-decl-after-same-line-gen.template
@@ -10,6 +10,7 @@ esid: prod-FieldDefinition
 
 class C {
   *m() { return 42; } /*{ fields }*/;
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-decl-after-same-line-method.template b/src/class-fields/default/cls-decl-after-same-line-method.template
index 5e8dffcbd2d1b9596be372375bd6ab5ac5d67132..3ad70efd6f37032def876bdb9b7cd862a5d20f03 100644
--- a/src/class-fields/default/cls-decl-after-same-line-method.template
+++ b/src/class-fields/default/cls-decl-after-same-line-method.template
@@ -10,6 +10,7 @@ esid: prod-FieldDefinition
 
 class C {
   m() { return 42; } /*{ fields }*/;
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-decl-after-same-line-static-async-gen.template b/src/class-fields/default/cls-decl-after-same-line-static-async-gen.template
index 223bfd345581bb608e46c4e6065f7a1ccac83556..60176379aeccaefbb19de816ad1024254daeb845 100644
--- a/src/class-fields/default/cls-decl-after-same-line-static-async-gen.template
+++ b/src/class-fields/default/cls-decl-after-same-line-static-async-gen.template
@@ -11,6 +11,7 @@ esid: prod-FieldDefinition
 
 class C {
   static async *m() { return 42; } /*{ fields }*/;
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-decl-after-same-line-static-async-method.template b/src/class-fields/default/cls-decl-after-same-line-static-async-method.template
index 70e6085c1d97999a0f99aced7d86d3d0aba0a32c..360df4a7f9538b89552547f940317169550bf74a 100644
--- a/src/class-fields/default/cls-decl-after-same-line-static-async-method.template
+++ b/src/class-fields/default/cls-decl-after-same-line-static-async-method.template
@@ -11,6 +11,7 @@ esid: prod-FieldDefinition
 
 class C {
   static async m() { return 42; } /*{ fields }*/;
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-decl-after-same-line-static-gen.template b/src/class-fields/default/cls-decl-after-same-line-static-gen.template
index d89d9975a28e5ccadef02803df51fd82c558cd49..2a9fdff3a0f80e56220a630777ef4ff5b68adc1d 100644
--- a/src/class-fields/default/cls-decl-after-same-line-static-gen.template
+++ b/src/class-fields/default/cls-decl-after-same-line-static-gen.template
@@ -10,6 +10,7 @@ esid: prod-FieldDefinition
 
 class C {
   static *m() { return 42; } /*{ fields }*/;
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-decl-after-same-line-static-method.template b/src/class-fields/default/cls-decl-after-same-line-static-method.template
index 0f412da85b80165d094270c8b55b44d560d99769..568b3c564778e8a8497b339f2abcd76c2d8f7899 100644
--- a/src/class-fields/default/cls-decl-after-same-line-static-method.template
+++ b/src/class-fields/default/cls-decl-after-same-line-static-method.template
@@ -10,6 +10,7 @@ esid: prod-FieldDefinition
 
 class C {
   static m() { return 42; } /*{ fields }*/;
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-decl-multiple-definitions.template b/src/class-fields/default/cls-decl-multiple-definitions.template
index e481f94dda8401de6296efef9ba0fc8c57461abb..5671a0b6c49cd1a1a4b8ea105bbf135be812425b 100644
--- a/src/class-fields/default/cls-decl-multiple-definitions.template
+++ b/src/class-fields/default/cls-decl-multiple-definitions.template
@@ -14,6 +14,7 @@ class C {
   /*{ fields }*/
   m2() { return 39 }
   bar = "barbaz";
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-decl-multiple-stacked-definitions.template b/src/class-fields/default/cls-decl-multiple-stacked-definitions.template
index 6a16f68f9627bc54fd10b58e4343197573aee6fa..36515109eaa2ab1cb04a2b297afbc4ca3228f7ac 100644
--- a/src/class-fields/default/cls-decl-multiple-stacked-definitions.template
+++ b/src/class-fields/default/cls-decl-multiple-stacked-definitions.template
@@ -12,6 +12,7 @@ class C {
   /*{ fields }*/
   foo = "foobar"
   bar = "barbaz";
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-decl-new-no-sc-line-method.template b/src/class-fields/default/cls-decl-new-no-sc-line-method.template
index d87e9152e914e76f0aefe41409285d3a0a09b2fe..56037a513ab990953bb5eabe19c6a3827a1e5c09 100644
--- a/src/class-fields/default/cls-decl-new-no-sc-line-method.template
+++ b/src/class-fields/default/cls-decl-new-no-sc-line-method.template
@@ -11,6 +11,7 @@ esid: prod-FieldDefinition
 class C {
   /*{ fields }*/
   m() { return 42; }
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-decl-new-sc-line-generator.template b/src/class-fields/default/cls-decl-new-sc-line-generator.template
index 3be29af985884961a4cdd868600163e4b02a5233..40098a78101235d485a5c2c2ee73b790a8c8dad8 100644
--- a/src/class-fields/default/cls-decl-new-sc-line-generator.template
+++ b/src/class-fields/default/cls-decl-new-sc-line-generator.template
@@ -11,6 +11,7 @@ esid: prod-FieldDefinition
 class C {
   /*{ fields }*/;
   *m() { return 42; }
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-decl-new-sc-line-method.template b/src/class-fields/default/cls-decl-new-sc-line-method.template
index 640244370ab99fdd3a68df70a10e1736d0989d60..6f5635646679fb95d969f9d4ae4cdfa5c97c30ff 100644
--- a/src/class-fields/default/cls-decl-new-sc-line-method.template
+++ b/src/class-fields/default/cls-decl-new-sc-line-method.template
@@ -11,6 +11,7 @@ esid: prod-FieldDefinition
 class C {
   /*{ fields }*/;
   m() { return 42; }
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-decl-regular-definitions.template b/src/class-fields/default/cls-decl-regular-definitions.template
index 9d1ee0c2831de8e376d7219a91fb745ee5b0ee62..4ccdd76f7fc18b481be5fa5d102f5c40ec4b5695 100644
--- a/src/class-fields/default/cls-decl-regular-definitions.template
+++ b/src/class-fields/default/cls-decl-regular-definitions.template
@@ -10,6 +10,7 @@ esid: prod-FieldDefinition
 
 class C {
   /*{ fields }*/
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-decl-same-line-generator.template b/src/class-fields/default/cls-decl-same-line-generator.template
index 1c4fa07d716b890ae7b30c570296e3bed9c0220f..182d9df50d626406bdcabcbf6fbfad58a8ca5acd 100644
--- a/src/class-fields/default/cls-decl-same-line-generator.template
+++ b/src/class-fields/default/cls-decl-same-line-generator.template
@@ -10,6 +10,7 @@ esid: prod-FieldDefinition
 
 class C {
   /*{ fields }*/; *m() { return 42; }
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-decl-same-line-method.template b/src/class-fields/default/cls-decl-same-line-method.template
index 2a825bee8b2d830e2758fd1b2e5ecbed9e768d66..c94c864bdd2efbfbd83c73ac8ea3491ec51a6826 100644
--- a/src/class-fields/default/cls-decl-same-line-method.template
+++ b/src/class-fields/default/cls-decl-same-line-method.template
@@ -10,6 +10,7 @@ esid: prod-FieldDefinition
 
 class C {
   /*{ fields }*/; m() { return 42; }
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-decl-wrapped-in-sc.template b/src/class-fields/default/cls-decl-wrapped-in-sc.template
index 5d04a5622e4c12d326187731e65ffdbe668e7833..b76403262a17b4c30197ca73cc578c5587bfc9ac 100644
--- a/src/class-fields/default/cls-decl-wrapped-in-sc.template
+++ b/src/class-fields/default/cls-decl-wrapped-in-sc.template
@@ -12,6 +12,7 @@ class C {
   ;;;;
   ;;;;;;/*{ fields }*/;;;;;;;
   ;;;;
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-expr-after-same-line-async-gen.template b/src/class-fields/default/cls-expr-after-same-line-async-gen.template
index cb27c785c8a94aa666a13ed83918934aeacefae0..3a1a6f4630432f7d56052f49c68793972362801c 100644
--- a/src/class-fields/default/cls-expr-after-same-line-async-gen.template
+++ b/src/class-fields/default/cls-expr-after-same-line-async-gen.template
@@ -11,6 +11,7 @@ esid: prod-FieldDefinition
 
 var C = class {
   async *m() { return 42; } /*{ fields }*/;
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-expr-after-same-line-async-method.template b/src/class-fields/default/cls-expr-after-same-line-async-method.template
index eafc614d7b5c419d60a5ac059c7c5cc180bdfe39..87c137ce2d20eb675e046672e46f07dd53ede63f 100644
--- a/src/class-fields/default/cls-expr-after-same-line-async-method.template
+++ b/src/class-fields/default/cls-expr-after-same-line-async-method.template
@@ -11,6 +11,7 @@ esid: prod-FieldDefinition
 
 var C = class {
   async m() { return 42; } /*{ fields }*/;
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-expr-after-same-line-gen.template b/src/class-fields/default/cls-expr-after-same-line-gen.template
index 07e7a485d63892684a36e14b7bf5a38e23eb9fda..58aa427d3a7ad0b189da05bfdcc3a58e42101c80 100644
--- a/src/class-fields/default/cls-expr-after-same-line-gen.template
+++ b/src/class-fields/default/cls-expr-after-same-line-gen.template
@@ -10,6 +10,7 @@ esid: prod-FieldDefinition
 
 var C = class {
   *m() { return 42; } /*{ fields }*/;
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-expr-after-same-line-method.template b/src/class-fields/default/cls-expr-after-same-line-method.template
index 70fca8fe2204787b9e722478bd5ee063a795298d..d9e6703d6a3e561611f8e741e9ed521f4aa03004 100644
--- a/src/class-fields/default/cls-expr-after-same-line-method.template
+++ b/src/class-fields/default/cls-expr-after-same-line-method.template
@@ -10,6 +10,7 @@ esid: prod-FieldDefinition
 
 var C = class {
   m() { return 42; } /*{ fields }*/;
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-expr-after-same-line-static-async-gen.template b/src/class-fields/default/cls-expr-after-same-line-static-async-gen.template
index 1f34b5cf87e4e3ff68d0213b75ee114f03263f13..f19896d7afde227644f5d909608753b017143fbb 100644
--- a/src/class-fields/default/cls-expr-after-same-line-static-async-gen.template
+++ b/src/class-fields/default/cls-expr-after-same-line-static-async-gen.template
@@ -11,6 +11,7 @@ esid: prod-FieldDefinition
 
 var C = class {
   static async *m() { return 42; } /*{ fields }*/;
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-expr-after-same-line-static-async-method.template b/src/class-fields/default/cls-expr-after-same-line-static-async-method.template
index e4a9657d772439a5ca577d776707146b2397dcae..0b0ae19ec4b6ad4766f05b9a05daecb0169a57f2 100644
--- a/src/class-fields/default/cls-expr-after-same-line-static-async-method.template
+++ b/src/class-fields/default/cls-expr-after-same-line-static-async-method.template
@@ -11,6 +11,7 @@ esid: prod-FieldDefinition
 
 var C = class {
   static async m() { return 42; } /*{ fields }*/;
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-expr-after-same-line-static-gen.template b/src/class-fields/default/cls-expr-after-same-line-static-gen.template
index c64467527dc9946c26e50afc59101adb40ac5da5..1eff6019a1795b0edc52fe62b600523f5d25b062 100644
--- a/src/class-fields/default/cls-expr-after-same-line-static-gen.template
+++ b/src/class-fields/default/cls-expr-after-same-line-static-gen.template
@@ -10,6 +10,7 @@ esid: prod-FieldDefinition
 
 var C = class {
   static *m() { return 42; } /*{ fields }*/;
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-expr-after-same-line-static-method.template b/src/class-fields/default/cls-expr-after-same-line-static-method.template
index 56f677a9bf83018b34b72e5e6b64377e7757c606..162137947345a3a26a6415334ceacf76b1d68f89 100644
--- a/src/class-fields/default/cls-expr-after-same-line-static-method.template
+++ b/src/class-fields/default/cls-expr-after-same-line-static-method.template
@@ -10,6 +10,7 @@ esid: prod-FieldDefinition
 
 var C = class {
   static m() { return 42; } /*{ fields }*/;
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-expr-multiple-definitions.template b/src/class-fields/default/cls-expr-multiple-definitions.template
index 543b9f2b0f45c08986904490f00a2fca3ccfbcfb..8a786bf9e58ea8c989279c8f1c5a54caef6502a0 100644
--- a/src/class-fields/default/cls-expr-multiple-definitions.template
+++ b/src/class-fields/default/cls-expr-multiple-definitions.template
@@ -14,6 +14,7 @@ var C = class {
   /*{ fields }*/
   m2() { return 39 }
   bar = "barbaz";
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-expr-multiple-stacked-definitions.template b/src/class-fields/default/cls-expr-multiple-stacked-definitions.template
index 6bf9a746f51e7bce3a982f5f2409b0b31a62842d..a1c53aee195f73588aca550ee4b5a5f4ca9da3b9 100644
--- a/src/class-fields/default/cls-expr-multiple-stacked-definitions.template
+++ b/src/class-fields/default/cls-expr-multiple-stacked-definitions.template
@@ -12,6 +12,7 @@ var C = class {
   /*{ fields }*/
   foo = "foobar"
   bar = "barbaz";
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-expr-new-no-sc-line-method.template b/src/class-fields/default/cls-expr-new-no-sc-line-method.template
index 88045824da7744ac97ccf2477a8183fc6cf15c8a..50e6762adab84aa00678d6e448242bbfe3694dfb 100644
--- a/src/class-fields/default/cls-expr-new-no-sc-line-method.template
+++ b/src/class-fields/default/cls-expr-new-no-sc-line-method.template
@@ -11,6 +11,7 @@ esid: prod-FieldDefinition
 var C = class {
   /*{ fields }*/
   m() { return 42; }
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-expr-new-sc-line-generator.template b/src/class-fields/default/cls-expr-new-sc-line-generator.template
index 022c5b8ffaf9940ec648cc052492289d8188a776..143317368533afa04e74795c5ad428dbb500efcf 100644
--- a/src/class-fields/default/cls-expr-new-sc-line-generator.template
+++ b/src/class-fields/default/cls-expr-new-sc-line-generator.template
@@ -11,6 +11,7 @@ esid: prod-FieldDefinition
 var C = class {
   /*{ fields }*/;
   *m() { return 42; }
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-expr-new-sc-line-method.template b/src/class-fields/default/cls-expr-new-sc-line-method.template
index 04cc5d7f1b7beec0a0d39861ded67fa8a56ece79..3e7291ad66da34738fe7a961fbf32a9b8bc01820 100644
--- a/src/class-fields/default/cls-expr-new-sc-line-method.template
+++ b/src/class-fields/default/cls-expr-new-sc-line-method.template
@@ -11,6 +11,7 @@ esid: prod-FieldDefinition
 var C = class {
   /*{ fields }*/;
   m() { return 42; }
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-expr-regular-definitions.template b/src/class-fields/default/cls-expr-regular-definitions.template
index 65cea698c72595687702593a7a2346085fe750ea..630c04f41cef9d8a404f1c07f6db161c168fdd40 100644
--- a/src/class-fields/default/cls-expr-regular-definitions.template
+++ b/src/class-fields/default/cls-expr-regular-definitions.template
@@ -10,6 +10,7 @@ esid: prod-FieldDefinition
 
 var C = class {
   /*{ fields }*/
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-expr-same-line-generator.template b/src/class-fields/default/cls-expr-same-line-generator.template
index b85431604a95e0f1f96d4b6368d39b26a1123f91..c6ee64851fc6289fbe60f4d6d951a1666c408610 100644
--- a/src/class-fields/default/cls-expr-same-line-generator.template
+++ b/src/class-fields/default/cls-expr-same-line-generator.template
@@ -10,6 +10,7 @@ esid: prod-FieldDefinition
 
 var C = class {
   /*{ fields }*/; *m() { return 42; }
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-expr-same-line-method.template b/src/class-fields/default/cls-expr-same-line-method.template
index 2b06fe7329f4b10cd51f193a698a6450068e5892..4c9602cafc31092fdd8ed3ffc88641e6d639b977 100644
--- a/src/class-fields/default/cls-expr-same-line-method.template
+++ b/src/class-fields/default/cls-expr-same-line-method.template
@@ -10,6 +10,7 @@ esid: prod-FieldDefinition
 
 var C = class {
   /*{ fields }*/; m() { return 42; }
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/default/cls-expr-wrapped-in-sc.template b/src/class-fields/default/cls-expr-wrapped-in-sc.template
index 6646d1b4c16c417d60fc6a2a9ee4c6935084a488..4f7397057fa79803d44d71beca4d5f7d60ca491f 100644
--- a/src/class-fields/default/cls-expr-wrapped-in-sc.template
+++ b/src/class-fields/default/cls-expr-wrapped-in-sc.template
@@ -12,6 +12,7 @@ var C = class {
   ;;;;
   ;;;;;;/*{ fields }*/;;;;;;;
   ;;;;
+/*{ privateinspectionfunctions }*/
 }
 
 var c = new C();
diff --git a/src/class-fields/private-names.case b/src/class-fields/private-names.case
new file mode 100644
index 0000000000000000000000000000000000000000..6987bcd7b29adb595e188ed1230dfb4d42962820
--- /dev/null
+++ b/src/class-fields/private-names.case
@@ -0,0 +1,50 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+desc: static literal private names
+info: |
+  ClassElement:
+    ...
+    FieldDefinition ;
+
+  FieldDefinition:
+    ClassElementName Initializer_opt
+
+  ClassElementName:
+    PrivateName
+
+  PrivateName:
+    #IdentifierName
+template: default
+---*/
+
+//- fields
+#x; #y
+//- privateinspectionfunctions
+  x() {
+    this.#x = 42;
+    return this.#x;
+  }
+  y() {
+    this.#y = 43;
+    return this.#y;
+  }
+//- assertions
+
+// Test the private fields do not appear as properties before set to value
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "#x"), false, "test 1");
+assert.sameValue(Object.hasOwnProperty.call(C, "#x"), false, "test 2");
+assert.sameValue(Object.hasOwnProperty.call(c, "#x"), false, "test 3");
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "#y"), false, "test 4");
+assert.sameValue(Object.hasOwnProperty.call(C, "#y"), false, "test 5");
+assert.sameValue(Object.hasOwnProperty.call(c, "#y"), false, "test 6");
+
+// Test if private fields can be sucessfully accessed and set to value
+assert.sameValue(c.x(), 42, "test 7");
+assert.sameValue(c.y(), 43, "test 8");
+
+// Test the private fields do not appear as properties before after set to value
+assert.sameValue(Object.hasOwnProperty.call(c, "#x"), false, "test 9");
+assert.sameValue(Object.hasOwnProperty.call(c, "#y"), false, "test 10");
diff --git a/src/class-fields/static-private-names.case b/src/class-fields/static-private-names.case
new file mode 100644
index 0000000000000000000000000000000000000000..464b53a9e99b976e9cf3b9985ded79ce189eb693
--- /dev/null
+++ b/src/class-fields/static-private-names.case
@@ -0,0 +1,50 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+desc: literal private names
+info: |
+  ClassElement:
+    ...
+    static FieldDefinition ;
+
+  FieldDefinition:
+    ClassElementName Initializer_opt
+
+  ClassElementName:
+    PrivateName
+
+  PrivateName:
+    #IdentifierName
+template: default
+---*/
+
+//- fields
+static #x; static #y
+//- privateinspectionfunctions
+  static x() {
+    this.#x = 42;
+    return this.#x;
+  }
+  static y() {
+    this.#y = 43;
+    return this.#y;
+  }
+//- assertions
+
+// Test the private fields do not appear as properties before set to value
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "#x"), false, "test 1");
+assert.sameValue(Object.hasOwnProperty.call(C, "#x"), false, "test 2");
+assert.sameValue(Object.hasOwnProperty.call(c, "#x"), false, "test 3");
+
+assert.sameValue(Object.hasOwnProperty.call(C.prototype, "#y"), false, "test 4");
+assert.sameValue(Object.hasOwnProperty.call(C, "#y"), false, "test 5");
+assert.sameValue(Object.hasOwnProperty.call(c, "#y"), false, "test 6");
+
+// Test if private fields can be sucessfully accessed and set to value
+assert.sameValue(C.x(), 42, "test 7");
+assert.sameValue(C.y(), 43, "test 8");
+
+// Test the private fields do not appear as properties before after set to value
+assert.sameValue(Object.hasOwnProperty.call(C, "#x"), false, "test 9");
+assert.sameValue(Object.hasOwnProperty.call(C, "#y"), false, "test 10");