@@ -24,86 +24,184 @@ class D1 extends C1 {
24
24
p3: number;
25
25
>p3 : Symbol(p3, Decl(typeGuardOfFormInstanceOf.ts, 12, 21))
26
26
}
27
+ class C3 {
28
+ >C3 : Symbol(C3, Decl(typeGuardOfFormInstanceOf.ts, 14, 1))
29
+
30
+ p4: number;
31
+ >p4 : Symbol(p4, Decl(typeGuardOfFormInstanceOf.ts, 15, 10))
32
+ }
27
33
var str: string;
28
- >str : Symbol(str, Decl(typeGuardOfFormInstanceOf.ts, 15 , 3))
34
+ >str : Symbol(str, Decl(typeGuardOfFormInstanceOf.ts, 18 , 3))
29
35
30
36
var num: number;
31
- >num : Symbol(num, Decl(typeGuardOfFormInstanceOf.ts, 16 , 3))
37
+ >num : Symbol(num, Decl(typeGuardOfFormInstanceOf.ts, 19 , 3))
32
38
33
39
var strOrNum: string | number;
34
- >strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormInstanceOf.ts, 17 , 3))
40
+ >strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormInstanceOf.ts, 20 , 3))
35
41
36
- var c1Orc2 : C1 | C2;
37
- >c1Orc2 : Symbol(c1Orc2 , Decl(typeGuardOfFormInstanceOf.ts, 19 , 3))
42
+ var ctor1 : C1 | C2;
43
+ >ctor1 : Symbol(ctor1 , Decl(typeGuardOfFormInstanceOf.ts, 22 , 3))
38
44
>C1 : Symbol(C1, Decl(typeGuardOfFormInstanceOf.ts, 0, 0))
39
45
>C2 : Symbol(C2, Decl(typeGuardOfFormInstanceOf.ts, 8, 1))
40
46
41
- str = c1Orc2 instanceof C1 && c1Orc2 .p1; // C1
42
- >str : Symbol(str, Decl(typeGuardOfFormInstanceOf.ts, 15 , 3))
43
- >c1Orc2 : Symbol(c1Orc2 , Decl(typeGuardOfFormInstanceOf.ts, 19 , 3))
47
+ str = ctor1 instanceof C1 && ctor1 .p1; // C1
48
+ >str : Symbol(str, Decl(typeGuardOfFormInstanceOf.ts, 18 , 3))
49
+ >ctor1 : Symbol(ctor1 , Decl(typeGuardOfFormInstanceOf.ts, 22 , 3))
44
50
>C1 : Symbol(C1, Decl(typeGuardOfFormInstanceOf.ts, 0, 0))
45
- >c1Orc2 .p1 : Symbol(C1.p1, Decl(typeGuardOfFormInstanceOf.ts, 6, 10))
46
- >c1Orc2 : Symbol(c1Orc2 , Decl(typeGuardOfFormInstanceOf.ts, 19 , 3))
51
+ >ctor1 .p1 : Symbol(C1.p1, Decl(typeGuardOfFormInstanceOf.ts, 6, 10))
52
+ >ctor1 : Symbol(ctor1 , Decl(typeGuardOfFormInstanceOf.ts, 22 , 3))
47
53
>p1 : Symbol(C1.p1, Decl(typeGuardOfFormInstanceOf.ts, 6, 10))
48
54
49
- num = c1Orc2 instanceof C2 && c1Orc2 .p2; // C2
50
- >num : Symbol(num, Decl(typeGuardOfFormInstanceOf.ts, 16 , 3))
51
- >c1Orc2 : Symbol(c1Orc2 , Decl(typeGuardOfFormInstanceOf.ts, 19 , 3))
55
+ num = ctor1 instanceof C2 && ctor1 .p2; // C2
56
+ >num : Symbol(num, Decl(typeGuardOfFormInstanceOf.ts, 19 , 3))
57
+ >ctor1 : Symbol(ctor1 , Decl(typeGuardOfFormInstanceOf.ts, 22 , 3))
52
58
>C2 : Symbol(C2, Decl(typeGuardOfFormInstanceOf.ts, 8, 1))
53
- >c1Orc2 .p2 : Symbol(C2.p2, Decl(typeGuardOfFormInstanceOf.ts, 9, 10))
54
- >c1Orc2 : Symbol(c1Orc2 , Decl(typeGuardOfFormInstanceOf.ts, 19 , 3))
59
+ >ctor1 .p2 : Symbol(C2.p2, Decl(typeGuardOfFormInstanceOf.ts, 9, 10))
60
+ >ctor1 : Symbol(ctor1 , Decl(typeGuardOfFormInstanceOf.ts, 22 , 3))
55
61
>p2 : Symbol(C2.p2, Decl(typeGuardOfFormInstanceOf.ts, 9, 10))
56
62
57
- str = c1Orc2 instanceof D1 && c1Orc2 .p1; // D1
58
- >str : Symbol(str, Decl(typeGuardOfFormInstanceOf.ts, 15 , 3))
59
- >c1Orc2 : Symbol(c1Orc2 , Decl(typeGuardOfFormInstanceOf.ts, 19 , 3))
63
+ str = ctor1 instanceof D1 && ctor1 .p1; // D1
64
+ >str : Symbol(str, Decl(typeGuardOfFormInstanceOf.ts, 18 , 3))
65
+ >ctor1 : Symbol(ctor1 , Decl(typeGuardOfFormInstanceOf.ts, 22 , 3))
60
66
>D1 : Symbol(D1, Decl(typeGuardOfFormInstanceOf.ts, 11, 1))
61
- >c1Orc2 .p1 : Symbol(C1.p1, Decl(typeGuardOfFormInstanceOf.ts, 6, 10))
62
- >c1Orc2 : Symbol(c1Orc2 , Decl(typeGuardOfFormInstanceOf.ts, 19 , 3))
67
+ >ctor1 .p1 : Symbol(C1.p1, Decl(typeGuardOfFormInstanceOf.ts, 6, 10))
68
+ >ctor1 : Symbol(ctor1 , Decl(typeGuardOfFormInstanceOf.ts, 22 , 3))
63
69
>p1 : Symbol(C1.p1, Decl(typeGuardOfFormInstanceOf.ts, 6, 10))
64
70
65
- num = c1Orc2 instanceof D1 && c1Orc2 .p3; // D1
66
- >num : Symbol(num, Decl(typeGuardOfFormInstanceOf.ts, 16 , 3))
67
- >c1Orc2 : Symbol(c1Orc2 , Decl(typeGuardOfFormInstanceOf.ts, 19 , 3))
71
+ num = ctor1 instanceof D1 && ctor1 .p3; // D1
72
+ >num : Symbol(num, Decl(typeGuardOfFormInstanceOf.ts, 19 , 3))
73
+ >ctor1 : Symbol(ctor1 , Decl(typeGuardOfFormInstanceOf.ts, 22 , 3))
68
74
>D1 : Symbol(D1, Decl(typeGuardOfFormInstanceOf.ts, 11, 1))
69
- >c1Orc2 .p3 : Symbol(D1.p3, Decl(typeGuardOfFormInstanceOf.ts, 12, 21))
70
- >c1Orc2 : Symbol(c1Orc2 , Decl(typeGuardOfFormInstanceOf.ts, 19 , 3))
75
+ >ctor1 .p3 : Symbol(D1.p3, Decl(typeGuardOfFormInstanceOf.ts, 12, 21))
76
+ >ctor1 : Symbol(ctor1 , Decl(typeGuardOfFormInstanceOf.ts, 22 , 3))
71
77
>p3 : Symbol(D1.p3, Decl(typeGuardOfFormInstanceOf.ts, 12, 21))
72
78
73
- var c2Ord1 : C2 | D1;
74
- >c2Ord1 : Symbol(c2Ord1 , Decl(typeGuardOfFormInstanceOf.ts, 25 , 3))
79
+ var ctor2 : C2 | D1;
80
+ >ctor2 : Symbol(ctor2 , Decl(typeGuardOfFormInstanceOf.ts, 28 , 3))
75
81
>C2 : Symbol(C2, Decl(typeGuardOfFormInstanceOf.ts, 8, 1))
76
82
>D1 : Symbol(D1, Decl(typeGuardOfFormInstanceOf.ts, 11, 1))
77
83
78
- num = c2Ord1 instanceof C2 && c2Ord1 .p2; // C2
79
- >num : Symbol(num, Decl(typeGuardOfFormInstanceOf.ts, 16 , 3))
80
- >c2Ord1 : Symbol(c2Ord1 , Decl(typeGuardOfFormInstanceOf.ts, 25 , 3))
84
+ num = ctor2 instanceof C2 && ctor2 .p2; // C2
85
+ >num : Symbol(num, Decl(typeGuardOfFormInstanceOf.ts, 19 , 3))
86
+ >ctor2 : Symbol(ctor2 , Decl(typeGuardOfFormInstanceOf.ts, 28 , 3))
81
87
>C2 : Symbol(C2, Decl(typeGuardOfFormInstanceOf.ts, 8, 1))
82
- >c2Ord1 .p2 : Symbol(C2.p2, Decl(typeGuardOfFormInstanceOf.ts, 9, 10))
83
- >c2Ord1 : Symbol(c2Ord1 , Decl(typeGuardOfFormInstanceOf.ts, 25 , 3))
88
+ >ctor2 .p2 : Symbol(C2.p2, Decl(typeGuardOfFormInstanceOf.ts, 9, 10))
89
+ >ctor2 : Symbol(ctor2 , Decl(typeGuardOfFormInstanceOf.ts, 28 , 3))
84
90
>p2 : Symbol(C2.p2, Decl(typeGuardOfFormInstanceOf.ts, 9, 10))
85
91
86
- num = c2Ord1 instanceof D1 && c2Ord1 .p3; // D1
87
- >num : Symbol(num, Decl(typeGuardOfFormInstanceOf.ts, 16 , 3))
88
- >c2Ord1 : Symbol(c2Ord1 , Decl(typeGuardOfFormInstanceOf.ts, 25 , 3))
92
+ num = ctor2 instanceof D1 && ctor2 .p3; // D1
93
+ >num : Symbol(num, Decl(typeGuardOfFormInstanceOf.ts, 19 , 3))
94
+ >ctor2 : Symbol(ctor2 , Decl(typeGuardOfFormInstanceOf.ts, 28 , 3))
89
95
>D1 : Symbol(D1, Decl(typeGuardOfFormInstanceOf.ts, 11, 1))
90
- >c2Ord1 .p3 : Symbol(D1.p3, Decl(typeGuardOfFormInstanceOf.ts, 12, 21))
91
- >c2Ord1 : Symbol(c2Ord1 , Decl(typeGuardOfFormInstanceOf.ts, 25 , 3))
96
+ >ctor2 .p3 : Symbol(D1.p3, Decl(typeGuardOfFormInstanceOf.ts, 12, 21))
97
+ >ctor2 : Symbol(ctor2 , Decl(typeGuardOfFormInstanceOf.ts, 28 , 3))
92
98
>p3 : Symbol(D1.p3, Decl(typeGuardOfFormInstanceOf.ts, 12, 21))
93
99
94
- str = c2Ord1 instanceof D1 && c2Ord1 .p1; // D1
95
- >str : Symbol(str, Decl(typeGuardOfFormInstanceOf.ts, 15 , 3))
96
- >c2Ord1 : Symbol(c2Ord1 , Decl(typeGuardOfFormInstanceOf.ts, 25 , 3))
100
+ str = ctor2 instanceof D1 && ctor2 .p1; // D1
101
+ >str : Symbol(str, Decl(typeGuardOfFormInstanceOf.ts, 18 , 3))
102
+ >ctor2 : Symbol(ctor2 , Decl(typeGuardOfFormInstanceOf.ts, 28 , 3))
97
103
>D1 : Symbol(D1, Decl(typeGuardOfFormInstanceOf.ts, 11, 1))
98
- >c2Ord1 .p1 : Symbol(C1.p1, Decl(typeGuardOfFormInstanceOf.ts, 6, 10))
99
- >c2Ord1 : Symbol(c2Ord1 , Decl(typeGuardOfFormInstanceOf.ts, 25 , 3))
104
+ >ctor2 .p1 : Symbol(C1.p1, Decl(typeGuardOfFormInstanceOf.ts, 6, 10))
105
+ >ctor2 : Symbol(ctor2 , Decl(typeGuardOfFormInstanceOf.ts, 28 , 3))
100
106
>p1 : Symbol(C1.p1, Decl(typeGuardOfFormInstanceOf.ts, 6, 10))
101
107
102
- var r2: D1 | C2 = c2Ord1 instanceof C1 && c2Ord1 ; // C2 | D1
103
- >r2 : Symbol(r2, Decl(typeGuardOfFormInstanceOf.ts, 29 , 3))
108
+ var r2: D1 | C2 = ctor2 instanceof C1 && ctor2 ; // C2 | D1
109
+ >r2 : Symbol(r2, Decl(typeGuardOfFormInstanceOf.ts, 32 , 3))
104
110
>D1 : Symbol(D1, Decl(typeGuardOfFormInstanceOf.ts, 11, 1))
105
111
>C2 : Symbol(C2, Decl(typeGuardOfFormInstanceOf.ts, 8, 1))
106
- >c2Ord1 : Symbol(c2Ord1, Decl(typeGuardOfFormInstanceOf.ts, 25, 3))
112
+ >ctor2 : Symbol(ctor2, Decl(typeGuardOfFormInstanceOf.ts, 28, 3))
113
+ >C1 : Symbol(C1, Decl(typeGuardOfFormInstanceOf.ts, 0, 0))
114
+ >ctor2 : Symbol(ctor2, Decl(typeGuardOfFormInstanceOf.ts, 28, 3))
115
+
116
+ var ctor3: C1 | C2;
117
+ >ctor3 : Symbol(ctor3, Decl(typeGuardOfFormInstanceOf.ts, 34, 3))
118
+ >C1 : Symbol(C1, Decl(typeGuardOfFormInstanceOf.ts, 0, 0))
119
+ >C2 : Symbol(C2, Decl(typeGuardOfFormInstanceOf.ts, 8, 1))
120
+
121
+ if (ctor3 instanceof C1) {
122
+ >ctor3 : Symbol(ctor3, Decl(typeGuardOfFormInstanceOf.ts, 34, 3))
123
+ >C1 : Symbol(C1, Decl(typeGuardOfFormInstanceOf.ts, 0, 0))
124
+
125
+ ctor3.p1; // C1
126
+ >ctor3.p1 : Symbol(C1.p1, Decl(typeGuardOfFormInstanceOf.ts, 6, 10))
127
+ >ctor3 : Symbol(ctor3, Decl(typeGuardOfFormInstanceOf.ts, 34, 3))
128
+ >p1 : Symbol(C1.p1, Decl(typeGuardOfFormInstanceOf.ts, 6, 10))
129
+ }
130
+ else {
131
+ ctor3.p2; // C2
132
+ >ctor3.p2 : Symbol(C2.p2, Decl(typeGuardOfFormInstanceOf.ts, 9, 10))
133
+ >ctor3 : Symbol(ctor3, Decl(typeGuardOfFormInstanceOf.ts, 34, 3))
134
+ >p2 : Symbol(C2.p2, Decl(typeGuardOfFormInstanceOf.ts, 9, 10))
135
+ }
136
+
137
+ var ctor4: C1 | C2 | C3;
138
+ >ctor4 : Symbol(ctor4, Decl(typeGuardOfFormInstanceOf.ts, 42, 3))
139
+ >C1 : Symbol(C1, Decl(typeGuardOfFormInstanceOf.ts, 0, 0))
140
+ >C2 : Symbol(C2, Decl(typeGuardOfFormInstanceOf.ts, 8, 1))
141
+ >C3 : Symbol(C3, Decl(typeGuardOfFormInstanceOf.ts, 14, 1))
142
+
143
+ if (ctor4 instanceof C1) {
144
+ >ctor4 : Symbol(ctor4, Decl(typeGuardOfFormInstanceOf.ts, 42, 3))
107
145
>C1 : Symbol(C1, Decl(typeGuardOfFormInstanceOf.ts, 0, 0))
108
- >c2Ord1 : Symbol(c2Ord1, Decl(typeGuardOfFormInstanceOf.ts, 25, 3))
109
146
147
+ ctor4.p1; // C1
148
+ >ctor4.p1 : Symbol(C1.p1, Decl(typeGuardOfFormInstanceOf.ts, 6, 10))
149
+ >ctor4 : Symbol(ctor4, Decl(typeGuardOfFormInstanceOf.ts, 42, 3))
150
+ >p1 : Symbol(C1.p1, Decl(typeGuardOfFormInstanceOf.ts, 6, 10))
151
+ }
152
+ else if (ctor4 instanceof C2) {
153
+ >ctor4 : Symbol(ctor4, Decl(typeGuardOfFormInstanceOf.ts, 42, 3))
154
+ >C2 : Symbol(C2, Decl(typeGuardOfFormInstanceOf.ts, 8, 1))
155
+
156
+ ctor4.p2; // C2
157
+ >ctor4.p2 : Symbol(C2.p2, Decl(typeGuardOfFormInstanceOf.ts, 9, 10))
158
+ >ctor4 : Symbol(ctor4, Decl(typeGuardOfFormInstanceOf.ts, 42, 3))
159
+ >p2 : Symbol(C2.p2, Decl(typeGuardOfFormInstanceOf.ts, 9, 10))
160
+ }
161
+ else {
162
+ ctor4.p4; // C3
163
+ >ctor4.p4 : Symbol(C3.p4, Decl(typeGuardOfFormInstanceOf.ts, 15, 10))
164
+ >ctor4 : Symbol(ctor4, Decl(typeGuardOfFormInstanceOf.ts, 42, 3))
165
+ >p4 : Symbol(C3.p4, Decl(typeGuardOfFormInstanceOf.ts, 15, 10))
166
+ }
167
+
168
+ var ctor5: C1 | D1 | C2;
169
+ >ctor5 : Symbol(ctor5, Decl(typeGuardOfFormInstanceOf.ts, 53, 3))
170
+ >C1 : Symbol(C1, Decl(typeGuardOfFormInstanceOf.ts, 0, 0))
171
+ >D1 : Symbol(D1, Decl(typeGuardOfFormInstanceOf.ts, 11, 1))
172
+ >C2 : Symbol(C2, Decl(typeGuardOfFormInstanceOf.ts, 8, 1))
173
+
174
+ if (ctor5 instanceof C1) {
175
+ >ctor5 : Symbol(ctor5, Decl(typeGuardOfFormInstanceOf.ts, 53, 3))
176
+ >C1 : Symbol(C1, Decl(typeGuardOfFormInstanceOf.ts, 0, 0))
177
+
178
+ ctor5.p1; // C1
179
+ >ctor5.p1 : Symbol(C1.p1, Decl(typeGuardOfFormInstanceOf.ts, 6, 10))
180
+ >ctor5 : Symbol(ctor5, Decl(typeGuardOfFormInstanceOf.ts, 53, 3))
181
+ >p1 : Symbol(C1.p1, Decl(typeGuardOfFormInstanceOf.ts, 6, 10))
182
+ }
183
+ else {
184
+ ctor5.p2; // C2
185
+ >ctor5.p2 : Symbol(C2.p2, Decl(typeGuardOfFormInstanceOf.ts, 9, 10))
186
+ >ctor5 : Symbol(ctor5, Decl(typeGuardOfFormInstanceOf.ts, 53, 3))
187
+ >p2 : Symbol(C2.p2, Decl(typeGuardOfFormInstanceOf.ts, 9, 10))
188
+ }
189
+
190
+ var ctor6: C1 | C2 | C3;
191
+ >ctor6 : Symbol(ctor6, Decl(typeGuardOfFormInstanceOf.ts, 61, 3))
192
+ >C1 : Symbol(C1, Decl(typeGuardOfFormInstanceOf.ts, 0, 0))
193
+ >C2 : Symbol(C2, Decl(typeGuardOfFormInstanceOf.ts, 8, 1))
194
+ >C3 : Symbol(C3, Decl(typeGuardOfFormInstanceOf.ts, 14, 1))
195
+
196
+ if (ctor6 instanceof C1 || ctor6 instanceof C2) {
197
+ >ctor6 : Symbol(ctor6, Decl(typeGuardOfFormInstanceOf.ts, 61, 3))
198
+ >C1 : Symbol(C1, Decl(typeGuardOfFormInstanceOf.ts, 0, 0))
199
+ >ctor6 : Symbol(ctor6, Decl(typeGuardOfFormInstanceOf.ts, 61, 3))
200
+ >C2 : Symbol(C2, Decl(typeGuardOfFormInstanceOf.ts, 8, 1))
201
+ }
202
+ else {
203
+ ctor6.p4; // C3
204
+ >ctor6.p4 : Symbol(C3.p4, Decl(typeGuardOfFormInstanceOf.ts, 15, 10))
205
+ >ctor6 : Symbol(ctor6, Decl(typeGuardOfFormInstanceOf.ts, 61, 3))
206
+ >p4 : Symbol(C3.p4, Decl(typeGuardOfFormInstanceOf.ts, 15, 10))
207
+ }
0 commit comments