=== tests/cases/compiler/declFileTypeAnnotationTypeQuery.ts ===

class c {
>c : Symbol(c, Decl(declFileTypeAnnotationTypeQuery.ts, 0, 0))
}
module m {
>m : Symbol(m, Decl(declFileTypeAnnotationTypeQuery.ts, 2, 1))

    export class c {
>c : Symbol(c, Decl(declFileTypeAnnotationTypeQuery.ts, 3, 10))
    }
    export class g<T> {
>g : Symbol(g, Decl(declFileTypeAnnotationTypeQuery.ts, 5, 5))
>T : Symbol(T, Decl(declFileTypeAnnotationTypeQuery.ts, 6, 19))
    }
}
class g<T> {
>g : Symbol(g, Decl(declFileTypeAnnotationTypeQuery.ts, 8, 1))
>T : Symbol(T, Decl(declFileTypeAnnotationTypeQuery.ts, 9, 8))
}

// Just the name
function foo(): typeof c {
>foo : Symbol(foo, Decl(declFileTypeAnnotationTypeQuery.ts, 10, 1))
>c : Symbol(c, Decl(declFileTypeAnnotationTypeQuery.ts, 0, 0))

    return c;
>c : Symbol(c, Decl(declFileTypeAnnotationTypeQuery.ts, 0, 0))
}
function foo2() {
>foo2 : Symbol(foo2, Decl(declFileTypeAnnotationTypeQuery.ts, 15, 1))

    return c;
>c : Symbol(c, Decl(declFileTypeAnnotationTypeQuery.ts, 0, 0))
}

// Qualified name
function foo3(): typeof m.c {
>foo3 : Symbol(foo3, Decl(declFileTypeAnnotationTypeQuery.ts, 18, 1))
>m.c : Symbol(m.c, Decl(declFileTypeAnnotationTypeQuery.ts, 3, 10))
>m : Symbol(m, Decl(declFileTypeAnnotationTypeQuery.ts, 2, 1))
>c : Symbol(m.c, Decl(declFileTypeAnnotationTypeQuery.ts, 3, 10))

    return m.c;
>m.c : Symbol(m.c, Decl(declFileTypeAnnotationTypeQuery.ts, 3, 10))
>m : Symbol(m, Decl(declFileTypeAnnotationTypeQuery.ts, 2, 1))
>c : Symbol(m.c, Decl(declFileTypeAnnotationTypeQuery.ts, 3, 10))
}
function foo4() {
>foo4 : Symbol(foo4, Decl(declFileTypeAnnotationTypeQuery.ts, 23, 1))

    return m.c;
>m.c : Symbol(m.c, Decl(declFileTypeAnnotationTypeQuery.ts, 3, 10))
>m : Symbol(m, Decl(declFileTypeAnnotationTypeQuery.ts, 2, 1))
>c : Symbol(m.c, Decl(declFileTypeAnnotationTypeQuery.ts, 3, 10))
}

// Just the name with type arguments
function foo5(): typeof g {
>foo5 : Symbol(foo5, Decl(declFileTypeAnnotationTypeQuery.ts, 26, 1))
>g : Symbol(g, Decl(declFileTypeAnnotationTypeQuery.ts, 8, 1))

    return g;
>g : Symbol(g, Decl(declFileTypeAnnotationTypeQuery.ts, 8, 1))
}
function foo6() {
>foo6 : Symbol(foo6, Decl(declFileTypeAnnotationTypeQuery.ts, 31, 1))

    return g;
>g : Symbol(g, Decl(declFileTypeAnnotationTypeQuery.ts, 8, 1))
}

// Qualified name with type arguments
function foo7(): typeof m.g {
>foo7 : Symbol(foo7, Decl(declFileTypeAnnotationTypeQuery.ts, 34, 1))
>m.g : Symbol(m.g, Decl(declFileTypeAnnotationTypeQuery.ts, 5, 5))
>m : Symbol(m, Decl(declFileTypeAnnotationTypeQuery.ts, 2, 1))
>g : Symbol(m.g, Decl(declFileTypeAnnotationTypeQuery.ts, 5, 5))

    return m.g
>m.g : Symbol(m.g, Decl(declFileTypeAnnotationTypeQuery.ts, 5, 5))
>m : Symbol(m, Decl(declFileTypeAnnotationTypeQuery.ts, 2, 1))
>g : Symbol(m.g, Decl(declFileTypeAnnotationTypeQuery.ts, 5, 5))
}
function foo8() {
>foo8 : Symbol(foo8, Decl(declFileTypeAnnotationTypeQuery.ts, 39, 1))

    return m.g
>m.g : Symbol(m.g, Decl(declFileTypeAnnotationTypeQuery.ts, 5, 5))
>m : Symbol(m, Decl(declFileTypeAnnotationTypeQuery.ts, 2, 1))
>g : Symbol(m.g, Decl(declFileTypeAnnotationTypeQuery.ts, 5, 5))
}
