summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/language/expressions/object/method-definition/private-name-early-error-set-method-inside-class.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/language/expressions/object/method-definition/private-name-early-error-set-method-inside-class.js')
-rw-r--r--js/src/tests/test262/language/expressions/object/method-definition/private-name-early-error-set-method-inside-class.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/expressions/object/method-definition/private-name-early-error-set-method-inside-class.js b/js/src/tests/test262/language/expressions/object/method-definition/private-name-early-error-set-method-inside-class.js
new file mode 100644
index 0000000000..73fac9e29f
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/object/method-definition/private-name-early-error-set-method-inside-class.js
@@ -0,0 +1,27 @@
+// |reftest| error:SyntaxError
+// Copyright (C) 2018 Leo Balter. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-method-definitions-static-semantics-early-errors
+description: >
+ Throws an early SyntaxError if a method definition has a private name even
+ inside a class body. (getter method)
+info: |
+ Static Semantics: Early Errors
+
+ PropertyDefinition : MethodDefinition
+ It is a Syntax Error if PrivateBoundNames of MethodDefinition is non-empty.
+negative:
+ phase: parse
+ type: SyntaxError
+features: [class-methods-private, class, class-fields-public]
+---*/
+
+$DONOTEVALUATE();
+
+class C {
+ field = {
+ set #m(x) {}
+ }
+}