=== tests/cases/conformance/es6/classDeclaration/emitClassDeclarationWithTypeArgumentAndOverloadInES6.ts === class B { >B : B >T : T x: T; >x : T >T : T B: T; >B : T >T : T constructor(a: any) >a : any constructor(a: any,b: T) >a : any >b : T >T : T constructor(a: T) { this.B = a;} >a : T >T : T >this.B = a : T >this.B : T >this : B >B : T >a : T foo(a: T) >foo : { (a: T): any; (a: any): any; (b: string): any; } >a : T >T : T foo(a: any) >foo : { (a: T): any; (a: any): any; (b: string): any; } >a : any foo(b: string) >foo : { (a: T): any; (a: any): any; (b: string): any; } >b : string foo(): T { >foo : { (a: T): any; (a: any): any; (b: string): any; } >T : T return this.x; >this.x : T >this : B >x : T } get BB(): T { >BB : T >T : T return this.B; >this.B : T >this : B >B : T } set BBWith(c: T) { >BBWith : T >c : T >T : T this.B = c; >this.B = c : T >this.B : T >this : B >B : T >c : T } }