mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-01-26 19:22:30 -05:00
a598a2c19d
https://tc39.es/ecma262/#sec-functiondeclarations-in-ifstatement-statement-clauses B.3.4 FunctionDeclarations in IfStatement Statement Clauses The following augments the IfStatement production in 13.6: IfStatement[Yield, Await, Return] : if ( Expression[+In, ?Yield, ?Await] ) FunctionDeclaration[?Yield, ?Await, ~Default] else Statement[?Yield, ?Await, ?Return] if ( Expression[+In, ?Yield, ?Await] ) Statement[?Yield, ?Await, ?Return] else FunctionDeclaration[?Yield, ?Await, ~Default] if ( Expression[+In, ?Yield, ?Await] ) FunctionDeclaration[?Yield, ?Await, ~Default] else FunctionDeclaration[?Yield, ?Await, ~Default] if ( Expression[+In, ?Yield, ?Await] ) FunctionDeclaration[?Yield, ?Await, ~Default] This production only applies when parsing non-strict code. Code matching this production is processed as if each matching occurrence of FunctionDeclaration[?Yield, ?Await, ~Default] was the sole StatementListItem of a BlockStatement occupying that position in the source code. The semantics of such a synthetic BlockStatement includes the web legacy compatibility semantics specified in B.3.3. |
||
---|---|---|
.. | ||
builtins | ||
classes | ||
functions | ||
iterators | ||
loops | ||
operators | ||
add-values-to-primitive.js | ||
automatic-semicolon-insertion.js | ||
break-continue-syntax-errors.js | ||
comments-basic.js | ||
computed-property-throws.js | ||
const-declaration-missing-initializer.js | ||
const-reassignment.js | ||
custom-@@hasInstance.js | ||
custom-@@toStringTag.js | ||
debugger-statement.js | ||
empty-statements.js | ||
exception-in-catch-block.js | ||
exception-ReferenceError.js | ||
exponentiation-basic.js | ||
if-statement-function-declaration.js | ||
indexed-access-string-object.js | ||
invalid-lhs-in-assignment.js | ||
labels.js | ||
let-scoping.js | ||
new-expression.js | ||
numeric-literals-basic.js | ||
object-basic.js | ||
object-expression-computed-property.js | ||
object-getter-setter-shorthand.js | ||
object-method-shorthand.js | ||
object-spread.js | ||
parser-declaration-in-single-statement-context.js | ||
parser-line-terminators.js | ||
parser-unary-associativity.js | ||
program-strict-mode.js | ||
return.js | ||
strict-mode-blocks.js | ||
strict-mode-errors.js | ||
string-escapes.js | ||
string-spread.js | ||
switch-basic.js | ||
switch-break.js | ||
tagged-template-literals.js | ||
template-literals.js | ||
test-common-tests.js | ||
test-common.js | ||
throw-basic.js | ||
to-number-basic.js | ||
to-number-exception.js | ||
try-catch-finally-nested.js | ||
try-catch-finally.js | ||
update-expression-on-member-expression.js | ||
update-expressions-basic.js | ||
use-strict-directive.js | ||
var-multiple-declarator.js | ||
var-scoping.js | ||
variable-undefined.js |