//// [tests/cases/compiler/es5-asyncFunctionElementAccess.ts] ////

=== es5-asyncFunctionElementAccess.ts ===
declare var x, y, z, a, b, c;
>x : any
>  : ^^^
>y : any
>  : ^^^
>z : any
>  : ^^^
>a : any
>  : ^^^
>b : any
>  : ^^^
>c : any
>  : ^^^

async function elementAccess0() {
>elementAccess0 : () => Promise<void>
>               : ^^^^^^^^^^^^^^^^^^^

    z = await x[y];
>z = await x[y] : any
>               : ^^^
>z : any
>  : ^^^
>await x[y] : any
>           : ^^^
>x[y] : any
>     : ^^^
>x : any
>  : ^^^
>y : any
>  : ^^^
}

async function elementAccess1() {
>elementAccess1 : () => Promise<void>
>               : ^^^^^^^^^^^^^^^^^^^

    z = (await x)[y];
>z = (await x)[y] : any
>                 : ^^^
>z : any
>  : ^^^
>(await x)[y] : any
>             : ^^^
>(await x) : any
>          : ^^^
>await x : any
>        : ^^^
>x : any
>  : ^^^
>y : any
>  : ^^^
}

async function elementAccess2() {
>elementAccess2 : () => Promise<void>
>               : ^^^^^^^^^^^^^^^^^^^

    z = x[await y];
>z = x[await y] : any
>               : ^^^
>z : any
>  : ^^^
>x[await y] : any
>           : ^^^
>x : any
>  : ^^^
>await y : any
>        : ^^^
>y : any
>  : ^^^
}

