=== tests/cases/compiler/thisInGenericStaticMembers.ts === // this.call in static generic method not resolved correctly class A { >A : Symbol(A, Decl(thisInGenericStaticMembers.ts, 0, 0)) static one(source:T, value: number): T { >one : Symbol(A.one, Decl(thisInGenericStaticMembers.ts, 2, 9)) >T : Symbol(T, Decl(thisInGenericStaticMembers.ts, 4, 15)) >source : Symbol(source, Decl(thisInGenericStaticMembers.ts, 4, 18)) >T : Symbol(T, Decl(thisInGenericStaticMembers.ts, 4, 15)) >value : Symbol(value, Decl(thisInGenericStaticMembers.ts, 4, 27)) >T : Symbol(T, Decl(thisInGenericStaticMembers.ts, 4, 15)) return source; >source : Symbol(source, Decl(thisInGenericStaticMembers.ts, 4, 18)) } static two(source: T): T { >two : Symbol(A.two, Decl(thisInGenericStaticMembers.ts, 6, 5)) >T : Symbol(T, Decl(thisInGenericStaticMembers.ts, 8, 15)) >source : Symbol(source, Decl(thisInGenericStaticMembers.ts, 8, 18)) >T : Symbol(T, Decl(thisInGenericStaticMembers.ts, 8, 15)) >T : Symbol(T, Decl(thisInGenericStaticMembers.ts, 8, 15)) return this.one(source, 42); >this.one : Symbol(A.one, Decl(thisInGenericStaticMembers.ts, 2, 9)) >this : Symbol(A, Decl(thisInGenericStaticMembers.ts, 0, 0)) >one : Symbol(A.one, Decl(thisInGenericStaticMembers.ts, 2, 9)) >T : Symbol(T, Decl(thisInGenericStaticMembers.ts, 8, 15)) >source : Symbol(source, Decl(thisInGenericStaticMembers.ts, 8, 18)) } } class B { >B : Symbol(B, Decl(thisInGenericStaticMembers.ts, 11, 1)) static one(source: B, value: number): B { >one : Symbol(B.one, Decl(thisInGenericStaticMembers.ts, 13, 9)) >source : Symbol(source, Decl(thisInGenericStaticMembers.ts, 15, 15)) >B : Symbol(B, Decl(thisInGenericStaticMembers.ts, 11, 1)) >value : Symbol(value, Decl(thisInGenericStaticMembers.ts, 15, 25)) >B : Symbol(B, Decl(thisInGenericStaticMembers.ts, 11, 1)) return source; >source : Symbol(source, Decl(thisInGenericStaticMembers.ts, 15, 15)) } static two(source: B): B { >two : Symbol(B.two, Decl(thisInGenericStaticMembers.ts, 17, 5)) >source : Symbol(source, Decl(thisInGenericStaticMembers.ts, 19, 15)) >B : Symbol(B, Decl(thisInGenericStaticMembers.ts, 11, 1)) >B : Symbol(B, Decl(thisInGenericStaticMembers.ts, 11, 1)) return this.one(source, 42); >this.one : Symbol(B.one, Decl(thisInGenericStaticMembers.ts, 13, 9)) >this : Symbol(B, Decl(thisInGenericStaticMembers.ts, 11, 1)) >one : Symbol(B.one, Decl(thisInGenericStaticMembers.ts, 13, 9)) >source : Symbol(source, Decl(thisInGenericStaticMembers.ts, 19, 15)) } }