summaryrefslogtreecommitdiff
path: root/src/class-fields/eval-err-contains-arguments.case
blob: 9f3b661fd5976392d5aaa3019cb076737a1b72ae (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
// Copyright (C) 2017 Valerie Young. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
desc: error if `arguments` in StatementList of eval
info: |
  Additional Early Error Rules for Eval Inside Initializer
  These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
  ScriptBody : StatementList

    It is a Syntax Error if ContainsArguments of StatementList is true.
    ...

  Static Semantics: ContainsArguments
    IdentifierReference : Identifier

    1. If the StringValue of Identifier is "arguments", return true.
    ...
    For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
features: [class, class-fields-public]
template: initializer-eval-arguments
---*/

//- initializer
arguments
//- earlyerror
SyntaxError
//- executionerror
ReferenceError