1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
/// <reference path='fourslash.ts' />
////abstract class A {
//// abstract get a(): number | string;
//// abstract get b(): this;
//// abstract get c(): A;
////
//// abstract set d(arg: number | string);
//// abstract set e(arg: this);
//// abstract set f(arg: A);
////
//// abstract get g(): string;
//// abstract set g(newName: string);
////}
////
////// Don't need to add anything in this case.
////abstract class B extends A {}
////
////class C extends A {}
verify.codeFix({
description: "Implement inherited abstract class",
newFileContent:
`abstract class A {
abstract get a(): number | string;
abstract get b(): this;
abstract get c(): A;
abstract set d(arg: number | string);
abstract set e(arg: this);
abstract set f(arg: A);
abstract get g(): string;
abstract set g(newName: string);
}
// Don't need to add anything in this case.
abstract class B extends A {}
class C extends A {
get a(): string | number {
throw new Error("Method not implemented.");
}
get b(): this {
throw new Error("Method not implemented.");
}
get c(): A {
throw new Error("Method not implemented.");
}
set d(arg: string | number) {
throw new Error("Method not implemented.");
}
set e(arg: this) {
throw new Error("Method not implemented.");
}
set f(arg: A) {
throw new Error("Method not implemented.");
}
get g(): string {
throw new Error("Method not implemented.");
}
set g(newName: string) {
throw new Error("Method not implemented.");
}
}`
});
|