From 0c5471ba5cb1eab73661b21d9d9a5d19f7286f8a Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sun, 3 Feb 2019 15:23:21 -0800 Subject: [PATCH] Add regression test --- .../cases/compiler/narrowingOfDottedNames.ts | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/tests/cases/compiler/narrowingOfDottedNames.ts b/tests/cases/compiler/narrowingOfDottedNames.ts index 4e504e4133..299dfff3be 100644 --- a/tests/cases/compiler/narrowingOfDottedNames.ts +++ b/tests/cases/compiler/narrowingOfDottedNames.ts @@ -57,3 +57,36 @@ class Foo2 constructor() { } } + +// Repro from #29513 + +class AInfo { + a_count: number = 1; +} + +class BInfo { + b_count: number = 1; +} + +class Base { + id: number = 0; +} + +class A2 extends Base { + info!: AInfo; +} + +class B2 extends Base { + info!: BInfo; +} + +let target: Base = null as any; + +while (target) { + if (target instanceof A2) { + target.info.a_count = 3; + } + else if (target instanceof B2) { + const j: BInfo = target.info; + } +}