meth-object-destructuring-param-strict-body.js (5360B)
1 // |reftest| error:SyntaxError 2 // This file was procedurally generated from the following sources: 3 // - src/function-forms/object-destructuring-param-strict-body.case 4 // - src/function-forms/syntax/meth.template 5 /*--- 6 description: ObjectBindingPattern and Use Strict Directive are not allowed to coexist for the same function. (method) 7 esid: sec-runtime-semantics-definemethod 8 features: [rest-parameters] 9 flags: [generated] 10 negative: 11 phase: parse 12 type: SyntaxError 13 info: | 14 MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } 15 16 [...] 17 6. Let closure be FunctionCreate(kind, StrictFormalParameters, 18 FunctionBody, scope, strict). If functionPrototype was passed as a 19 parameter then pass its value as the functionPrototype optional argument 20 of FunctionCreate. 21 [...] 22 23 9.2.1 [[Call]] ( thisArgument, argumentsList) 24 25 [...] 26 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). 27 [...] 28 29 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 30 31 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). 32 [...] 33 34 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) 35 36 [...] 37 23. Let iteratorRecord be Record {[[iterator]]: 38 CreateListIterator(argumentsList), [[done]]: false}. 39 24. If hasDuplicates is true, then 40 [...] 41 25. Else, 42 b. Let formalStatus be IteratorBindingInitialization for formals with 43 iteratorRecord and env as arguments. 44 [...] 45 46 13.3.3.4 Static Semantics: IsSimpleParameterList 47 48 BindingElement : BindingPattern 49 50 1. Return false. 51 52 14.1.2 Static Semantics: Early Errors 53 54 FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } 55 FunctionDeclaration : function ( FormalParameters ) { FunctionBody } 56 FunctionExpression : function BindingIdentifier ( FormalParameters ) { FunctionBody } 57 58 - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and 59 IsSimpleParameterList of FormalParameters is false. 60 61 14.2.1 Static Semantics: Early Errors 62 63 ArrowFunction : ArrowParameters => ConciseBody 64 65 - It is a Syntax Error if ContainsUseStrict of ConciseBody is true and 66 IsSimpleParameterList of ArrowParameters is false. 67 68 14.3.1 Static Semantics: Early Errors 69 70 MethodDefinition : PropertyName ( UniqueFormalParameters ) { FunctionBody } 71 72 - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and 73 IsSimpleParameterList of UniqueFormalParameters is false. 74 75 MethodDefinition : set PropertyName ( PropertySetParameterList ) { FunctionBody } 76 77 - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and 78 IsSimpleParameterList of PropertySetParameterList is false. 79 80 14.4.1 Static Semantics: Early Errors 81 82 GeneratorMethod : * PropertyName ( UniqueFormalParameters ) { GeneratorBody } 83 84 - It is a Syntax Error if ContainsUseStrict of GeneratorBody is true and 85 IsSimpleParameterList of UniqueFormalParameters is false. 86 87 GeneratorDeclaration : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } 88 GeneratorDeclaration : function * ( FormalParameters ) { GeneratorBody } 89 GeneratorExpression : function * BindingIdentifier ( FormalParameters ) { GeneratorBody } 90 91 - It is a Syntax Error if ContainsUseStrict of GeneratorBody is true and 92 IsSimpleParameterList of UniqueFormalParameters is false. 93 94 14.5.1 Static Semantics: Early Errors 95 96 AsyncGeneratorMethod : async * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody } 97 98 - It is a Syntax Error if ContainsUseStrict of AsyncGeneratorBody is true and 99 IsSimpleParameterList of UniqueFormalParameters is false. 100 101 AsyncGeneratorDeclaration : async function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } 102 AsyncGeneratorDeclaration : async function * ( FormalParameters ) { AsyncGeneratorBody } 103 AsyncGeneratorExpression : async function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody } 104 105 - It is a Syntax Error if ContainsUseStrict of AsyncGeneratorBody is true and 106 IsSimpleParameterList of FormalParameters is false. 107 108 14.7.1 Static Semantics: Early Errors 109 110 AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody } 111 112 - It is a Syntax Error if ContainsUseStrict of AsyncFunctionBody is true and 113 IsSimpleParameterList of UniqueFormalParameters is false. 114 115 AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 116 AsyncFunctionDeclaration : async function ( FormalParameters ) { AsyncFunctionBody } 117 AsyncFunctionExpression : async function ( FormalParameters ) { AsyncFunctionBody } 118 AsyncFunctionExpression : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 119 120 - It is a Syntax Error if ContainsUseStrict of AsyncFunctionBody is true and 121 IsSimpleParameterList of FormalParameters is false. 122 123 14.8.1 Static Semantics: Early Errors 124 125 AsyncArrowFunction : CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody 126 127 - It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is true and 128 IsSimpleParameterList of CoverCallExpressionAndAsyncArrowHead is false. 129 130 ---*/ 131 $DONOTEVALUATE(); 132 133 0, { 134 method({property}) { 135 "use strict"; 136 } 137 };