TypeScript/tests/cases/fourslash/codeFixClassImplementInterfaceCallback.ts
Eli Barzilay 0c467d095f Fix signatureToSignatureDeclarationHelper
Even if `SuppressAnyReturnType` is on, don't supress it if it's a function.

Fixes #35508.
2020-01-07 17:12:43 -05:00

76 lines
1.4 KiB
TypeScript

/// <reference path='fourslash.ts' />
// #35508
////interface IFoo1 {
//// parse(reviver: () => any): void;
////}
////
////class Foo1 implements IFoo1 {
////}
////
////interface IFoo2 {
//// parse(reviver: { (): any }): void;
////}
////
////class Foo2 implements IFoo2 {
////}
////
////interface IFoo3 {
//// parse(reviver: new () => any): void;
////}
////
////class Foo3 implements IFoo3 {
////}
////
////interface IFoo4 {
//// parse(reviver: { new (): any }): void;
////}
////
////class Foo4 implements IFoo4 {
////}
verify.codeFixAll({
fixAllDescription: ts.Diagnostics.Implement_all_unimplemented_interfaces.message,
fixId: "fixClassIncorrectlyImplementsInterface",
newFileContent:
`interface IFoo1 {
parse(reviver: () => any): void;
}
class Foo1 implements IFoo1 {
parse(reviver: () => any): void {
throw new Error("Method not implemented.");
}
}
interface IFoo2 {
parse(reviver: { (): any }): void;
}
class Foo2 implements IFoo2 {
parse(reviver: () => any): void {
throw new Error("Method not implemented.");
}
}
interface IFoo3 {
parse(reviver: new () => any): void;
}
class Foo3 implements IFoo3 {
parse(reviver: new () => any): void {
throw new Error("Method not implemented.");
}
}
interface IFoo4 {
parse(reviver: { new (): any }): void;
}
class Foo4 implements IFoo4 {
parse(reviver: new () => any): void {
throw new Error("Method not implemented.");
}
}`});