=== tests/cases/compiler/extendedInterfaceGenericType.ts === interface Alpha { >Alpha : Symbol(Alpha, Decl(extendedInterfaceGenericType.ts, 0, 0)) >T : Symbol(T, Decl(extendedInterfaceGenericType.ts, 0, 16)) takesArgOfT(arg: T): Alpha; >takesArgOfT : Symbol(takesArgOfT, Decl(extendedInterfaceGenericType.ts, 0, 20)) >arg : Symbol(arg, Decl(extendedInterfaceGenericType.ts, 1, 16)) >T : Symbol(T, Decl(extendedInterfaceGenericType.ts, 0, 16)) >Alpha : Symbol(Alpha, Decl(extendedInterfaceGenericType.ts, 0, 0)) >T : Symbol(T, Decl(extendedInterfaceGenericType.ts, 0, 16)) makeBetaOfNumber(): Beta; >makeBetaOfNumber : Symbol(makeBetaOfNumber, Decl(extendedInterfaceGenericType.ts, 1, 34)) >Beta : Symbol(Beta, Decl(extendedInterfaceGenericType.ts, 3, 1)) } interface Beta extends Alpha { >Beta : Symbol(Beta, Decl(extendedInterfaceGenericType.ts, 3, 1)) >T : Symbol(T, Decl(extendedInterfaceGenericType.ts, 4, 15)) >Alpha : Symbol(Alpha, Decl(extendedInterfaceGenericType.ts, 0, 0)) >T : Symbol(T, Decl(extendedInterfaceGenericType.ts, 4, 15)) } var alpha: Alpha; >alpha : Symbol(alpha, Decl(extendedInterfaceGenericType.ts, 7, 3)) >Alpha : Symbol(Alpha, Decl(extendedInterfaceGenericType.ts, 0, 0)) var betaOfNumber = alpha.makeBetaOfNumber(); >betaOfNumber : Symbol(betaOfNumber, Decl(extendedInterfaceGenericType.ts, 8, 3)) >alpha.makeBetaOfNumber : Symbol(Alpha.makeBetaOfNumber, Decl(extendedInterfaceGenericType.ts, 1, 34)) >alpha : Symbol(alpha, Decl(extendedInterfaceGenericType.ts, 7, 3)) >makeBetaOfNumber : Symbol(Alpha.makeBetaOfNumber, Decl(extendedInterfaceGenericType.ts, 1, 34)) betaOfNumber.takesArgOfT(5); >betaOfNumber.takesArgOfT : Symbol(Alpha.takesArgOfT, Decl(extendedInterfaceGenericType.ts, 0, 20)) >betaOfNumber : Symbol(betaOfNumber, Decl(extendedInterfaceGenericType.ts, 8, 3)) >takesArgOfT : Symbol(Alpha.takesArgOfT, Decl(extendedInterfaceGenericType.ts, 0, 20))