blob: f76f8015b9f5dc5539200453b993966d6ba8c91c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
// |reftest| error:SyntaxError
// This file was procedurally generated from the following sources:
// - src/class-elements/err-delete-member-expression-private-method-async.case
// - src/class-elements/delete-error/cls-decl-method-delete-twice-covered.template
/*---
description: It's a SyntaxError if delete operator is applied to MemberExpression.PrivateName async method (in method, recursively covered)
esid: sec-class-definitions-static-semantics-early-errors
features: [class-methods-private, async-functions, class, class-fields-private]
flags: [generated]
negative:
phase: parse
type: SyntaxError
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 .
It is a Syntax Error if the derived UnaryExpression is
PrimaryExpression : CoverParenthesizedExpressionAndArrowParameterList and
CoverParenthesizedExpressionAndArrowParameterList ultimately derives a
phrase that, if used in place of UnaryExpression, would produce a
Syntax Error according to these rules. This rule is recursively applied.
---*/
$DONOTEVALUATE();
class C {
#x;
x() {
delete ((this.#m
));
}
async #m() {}
}
|