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

=== declFileTypeAnnotationStringLiteral.ts ===
function foo(a: "hello"): number;
>foo : Symbol(foo, Decl(declFileTypeAnnotationStringLiteral.ts, 0, 0), Decl(declFileTypeAnnotationStringLiteral.ts, 0, 33), Decl(declFileTypeAnnotationStringLiteral.ts, 1, 32), Decl(declFileTypeAnnotationStringLiteral.ts, 2, 41))
>a : Symbol(a, Decl(declFileTypeAnnotationStringLiteral.ts, 0, 13))

function foo(a: "name"): string;
>foo : Symbol(foo, Decl(declFileTypeAnnotationStringLiteral.ts, 0, 0), Decl(declFileTypeAnnotationStringLiteral.ts, 0, 33), Decl(declFileTypeAnnotationStringLiteral.ts, 1, 32), Decl(declFileTypeAnnotationStringLiteral.ts, 2, 41))
>a : Symbol(a, Decl(declFileTypeAnnotationStringLiteral.ts, 1, 13))

function foo(a: string): string | number;
>foo : Symbol(foo, Decl(declFileTypeAnnotationStringLiteral.ts, 0, 0), Decl(declFileTypeAnnotationStringLiteral.ts, 0, 33), Decl(declFileTypeAnnotationStringLiteral.ts, 1, 32), Decl(declFileTypeAnnotationStringLiteral.ts, 2, 41))
>a : Symbol(a, Decl(declFileTypeAnnotationStringLiteral.ts, 2, 13))

function foo(a: string): string | number {
>foo : Symbol(foo, Decl(declFileTypeAnnotationStringLiteral.ts, 0, 0), Decl(declFileTypeAnnotationStringLiteral.ts, 0, 33), Decl(declFileTypeAnnotationStringLiteral.ts, 1, 32), Decl(declFileTypeAnnotationStringLiteral.ts, 2, 41))
>a : Symbol(a, Decl(declFileTypeAnnotationStringLiteral.ts, 3, 13))

    if (a === "hello") {
>a : Symbol(a, Decl(declFileTypeAnnotationStringLiteral.ts, 3, 13))

        return a.length;
>a.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --))
>a : Symbol(a, Decl(declFileTypeAnnotationStringLiteral.ts, 3, 13))
>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --))
    }

    return a;
>a : Symbol(a, Decl(declFileTypeAnnotationStringLiteral.ts, 3, 13))
}
