@@ -111,22 +111,22 @@ function f4(s: Set<string> | Set<number>) {
111111
112112// More tests
113113
114- class A { a: string }
114+ class A { a: string = "" }
115115>A : Symbol(A, Decl(controlFlowInstanceof.ts, 41, 1))
116116>a : Symbol(A.a, Decl(controlFlowInstanceof.ts, 45, 9))
117117
118- class B extends A { b: string }
119- >B : Symbol(B, Decl(controlFlowInstanceof.ts, 45, 21 ))
118+ class B extends A { b: string = "" }
119+ >B : Symbol(B, Decl(controlFlowInstanceof.ts, 45, 26 ))
120120>A : Symbol(A, Decl(controlFlowInstanceof.ts, 41, 1))
121121>b : Symbol(B.b, Decl(controlFlowInstanceof.ts, 46, 19))
122122
123- class C extends A { c: string }
124- >C : Symbol(C, Decl(controlFlowInstanceof.ts, 46, 31 ))
123+ class C extends A { c: string = "" }
124+ >C : Symbol(C, Decl(controlFlowInstanceof.ts, 46, 36 ))
125125>A : Symbol(A, Decl(controlFlowInstanceof.ts, 41, 1))
126126>c : Symbol(C.c, Decl(controlFlowInstanceof.ts, 47, 19))
127127
128128function foo(x: A | undefined) {
129- >foo : Symbol(foo, Decl(controlFlowInstanceof.ts, 47, 31 ))
129+ >foo : Symbol(foo, Decl(controlFlowInstanceof.ts, 47, 36 ))
130130>x : Symbol(x, Decl(controlFlowInstanceof.ts, 49, 13))
131131>A : Symbol(A, Decl(controlFlowInstanceof.ts, 41, 1))
132132
@@ -135,9 +135,9 @@ function foo(x: A | undefined) {
135135
136136 if (x instanceof B || x instanceof C) {
137137>x : Symbol(x, Decl(controlFlowInstanceof.ts, 49, 13))
138- >B : Symbol(B, Decl(controlFlowInstanceof.ts, 45, 21 ))
138+ >B : Symbol(B, Decl(controlFlowInstanceof.ts, 45, 26 ))
139139>x : Symbol(x, Decl(controlFlowInstanceof.ts, 49, 13))
140- >C : Symbol(C, Decl(controlFlowInstanceof.ts, 46, 31 ))
140+ >C : Symbol(C, Decl(controlFlowInstanceof.ts, 46, 36 ))
141141
142142 x; // B | C
143143>x : Symbol(x, Decl(controlFlowInstanceof.ts, 49, 13))
@@ -147,9 +147,9 @@ function foo(x: A | undefined) {
147147
148148 if (x instanceof B && x instanceof C) {
149149>x : Symbol(x, Decl(controlFlowInstanceof.ts, 49, 13))
150- >B : Symbol(B, Decl(controlFlowInstanceof.ts, 45, 21 ))
150+ >B : Symbol(B, Decl(controlFlowInstanceof.ts, 45, 26 ))
151151>x : Symbol(x, Decl(controlFlowInstanceof.ts, 49, 13))
152- >C : Symbol(C, Decl(controlFlowInstanceof.ts, 46, 31 ))
152+ >C : Symbol(C, Decl(controlFlowInstanceof.ts, 46, 36 ))
153153
154154 x; // B & C
155155>x : Symbol(x, Decl(controlFlowInstanceof.ts, 49, 13))
@@ -167,14 +167,14 @@ function foo(x: A | undefined) {
167167
168168 if (x instanceof B) {
169169>x : Symbol(x, Decl(controlFlowInstanceof.ts, 49, 13))
170- >B : Symbol(B, Decl(controlFlowInstanceof.ts, 45, 21 ))
170+ >B : Symbol(B, Decl(controlFlowInstanceof.ts, 45, 26 ))
171171
172172 x; // B
173173>x : Symbol(x, Decl(controlFlowInstanceof.ts, 49, 13))
174174
175175 if (x instanceof C) {
176176>x : Symbol(x, Decl(controlFlowInstanceof.ts, 49, 13))
177- >C : Symbol(C, Decl(controlFlowInstanceof.ts, 46, 31 ))
177+ >C : Symbol(C, Decl(controlFlowInstanceof.ts, 46, 36 ))
178178
179179 x; // B & C
180180>x : Symbol(x, Decl(controlFlowInstanceof.ts, 49, 13))
@@ -200,14 +200,14 @@ function foo(x: A | undefined) {
200200interface X {
201201>X : Symbol(X, Decl(controlFlowInstanceof.ts, 77, 1))
202202
203- x?: string;
203+ x?: string
204204>x : Symbol(X.x, Decl(controlFlowInstanceof.ts, 82, 13))
205205}
206206
207207class Y {
208208>Y : Symbol(Y, Decl(controlFlowInstanceof.ts, 84, 1))
209209
210- y: string;
210+ y: string = "" ;
211211>y : Symbol(Y.y, Decl(controlFlowInstanceof.ts, 86, 9))
212212}
213213
@@ -251,26 +251,29 @@ if (x instanceof ctor) {
251251
252252// Repro from #27550 (based on uglify code)
253253=== uglify.js ===
254- /** @constructor */
254+ /**
255+ * @constructor
256+ * @param {any} val
257+ */
255258function AtTop(val) { this.val = val }
256259>AtTop : Symbol(AtTop, Decl(uglify.js, 0, 0))
257- >val : Symbol(val, Decl(uglify.js, 1 , 15))
258- >this.val : Symbol(AtTop.val, Decl(uglify.js, 1 , 21))
260+ >val : Symbol(val, Decl(uglify.js, 4 , 15))
261+ >this.val : Symbol(AtTop.val, Decl(uglify.js, 4 , 21))
259262>this : Symbol(AtTop, Decl(uglify.js, 0, 0))
260- >val : Symbol(AtTop.val, Decl(uglify.js, 1 , 21))
261- >val : Symbol(val, Decl(uglify.js, 1 , 15))
263+ >val : Symbol(AtTop.val, Decl(uglify.js, 4 , 21))
264+ >val : Symbol(val, Decl(uglify.js, 4 , 15))
262265
263266/** @type {*} */
264267var v = 1;
265- >v : Symbol(v, Decl(uglify.js, 3 , 3))
268+ >v : Symbol(v, Decl(uglify.js, 6 , 3))
266269
267270if (v instanceof AtTop) {
268- >v : Symbol(v, Decl(uglify.js, 3 , 3))
271+ >v : Symbol(v, Decl(uglify.js, 6 , 3))
269272>AtTop : Symbol(AtTop, Decl(uglify.js, 0, 0))
270273
271274 v.val
272- >v.val : Symbol(AtTop.val, Decl(uglify.js, 1 , 21))
273- >v : Symbol(v, Decl(uglify.js, 3 , 3))
274- >val : Symbol(AtTop.val, Decl(uglify.js, 1 , 21))
275+ >v.val : Symbol(AtTop.val, Decl(uglify.js, 4 , 21))
276+ >v : Symbol(v, Decl(uglify.js, 6 , 3))
277+ >val : Symbol(AtTop.val, Decl(uglify.js, 4 , 21))
275278}
276279
0 commit comments