=== tests/cases/compiler/declFileTypeAnnotationTypeReference.ts === class c { >c : Symbol(c, Decl(declFileTypeAnnotationTypeReference.ts, 0, 0)) } module m { >m : Symbol(m, Decl(declFileTypeAnnotationTypeReference.ts, 2, 1)) export class c { >c : Symbol(c, Decl(declFileTypeAnnotationTypeReference.ts, 3, 10)) } export class g { >g : Symbol(g, Decl(declFileTypeAnnotationTypeReference.ts, 5, 5)) >T : Symbol(T, Decl(declFileTypeAnnotationTypeReference.ts, 6, 19)) } } class g { >g : Symbol(g, Decl(declFileTypeAnnotationTypeReference.ts, 8, 1)) >T : Symbol(T, Decl(declFileTypeAnnotationTypeReference.ts, 9, 8)) } // Just the name function foo(): c { >foo : Symbol(foo, Decl(declFileTypeAnnotationTypeReference.ts, 10, 1)) >c : Symbol(c, Decl(declFileTypeAnnotationTypeReference.ts, 0, 0)) return new c(); >c : Symbol(c, Decl(declFileTypeAnnotationTypeReference.ts, 0, 0)) } function foo2() { >foo2 : Symbol(foo2, Decl(declFileTypeAnnotationTypeReference.ts, 15, 1)) return new c(); >c : Symbol(c, Decl(declFileTypeAnnotationTypeReference.ts, 0, 0)) } // Qualified name function foo3(): m.c { >foo3 : Symbol(foo3, Decl(declFileTypeAnnotationTypeReference.ts, 18, 1)) >m : Symbol(m, Decl(declFileTypeAnnotationTypeReference.ts, 2, 1)) >c : Symbol(m.c, Decl(declFileTypeAnnotationTypeReference.ts, 3, 10)) return new m.c(); >m.c : Symbol(m.c, Decl(declFileTypeAnnotationTypeReference.ts, 3, 10)) >m : Symbol(m, Decl(declFileTypeAnnotationTypeReference.ts, 2, 1)) >c : Symbol(m.c, Decl(declFileTypeAnnotationTypeReference.ts, 3, 10)) } function foo4() { >foo4 : Symbol(foo4, Decl(declFileTypeAnnotationTypeReference.ts, 23, 1)) return new m.c(); >m.c : Symbol(m.c, Decl(declFileTypeAnnotationTypeReference.ts, 3, 10)) >m : Symbol(m, Decl(declFileTypeAnnotationTypeReference.ts, 2, 1)) >c : Symbol(m.c, Decl(declFileTypeAnnotationTypeReference.ts, 3, 10)) } // Just the name with type arguments function foo5(): g { >foo5 : Symbol(foo5, Decl(declFileTypeAnnotationTypeReference.ts, 26, 1)) >g : Symbol(g, Decl(declFileTypeAnnotationTypeReference.ts, 8, 1)) return new g(); >g : Symbol(g, Decl(declFileTypeAnnotationTypeReference.ts, 8, 1)) } function foo6() { >foo6 : Symbol(foo6, Decl(declFileTypeAnnotationTypeReference.ts, 31, 1)) return new g(); >g : Symbol(g, Decl(declFileTypeAnnotationTypeReference.ts, 8, 1)) } // Qualified name with type arguments function foo7(): m.g { >foo7 : Symbol(foo7, Decl(declFileTypeAnnotationTypeReference.ts, 34, 1)) >m : Symbol(m, Decl(declFileTypeAnnotationTypeReference.ts, 2, 1)) >g : Symbol(m.g, Decl(declFileTypeAnnotationTypeReference.ts, 5, 5)) return new m.g(); >m.g : Symbol(m.g, Decl(declFileTypeAnnotationTypeReference.ts, 5, 5)) >m : Symbol(m, Decl(declFileTypeAnnotationTypeReference.ts, 2, 1)) >g : Symbol(m.g, Decl(declFileTypeAnnotationTypeReference.ts, 5, 5)) } function foo8() { >foo8 : Symbol(foo8, Decl(declFileTypeAnnotationTypeReference.ts, 39, 1)) return new m.g(); >m.g : Symbol(m.g, Decl(declFileTypeAnnotationTypeReference.ts, 5, 5)) >m : Symbol(m, Decl(declFileTypeAnnotationTypeReference.ts, 2, 1)) >g : Symbol(m.g, Decl(declFileTypeAnnotationTypeReference.ts, 5, 5)) }