blob: 929125e9da671f48a3c9d9e11d2a0c5920439c16 [file] [log] [blame]
keith_miller@apple.combcc77f22016-07-15 06:03:25 +00001// This file was procedurally generated from the following sources:
2// - src/annex-b-fns/func-exsting-block-fn-no-init.case
3// - src/annex-b-fns/func/if-decl-no-else.template
4/*---
5description: Does not re-initialize binding created by similar forms (IfStatement without an else clause in function scope)
6esid: sec-functiondeclarations-in-ifstatement-statement-clauses
7es6id: B.3.4
8flags: [generated, noStrict]
9info: |
10 The following rules for IfStatement augment those in 13.6:
11
12 IfStatement[Yield, Return]:
13 if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return]
14 if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield]
15 if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else FunctionDeclaration[?Yield]
16 if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield]
17
18
19 B.3.3.1 Changes to FunctionDeclarationInstantiation
20
21 [...]
22 2. If instantiatedVarNames does not contain F, then
23 [...]
24---*/
25var init;
26
27(function() {
28 init = f;
29
30 {
31 function f() {}
32 }
33
34 if (true) function f() { }
35
36
37}());
38
39assert.sameValue(init, undefined);