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
|
=== tests/cases/conformance/types/members/typesWithProtectedConstructor.ts ===
class C {
>C : C
protected constructor() { }
}
var c = new C(); // error C is protected
>c : any
>new C() : any
>C : typeof C
var r: () => void = c.constructor;
>r : () => void
>c.constructor : any
>c : any
>constructor : any
class C2 {
>C2 : C2
protected constructor(x: number);
>x : number
protected constructor(x: any) { }
>x : any
}
var c2 = new C2(); // error C2 is protected
>c2 : any
>new C2() : any
>C2 : typeof C2
var r2: (x: number) => void = c2.constructor;
>r2 : (x: number) => void
>x : number
>c2.constructor : any
>c2 : any
>constructor : any
|