@@ -29,17 +29,17 @@ const testCases = [
2929 [ 'await 0; return 0;' ,
3030 null ] ,
3131 [ 'var a = await 1' ,
32- 'let a; (async () => { void (a = await 1) })()' ] ,
32+ 'var a; (async () => { void (a = await 1) })()' ] ,
3333 [ 'let a = await 1' ,
3434 'let a; (async () => { void (a = await 1) })()' ] ,
3535 [ 'const a = await 1' ,
3636 'let a; (async () => { void (a = await 1) })()' ] ,
3737 [ 'for (var i = 0; i < 1; ++i) { await i }' ,
38- 'let i; (async () => { for (void (i = 0); i < 1; ++i) { await i } })()' ] ,
38+ 'var i; (async () => { for (void (i = 0); i < 1; ++i) { await i } })()' ] ,
3939 [ 'for (let i = 0; i < 1; ++i) { await i }' ,
40- 'let i; (async () => { for (void ( i = 0) ; i < 1; ++i) { await i } })()' ] ,
40+ '(async () => { for (let i = 0; i < 1; ++i) { await i } })()' ] ,
4141 [ 'var {a} = {a:1}, [b] = [1], {c:{d}} = {c:{d: await 1}}' ,
42- 'let a, b, d; (async () => { void ( ({a} = {a:1}), ([b] = [1]), ' +
42+ 'var a, b, d; (async () => { void ( ({a} = {a:1}), ([b] = [1]), ' +
4343 '({c:{d}} = {c:{d: await 1}})) })()' ] ,
4444 [ 'let [a, b, c] = await ([1, 2, 3])' ,
4545 'let a, b, c; (async () => { void ([a, b, c] = await ([1, 2, 3])) })()' ] ,
@@ -58,18 +58,30 @@ const testCases = [
5858 [ 'await 0; class Foo {}' ,
5959 'let Foo; (async () => { await 0; Foo=class Foo {} })()' ] ,
6060 [ 'if (await true) { function foo() {} }' ,
61- 'let foo; (async () => { if (await true) { foo= function foo() {} } })()' ] ,
61+ '(async () => { if (await true) { function foo() {} } })()' ] ,
6262 [ 'if (await true) { class Foo{} }' ,
63- 'let Foo; (async () => { if (await true) { Foo= class Foo{} } })()' ] ,
63+ '(async () => { if (await true) { class Foo{} } })()' ] ,
6464 [ 'if (await true) { var a = 1; }' ,
65- 'let a; (async () => { if (await true) { void (a = 1); } })()' ] ,
65+ 'var a; (async () => { if (await true) { void (a = 1); } })()' ] ,
6666 [ 'if (await true) { let a = 1; }' ,
67- 'let a; (async () => { if (await true) { void ( a = 1) ; } })()' ] ,
67+ '(async () => { if (await true) { let a = 1; } })()' ] ,
6868 [ 'var a = await 1; let b = 2; const c = 3;' ,
69- 'let c; let b; let a; (async () => { void (a = await 1); void (b = 2);' +
69+ 'let c; let b; var a; (async () => { void (a = await 1); void (b = 2);' +
7070 ' void (c = 3); })()' ] ,
7171 [ 'let o = await 1, p' ,
7272 'let o, p; (async () => { void ( (o = await 1), (p=undefined)) })()' ] ,
73+ [ 'await (async () => { let p = await 1; return p; })()' ,
74+ '(async () => { return (await (async () => ' +
75+ '{ let p = await 1; return p; })()) })()' ] ,
76+ [ '{ let p = await 1; }' ,
77+ '(async () => { { let p = await 1; } })()' ] ,
78+ [ 'var p = await 1' ,
79+ 'var p; (async () => { void (p = await 1) })()' ] ,
80+ [ 'await (async () => { var p = await 1; return p; })()' ,
81+ '(async () => { return (await (async () => ' +
82+ '{ var p = await 1; return p; })()) })()' ] ,
83+ [ '{ var p = await 1; }' ,
84+ 'var p; (async () => { { void (p = await 1); } })()' ] ,
7385] ;
7486
7587for ( const [ input , expected ] of testCases ) {
0 commit comments