prettier/tests/typescript/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractInstantiations...

50 lines
720 B
TypeScript

class A {
}
abstract class B {
foo(): number { return this.bar(); }
abstract bar() : number;
}
new B;
var BB: typeof B = B;
var AA: typeof A = BB;
new AA;
function constructB(Factory : typeof B) {
new Factory;
}
var BB = B;
new BB;
var x : any = C;
new x;
class C extends B { }
abstract class D extends B { }
class E extends B {
bar() { return 1; }
}
abstract class F extends B {
abstract foo() : number;
bar() { return 2; }
}
abstract class G {
abstract qux(x : number) : string;
abstract qux() : number;
y : number;
abstract quz(x : number, y : string) : boolean;
abstract nom(): boolean;
nom(x : number): boolean;
}
class H {
abstract baz() : number;
}