| // Copyright (C) 2017 Valerie Young. All rights reserved. |
| // This code is governed by the BSD license found in the LICENSE file. |
| |
| /*--- |
| esid: sec-class-definitions-static-semantics-early-errors |
| path: language/statements/class/elements/syntax/early-errors/delete/method-delete- |
| name: in method |
| info: | |
| This file must never use the onlyStrict flag as the strict mode should always |
| be observed inside class bodies. |
| |
| Static Semantics: Early Errors |
| |
| UnaryExpression : delete UnaryExpression |
| |
| It is a Syntax Error if the UnaryExpression is contained in strict mode |
| code and the derived UnaryExpression is |
| PrimaryExpression : IdentifierReference , |
| MemberExpression : MemberExpression.PrivateName , or |
| CallExpression : CallExpression.PrivateName . |
| features: [class, class-fields-private] |
| negative: |
| type: SyntaxError |
| phase: parse |
| ---*/ |
| |
| $DONOTEVALUATE(); |
| |
| class C { |
| #x; |
| |
| x() { |
| /*{ infunctionsetup }*/ |
| delete /*{ expression }*/; |
| } |
| |
| /*{ functiondeclaration }*/ |
| } |