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/conformance/es6/newTarget/newTargetNarrowing.ts ===
function foo(x: true) { }
>foo : Symbol(foo, Decl(newTargetNarrowing.ts, 0, 0))
>x : Symbol(x, Decl(newTargetNarrowing.ts, 0, 13))
function f() {
>f : Symbol(f, Decl(newTargetNarrowing.ts, 0, 25), Decl(newTargetNarrowing.ts, 6, 1))
if (new.target.marked === true) {
>new.target.marked : Symbol(f.marked, Decl(newTargetNarrowing.ts, 6, 1))
>new.target : Symbol(f, Decl(newTargetNarrowing.ts, 0, 25), Decl(newTargetNarrowing.ts, 6, 1))
>target : Symbol(f, Decl(newTargetNarrowing.ts, 0, 25), Decl(newTargetNarrowing.ts, 6, 1))
>marked : Symbol(f.marked, Decl(newTargetNarrowing.ts, 6, 1))
foo(new.target.marked);
>foo : Symbol(foo, Decl(newTargetNarrowing.ts, 0, 0))
>new.target.marked : Symbol(f.marked, Decl(newTargetNarrowing.ts, 6, 1))
>new.target : Symbol(f, Decl(newTargetNarrowing.ts, 0, 25), Decl(newTargetNarrowing.ts, 6, 1))
>target : Symbol(f, Decl(newTargetNarrowing.ts, 0, 25), Decl(newTargetNarrowing.ts, 6, 1))
>marked : Symbol(f.marked, Decl(newTargetNarrowing.ts, 6, 1))
}
}
f.marked = true;
>f.marked : Symbol(f.marked, Decl(newTargetNarrowing.ts, 6, 1))
>f : Symbol(f, Decl(newTargetNarrowing.ts, 0, 25), Decl(newTargetNarrowing.ts, 6, 1))
>marked : Symbol(f.marked, Decl(newTargetNarrowing.ts, 6, 1))
|