//// [tests/cases/compiler/blockScopedEnumVariablesUseBeforeDef_isolatedModules.ts] ////

=== blockScopedEnumVariablesUseBeforeDef_isolatedModules.ts ===
function foo1() {
>foo1 : () => E
>     : ^^^^^^^

    return E.A
>E.A : E
>    : ^
>E : typeof E
>  : ^^^^^^^^
>A : E
>  : ^

    enum E { A }
>E : E
>  : ^
>A : E.A
>  : ^^^
}

function foo2() {
>foo2 : () => E
>     : ^^^^^^^

    return E.A
>E.A : E
>    : ^
>E : typeof E
>  : ^^^^^^^^
>A : E
>  : ^

    const enum E { A }
>E : E
>  : ^
>A : E.A
>  : ^^^
}

const config = {
>config : { a: AfterObject; }
>       : ^^^^^^^^^^^^^^^^^^^
>{    a: AfterObject.A,} : { a: AfterObject; }
>                        : ^^^^^^^^^^^^^^^^^^^

    a: AfterObject.A,
>a : AfterObject
>  : ^^^^^^^^^^^
>AfterObject.A : AfterObject
>              : ^^^^^^^^^^^
>AfterObject : typeof AfterObject
>            : ^^^^^^^^^^^^^^^^^^
>A : AfterObject
>  : ^^^^^^^^^^^

};

const enum AfterObject {
>AfterObject : AfterObject
>            : ^^^^^^^^^^^

    A = 2,
>A : AfterObject.A
>  : ^^^^^^^^^^^^^
>2 : 2
>  : ^
}

