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
|
//// [tests/cases/compiler/jsFileClassPropertyType3.ts] ////
=== foo.js ===
class C {
>C : Symbol(C, Decl(foo.js, 0, 0))
constructor() {
if (cond) {
this.p = null;
>this.p : Symbol(C.p, Decl(foo.js, 2, 19), Decl(foo.js, 5, 14))
>this : Symbol(C, Decl(foo.js, 0, 0))
>p : Symbol(C.p, Decl(foo.js, 2, 19), Decl(foo.js, 5, 14))
}
else {
this.p = 0;
>this.p : Symbol(C.p, Decl(foo.js, 2, 19), Decl(foo.js, 5, 14))
>this : Symbol(C, Decl(foo.js, 0, 0))
>p : Symbol(C.p, Decl(foo.js, 2, 19), Decl(foo.js, 5, 14))
}
}
}
=== bar.ts ===
(new C()).p = "string"; // Error
>(new C()).p : Symbol(C.p, Decl(foo.js, 2, 19), Decl(foo.js, 5, 14))
>C : Symbol(C, Decl(foo.js, 0, 0))
>p : Symbol(C.p, Decl(foo.js, 2, 19), Decl(foo.js, 5, 14))
|