|
| 1 | +=== tests/cases/compiler/typeGuardNarrowsIndexedAccessOfKnownProperty11.ts === |
| 2 | +enum E { A, B } |
| 3 | +>E : Symbol(E, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty11.ts, 0, 0)) |
| 4 | +>A : Symbol(E.A, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty11.ts, 0, 8)) |
| 5 | +>B : Symbol(E.B, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty11.ts, 0, 11)) |
| 6 | + |
| 7 | +declare const m: { [K in E]: string | null }; |
| 8 | +>m : Symbol(m, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty11.ts, 2, 13)) |
| 9 | +>K : Symbol(K, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty11.ts, 2, 20)) |
| 10 | +>E : Symbol(E, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty11.ts, 0, 0)) |
| 11 | + |
| 12 | +if (m[E.A] !== null) { |
| 13 | +>m : Symbol(m, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty11.ts, 2, 13)) |
| 14 | +>E.A : Symbol(E.A, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty11.ts, 0, 8)) |
| 15 | +>E : Symbol(E, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty11.ts, 0, 0)) |
| 16 | +>A : Symbol(E.A, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty11.ts, 0, 8)) |
| 17 | + |
| 18 | + m[E.A].toString(); // string |
| 19 | +>m[E.A].toString : Symbol(String.toString, Decl(lib.es5.d.ts, --, --)) |
| 20 | +>m : Symbol(m, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty11.ts, 2, 13)) |
| 21 | +>E.A : Symbol(E.A, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty11.ts, 0, 8)) |
| 22 | +>E : Symbol(E, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty11.ts, 0, 0)) |
| 23 | +>A : Symbol(E.A, Decl(typeGuardNarrowsIndexedAccessOfKnownProperty11.ts, 0, 8)) |
| 24 | +>toString : Symbol(String.toString, Decl(lib.es5.d.ts, --, --)) |
| 25 | +} |
| 26 | + |
0 commit comments