8.3 Function Name Inference
8.3.1 Static Semantics: HasName
- Let expr be
CoveredParenthesizedExpression ofCoverParenthesizedExpressionAndArrowParameterList . - If
IsFunctionDefinition of expr isfalse , returnfalse . - Return
HasName of expr.
- Return
false .
- Return
true .
8.3.2 Static Semantics: IsFunctionDefinition
- Let expr be
CoveredParenthesizedExpression ofCoverParenthesizedExpressionAndArrowParameterList . - Return
IsFunctionDefinition of expr.
- Return
false .
- Return
true .
8.3.3 Static Semantics: IsAnonymousFunctionDefinition ( expr )
The abstract operation IsAnonymousFunctionDefinition takes argument expr (a
- If
IsFunctionDefinition of expr isfalse , returnfalse . - Let hasName be
HasName of expr. - If hasName is
true , returnfalse . - Return
true .
8.3.4 Static Semantics: IsIdentifierRef
- Return
true .
- Return
false .
8.3.5 Runtime Semantics: NamedEvaluation
With parameter name.
- Let expr be
CoveredParenthesizedExpression ofCoverParenthesizedExpressionAndArrowParameterList . - Return the result of performing
NamedEvaluation for expr with argument name.
Assert :IsAnonymousFunctionDefinition (Expression ) istrue .- Return the result of performing
NamedEvaluation forExpression with argument name.
- Return
InstantiateOrdinaryFunctionExpression ofFunctionExpression with argument name.
- Return
InstantiateGeneratorFunctionExpression ofGeneratorExpression with argument name.
- Return
InstantiateAsyncGeneratorFunctionExpression ofAsyncGeneratorExpression with argument name.
- Return
InstantiateAsyncFunctionExpression ofAsyncFunctionExpression with argument name.
- Return
InstantiateArrowFunctionExpression ofArrowFunction with argument name.
- Return
InstantiateAsyncArrowFunctionExpression ofAsyncArrowFunction with argument name.
- Let value be the result of
ClassDefinitionEvaluation ofClassTail with argumentsundefined and name. ReturnIfAbrupt (value).- Set value.[[SourceText]] to the source text matched by
ClassExpression . - Return value.