diff options
Diffstat (limited to 'src/class-fields/eval-err-contains-arguments.case')
| -rw-r--r-- | src/class-fields/eval-err-contains-arguments.case | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/class-fields/eval-err-contains-arguments.case b/src/class-fields/eval-err-contains-arguments.case new file mode 100644 index 000000000..7cf7fd2c6 --- /dev/null +++ b/src/class-fields/eval-err-contains-arguments.case @@ -0,0 +1,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-fields] +template: initializer-eval +---*/ + +//- initializer +arguments +//- earlyerror +SyntaxError +//- executionerror +ReferenceError |
