bug1454285.js (1723B)
1 // IteratorClose in for-await-of with block-scoped function. 2 3 // Non-local-jump without target. 4 5 (async function() { 6 for await (let c of []) { 7 function f() {}; 8 return; 9 } 10 })(); 11 (async function() { 12 for await (let c of []) { 13 function f() {}; 14 break; 15 } 16 })(); 17 (async function() { 18 for await (let c of []) { 19 function f() {}; 20 continue; 21 } 22 })(); 23 24 // Non-local-jump with target. 25 26 (async function() { 27 for (let x of []) { 28 x: for (let y of []) { 29 for await (let c of []) { 30 function f() {}; 31 return; 32 } 33 } 34 } 35 })(); 36 (async function() { 37 for (let x of []) { 38 x: for (let y of []) { 39 for await (let c of []) { 40 function f() {}; 41 break x; 42 } 43 } 44 } 45 })(); 46 (async function() { 47 for (let x of []) { 48 x: for (let y of []) { 49 for await (let c of []) { 50 function f() {}; 51 continue x; 52 } 53 } 54 } 55 })(); 56 57 (async function() { 58 for await (let x of []) { 59 x: for await (let y of []) { 60 for await (let c of []) { 61 function f() {}; 62 return; 63 } 64 } 65 } 66 })(); 67 (async function() { 68 for await (let x of []) { 69 x: for await (let y of []) { 70 for await (let c of []) { 71 function f() {}; 72 break x; 73 } 74 } 75 } 76 })(); 77 (async function() { 78 for await (let x of []) { 79 x: for await (let y of []) { 80 for await (let c of []) { 81 function f() {}; 82 continue x; 83 } 84 } 85 } 86 })();