summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/language/statements/function/early-errors/invalid-names-call-expression-this.js
blob: eb7b2b5f8bf8a5a4d5eed3521e07d948fa915180 (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
// |reftest| error:SyntaxError
// This file was procedurally generated from the following sources:
// - src/invalid-private-names/call-expression-this.case
// - src/invalid-private-names/default/function-decl.template
/*---
description: this evaluated in call expression (Invalid private names should throw a SyntaxError, inside function declaration)
esid: sec-static-semantics-early-errors
features: [class-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    ScriptBody:StatementList
      It is a Syntax Error if AllPrivateNamesValid of StatementList with an empty List
      as an argument is false unless the source code is eval code that is being
      processed by a direct eval.

    ModuleBody:ModuleItemList
      It is a Syntax Error if AllPrivateNamesValid of ModuleItemList with an empty List
      as an argument is false.


    Static Semantics: AllPrivateNamesValid

    MemberExpression : MemberExpression . PrivateName

    1. If StringValue of PrivateName is in names, return true.
    2. Return false.

    CallExpression : CallExpression . PrivateName

    1. If StringValue of PrivateName is in names, return true.
    2. Return false.

---*/


$DONOTEVALUATE();

function fn() { (() => this)().#x }