=== tests/cases/conformance/types/specifyingTypes/typeQueries/typeofClass2.ts === class C { >C : C constructor(x: number); >x : number constructor(x: string); >x : string constructor(x) { } >x : any static foo(x: number); >foo : { (x: number): any; (x: C): any; } >x : number static foo(x: C); >foo : { (x: number): any; (x: C): any; } >x : C >C : C static foo(x) { } >foo : { (x: number): any; (x: C): any; } >x : any static bar(x) { } >bar : (x: any) => void >x : any } class D extends C { >D : D >C : C static baz(x: number) { } >baz : (x: number) => void >x : number foo() { } >foo : () => void } var d: D; >d : D >D : D var r1: typeof D; >r1 : typeof D >D : typeof D var r2: typeof d; >r2 : D >d : D