=== tests/cases/compiler/declFileMethods_0.ts === export class c1 { >c1 : c1 /** This comment should appear for foo*/ public foo() { >foo : () => void } /** This is comment for function signature*/ public fooWithParameters(/** this is comment about a*/a: string, >fooWithParameters : (a: string, b: number) => void >a : string /** this is comment for b*/ b: number) { >b : number var d = a; >d : string >a : string } public fooWithRestParameters(a: string, ...rests: string[]) { >fooWithRestParameters : (a: string, ...rests: string[]) => string >a : string >rests : string[] return a + rests.join(""); >a + rests.join("") : string >a : string >rests.join("") : string >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string >"" : string } public fooWithOverloads(a: string): string; >fooWithOverloads : { (a: string): string; (a: number): number; } >a : string public fooWithOverloads(a: number): number; >fooWithOverloads : { (a: string): string; (a: number): number; } >a : number public fooWithOverloads(a: any): any { >fooWithOverloads : { (a: string): string; (a: number): number; } >a : any return a; >a : any } /** This comment should appear for privateFoo*/ private privateFoo() { >privateFoo : () => void } /** This is comment for function signature*/ private privateFooWithParameters(/** this is comment about a*/a: string, >privateFooWithParameters : (a: string, b: number) => void >a : string /** this is comment for b*/ b: number) { >b : number var d = a; >d : string >a : string } private privateFooWithRestParameters(a: string, ...rests: string[]) { >privateFooWithRestParameters : (a: string, ...rests: string[]) => string >a : string >rests : string[] return a + rests.join(""); >a + rests.join("") : string >a : string >rests.join("") : string >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string >"" : string } private privateFooWithOverloads(a: string): string; >privateFooWithOverloads : { (a: string): string; (a: number): number; } >a : string private privateFooWithOverloads(a: number): number; >privateFooWithOverloads : { (a: string): string; (a: number): number; } >a : number private privateFooWithOverloads(a: any): any { >privateFooWithOverloads : { (a: string): string; (a: number): number; } >a : any return a; >a : any } /** This comment should appear for static foo*/ static staticFoo() { >staticFoo : () => void } /** This is comment for function signature*/ static staticFooWithParameters(/** this is comment about a*/a: string, >staticFooWithParameters : (a: string, b: number) => void >a : string /** this is comment for b*/ b: number) { >b : number var d = a; >d : string >a : string } static staticFooWithRestParameters(a: string, ...rests: string[]) { >staticFooWithRestParameters : (a: string, ...rests: string[]) => string >a : string >rests : string[] return a + rests.join(""); >a + rests.join("") : string >a : string >rests.join("") : string >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string >"" : string } static staticFooWithOverloads(a: string): string; >staticFooWithOverloads : { (a: string): string; (a: number): number; } >a : string static staticFooWithOverloads(a: number): number; >staticFooWithOverloads : { (a: string): string; (a: number): number; } >a : number static staticFooWithOverloads(a: any): any { >staticFooWithOverloads : { (a: string): string; (a: number): number; } >a : any return a; >a : any } /** This comment should appear for privateStaticFoo*/ private static privateStaticFoo() { >privateStaticFoo : () => void } /** This is comment for function signature*/ private static privateStaticFooWithParameters(/** this is comment about a*/a: string, >privateStaticFooWithParameters : (a: string, b: number) => void >a : string /** this is comment for b*/ b: number) { >b : number var d = a; >d : string >a : string } private static privateStaticFooWithRestParameters(a: string, ...rests: string[]) { >privateStaticFooWithRestParameters : (a: string, ...rests: string[]) => string >a : string >rests : string[] return a + rests.join(""); >a + rests.join("") : string >a : string >rests.join("") : string >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string >"" : string } private static privateStaticFooWithOverloads(a: string): string; >privateStaticFooWithOverloads : { (a: string): string; (a: number): number; } >a : string private static privateStaticFooWithOverloads(a: number): number; >privateStaticFooWithOverloads : { (a: string): string; (a: number): number; } >a : number private static privateStaticFooWithOverloads(a: any): any { >privateStaticFooWithOverloads : { (a: string): string; (a: number): number; } >a : any return a; >a : any } } export interface I1 { >I1 : I1 /** This comment should appear for foo*/ foo(): string; >foo : () => string /** This is comment for function signature*/ fooWithParameters(/** this is comment about a*/a: string, >fooWithParameters : (a: string, b: number) => void >a : string /** this is comment for b*/ b: number): void; >b : number fooWithRestParameters(a: string, ...rests: string[]): string; >fooWithRestParameters : (a: string, ...rests: string[]) => string >a : string >rests : string[] fooWithOverloads(a: string): string; >fooWithOverloads : { (a: string): string; (a: number): number; } >a : string fooWithOverloads(a: number): number; >fooWithOverloads : { (a: string): string; (a: number): number; } >a : number } === tests/cases/compiler/declFileMethods_1.ts === class c2 { >c2 : c2 /** This comment should appear for foo*/ public foo() { >foo : () => void } /** This is comment for function signature*/ public fooWithParameters(/** this is comment about a*/a: string, >fooWithParameters : (a: string, b: number) => void >a : string /** this is comment for b*/ b: number) { >b : number var d = a; >d : string >a : string } public fooWithRestParameters(a: string, ...rests: string[]) { >fooWithRestParameters : (a: string, ...rests: string[]) => string >a : string >rests : string[] return a + rests.join(""); >a + rests.join("") : string >a : string >rests.join("") : string >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string >"" : string } public fooWithOverloads(a: string): string; >fooWithOverloads : { (a: string): string; (a: number): number; } >a : string public fooWithOverloads(a: number): number; >fooWithOverloads : { (a: string): string; (a: number): number; } >a : number public fooWithOverloads(a: any): any { >fooWithOverloads : { (a: string): string; (a: number): number; } >a : any return a; >a : any } /** This comment should appear for privateFoo*/ private privateFoo() { >privateFoo : () => void } /** This is comment for function signature*/ private privateFooWithParameters(/** this is comment about a*/a: string, >privateFooWithParameters : (a: string, b: number) => void >a : string /** this is comment for b*/ b: number) { >b : number var d = a; >d : string >a : string } private privateFooWithRestParameters(a: string, ...rests: string[]) { >privateFooWithRestParameters : (a: string, ...rests: string[]) => string >a : string >rests : string[] return a + rests.join(""); >a + rests.join("") : string >a : string >rests.join("") : string >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string >"" : string } private privateFooWithOverloads(a: string): string; >privateFooWithOverloads : { (a: string): string; (a: number): number; } >a : string private privateFooWithOverloads(a: number): number; >privateFooWithOverloads : { (a: string): string; (a: number): number; } >a : number private privateFooWithOverloads(a: any): any { >privateFooWithOverloads : { (a: string): string; (a: number): number; } >a : any return a; >a : any } /** This comment should appear for static foo*/ static staticFoo() { >staticFoo : () => void } /** This is comment for function signature*/ static staticFooWithParameters(/** this is comment about a*/a: string, >staticFooWithParameters : (a: string, b: number) => void >a : string /** this is comment for b*/ b: number) { >b : number var d = a; >d : string >a : string } static staticFooWithRestParameters(a: string, ...rests: string[]) { >staticFooWithRestParameters : (a: string, ...rests: string[]) => string >a : string >rests : string[] return a + rests.join(""); >a + rests.join("") : string >a : string >rests.join("") : string >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string >"" : string } static staticFooWithOverloads(a: string): string; >staticFooWithOverloads : { (a: string): string; (a: number): number; } >a : string static staticFooWithOverloads(a: number): number; >staticFooWithOverloads : { (a: string): string; (a: number): number; } >a : number static staticFooWithOverloads(a: any): any { >staticFooWithOverloads : { (a: string): string; (a: number): number; } >a : any return a; >a : any } /** This comment should appear for privateStaticFoo*/ private static privateStaticFoo() { >privateStaticFoo : () => void } /** This is comment for function signature*/ private static privateStaticFooWithParameters(/** this is comment about a*/a: string, >privateStaticFooWithParameters : (a: string, b: number) => void >a : string /** this is comment for b*/ b: number) { >b : number var d = a; >d : string >a : string } private static privateStaticFooWithRestParameters(a: string, ...rests: string[]) { >privateStaticFooWithRestParameters : (a: string, ...rests: string[]) => string >a : string >rests : string[] return a + rests.join(""); >a + rests.join("") : string >a : string >rests.join("") : string >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string >"" : string } private static privateStaticFooWithOverloads(a: string): string; >privateStaticFooWithOverloads : { (a: string): string; (a: number): number; } >a : string private static privateStaticFooWithOverloads(a: number): number; >privateStaticFooWithOverloads : { (a: string): string; (a: number): number; } >a : number private static privateStaticFooWithOverloads(a: any): any { >privateStaticFooWithOverloads : { (a: string): string; (a: number): number; } >a : any return a; >a : any } } interface I2 { >I2 : I2 /** This comment should appear for foo*/ foo(): string; >foo : () => string /** This is comment for function signature*/ fooWithParameters(/** this is comment about a*/a: string, >fooWithParameters : (a: string, b: number) => void >a : string /** this is comment for b*/ b: number): void; >b : number fooWithRestParameters(a: string, ...rests: string[]): string; >fooWithRestParameters : (a: string, ...rests: string[]) => string >a : string >rests : string[] fooWithOverloads(a: string): string; >fooWithOverloads : { (a: string): string; (a: number): number; } >a : string fooWithOverloads(a: number): number; >fooWithOverloads : { (a: string): string; (a: number): number; } >a : number }