Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(233)

Side by Side Diff: frog/tests/leg/src/TypeCombinationTest.dart

Issue 10139012: Refactor types in ssa nodes. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address comments. Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « frog/tests/leg/leg.status ('k') | frog/tests/leg/src/TypeInference3Test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 #source("../../../../lib/compiler/implementation/ssa/types.dart");
6
7 class Type {
8 const Type(this.str);
9 final String str;
10 }
11
12 final CONFLICTING = HType.CONFLICTING;
13 final UNKNOWN = HType.UNKNOWN;
14 final BOOLEAN = HType.BOOLEAN;
15 final NUMBER = HType.NUMBER;
16 final INTEGER = HType.INTEGER;
17 final DOUBLE = HType.DOUBLE;
18 final INDEXABLE_PRIMITIVE = HType.INDEXABLE_PRIMITIVE;
19 final STRING = HType.STRING;
20 final READABLE_ARRAY = HType.READABLE_ARRAY;
21 final MUTABLE_ARRAY = HType.MUTABLE_ARRAY;
22 final EXTENDABLE_ARRAY = HType.EXTENDABLE_ARRAY;
23 final NON_PRIMITIVE1 = const HNonPrimitiveType(const Type("type1"));
24 final NON_PRIMITIVE2 = const HNonPrimitiveType(const Type("type2"));
25
26 void testUnion() {
27 Expect.equals(CONFLICTING, CONFLICTING.union(CONFLICTING));
28 Expect.equals(CONFLICTING, CONFLICTING.union(UNKNOWN));
29 Expect.equals(CONFLICTING, CONFLICTING.union(BOOLEAN));
30 Expect.equals(CONFLICTING, CONFLICTING.union(NUMBER));
31 Expect.equals(CONFLICTING, CONFLICTING.union(INTEGER));
32 Expect.equals(CONFLICTING, CONFLICTING.union(DOUBLE));
33 Expect.equals(CONFLICTING, CONFLICTING.union(INDEXABLE_PRIMITIVE));
34 Expect.equals(CONFLICTING, CONFLICTING.union(STRING));
35 Expect.equals(CONFLICTING, CONFLICTING.union(READABLE_ARRAY));
36 Expect.equals(CONFLICTING, CONFLICTING.union(MUTABLE_ARRAY));
37 Expect.equals(CONFLICTING, CONFLICTING.union(EXTENDABLE_ARRAY));
38 Expect.equals(CONFLICTING, CONFLICTING.union(NON_PRIMITIVE1));
39 Expect.equals(CONFLICTING, CONFLICTING.union(NON_PRIMITIVE2));
40
41 Expect.equals(CONFLICTING, UNKNOWN.union(CONFLICTING));
42 Expect.equals(UNKNOWN, UNKNOWN.union(UNKNOWN));
43 Expect.equals(BOOLEAN, UNKNOWN.union(BOOLEAN));
44 Expect.equals(NUMBER, UNKNOWN.union(NUMBER));
45 Expect.equals(INTEGER, UNKNOWN.union(INTEGER));
46 Expect.equals(DOUBLE, UNKNOWN.union(DOUBLE));
47 Expect.equals(INDEXABLE_PRIMITIVE, UNKNOWN.union(INDEXABLE_PRIMITIVE));
48 Expect.equals(STRING, UNKNOWN.union(STRING));
49 Expect.equals(READABLE_ARRAY, UNKNOWN.union(READABLE_ARRAY));
50 Expect.equals(MUTABLE_ARRAY, UNKNOWN.union(MUTABLE_ARRAY));
51 Expect.equals(EXTENDABLE_ARRAY, UNKNOWN.union(EXTENDABLE_ARRAY));
52 Expect.equals(NON_PRIMITIVE1, UNKNOWN.union(NON_PRIMITIVE1));
53 Expect.equals(NON_PRIMITIVE2, UNKNOWN.union(NON_PRIMITIVE2));
54
55 Expect.equals(CONFLICTING, BOOLEAN.union(CONFLICTING));
56 Expect.equals(BOOLEAN, BOOLEAN.union(UNKNOWN));
57 Expect.equals(BOOLEAN, BOOLEAN.union(BOOLEAN));
58 Expect.equals(CONFLICTING, BOOLEAN.union(NUMBER));
59 Expect.equals(CONFLICTING, BOOLEAN.union(INTEGER));
60 Expect.equals(CONFLICTING, BOOLEAN.union(DOUBLE));
61 Expect.equals(CONFLICTING, BOOLEAN.union(INDEXABLE_PRIMITIVE));
62 Expect.equals(CONFLICTING, BOOLEAN.union(STRING));
63 Expect.equals(CONFLICTING, BOOLEAN.union(READABLE_ARRAY));
64 Expect.equals(CONFLICTING, BOOLEAN.union(MUTABLE_ARRAY));
65 Expect.equals(CONFLICTING, BOOLEAN.union(EXTENDABLE_ARRAY));
66 Expect.equals(CONFLICTING, BOOLEAN.union(NON_PRIMITIVE1));
67 Expect.equals(CONFLICTING, BOOLEAN.union(NON_PRIMITIVE2));
68
69 Expect.equals(CONFLICTING, NUMBER.union(CONFLICTING));
70 Expect.equals(NUMBER, NUMBER.union(UNKNOWN));
71 Expect.equals(CONFLICTING, NUMBER.union(BOOLEAN));
72 Expect.equals(NUMBER, NUMBER.union(NUMBER));
73 Expect.equals(NUMBER, NUMBER.union(INTEGER));
74 Expect.equals(NUMBER, NUMBER.union(DOUBLE));
75 Expect.equals(CONFLICTING, NUMBER.union(INDEXABLE_PRIMITIVE));
76 Expect.equals(CONFLICTING, NUMBER.union(STRING));
77 Expect.equals(CONFLICTING, NUMBER.union(READABLE_ARRAY));
78 Expect.equals(CONFLICTING, NUMBER.union(MUTABLE_ARRAY));
79 Expect.equals(CONFLICTING, NUMBER.union(EXTENDABLE_ARRAY));
80 Expect.equals(CONFLICTING, NUMBER.union(NON_PRIMITIVE1));
81 Expect.equals(CONFLICTING, NUMBER.union(NON_PRIMITIVE2));
82
83 Expect.equals(CONFLICTING, INTEGER.union(CONFLICTING));
84 Expect.equals(INTEGER, INTEGER.union(UNKNOWN));
85 Expect.equals(CONFLICTING, INTEGER.union(BOOLEAN));
86 Expect.equals(NUMBER, INTEGER.union(NUMBER));
87 Expect.equals(INTEGER, INTEGER.union(INTEGER));
88 Expect.equals(NUMBER, INTEGER.union(DOUBLE));
89 Expect.equals(CONFLICTING, INTEGER.union(INDEXABLE_PRIMITIVE));
90 Expect.equals(CONFLICTING, INTEGER.union(STRING));
91 Expect.equals(CONFLICTING, INTEGER.union(READABLE_ARRAY));
92 Expect.equals(CONFLICTING, INTEGER.union(MUTABLE_ARRAY));
93 Expect.equals(CONFLICTING, INTEGER.union(EXTENDABLE_ARRAY));
94 Expect.equals(CONFLICTING, INTEGER.union(NON_PRIMITIVE1));
95 Expect.equals(CONFLICTING, INTEGER.union(NON_PRIMITIVE2));
96
97 Expect.equals(CONFLICTING, DOUBLE.union(CONFLICTING));
98 Expect.equals(DOUBLE, DOUBLE.union(UNKNOWN));
99 Expect.equals(CONFLICTING, DOUBLE.union(BOOLEAN));
100 Expect.equals(NUMBER, DOUBLE.union(NUMBER));
101 Expect.equals(NUMBER, DOUBLE.union(INTEGER));
102 Expect.equals(DOUBLE, DOUBLE.union(DOUBLE));
103 Expect.equals(CONFLICTING, DOUBLE.union(INDEXABLE_PRIMITIVE));
104 Expect.equals(CONFLICTING, DOUBLE.union(STRING));
105 Expect.equals(CONFLICTING, DOUBLE.union(READABLE_ARRAY));
106 Expect.equals(CONFLICTING, DOUBLE.union(MUTABLE_ARRAY));
107 Expect.equals(CONFLICTING, DOUBLE.union(EXTENDABLE_ARRAY));
108 Expect.equals(CONFLICTING, DOUBLE.union(NON_PRIMITIVE1));
109 Expect.equals(CONFLICTING, DOUBLE.union(NON_PRIMITIVE2));
110
111 Expect.equals(CONFLICTING, INDEXABLE_PRIMITIVE.union(CONFLICTING));
112 Expect.equals(INDEXABLE_PRIMITIVE, INDEXABLE_PRIMITIVE.union(UNKNOWN));
113 Expect.equals(CONFLICTING, INDEXABLE_PRIMITIVE.union(BOOLEAN));
114 Expect.equals(CONFLICTING, INDEXABLE_PRIMITIVE.union(NUMBER));
115 Expect.equals(CONFLICTING, INDEXABLE_PRIMITIVE.union(INTEGER));
116 Expect.equals(CONFLICTING, INDEXABLE_PRIMITIVE.union(DOUBLE));
117 Expect.equals(INDEXABLE_PRIMITIVE,
118 INDEXABLE_PRIMITIVE.union(INDEXABLE_PRIMITIVE));
119 Expect.equals(INDEXABLE_PRIMITIVE, INDEXABLE_PRIMITIVE.union(STRING));
120 Expect.equals(INDEXABLE_PRIMITIVE, INDEXABLE_PRIMITIVE.union(READABLE_ARRAY));
121 Expect.equals(INDEXABLE_PRIMITIVE, INDEXABLE_PRIMITIVE.union(MUTABLE_ARRAY));
122 Expect.equals(INDEXABLE_PRIMITIVE,
123 INDEXABLE_PRIMITIVE.union(EXTENDABLE_ARRAY));
124 Expect.equals(CONFLICTING, INDEXABLE_PRIMITIVE.union(NON_PRIMITIVE1));
125 Expect.equals(CONFLICTING, INDEXABLE_PRIMITIVE.union(NON_PRIMITIVE2));
126
127 Expect.equals(CONFLICTING, STRING.union(CONFLICTING));
128 Expect.equals(STRING, STRING.union(UNKNOWN));
129 Expect.equals(CONFLICTING, STRING.union(BOOLEAN));
130 Expect.equals(CONFLICTING, STRING.union(NUMBER));
131 Expect.equals(CONFLICTING, STRING.union(INTEGER));
132 Expect.equals(CONFLICTING, STRING.union(DOUBLE));
133 Expect.equals(INDEXABLE_PRIMITIVE, STRING.union(INDEXABLE_PRIMITIVE));
134 Expect.equals(STRING, STRING.union(STRING));
135 Expect.equals(INDEXABLE_PRIMITIVE, STRING.union(READABLE_ARRAY));
136 Expect.equals(INDEXABLE_PRIMITIVE, STRING.union(MUTABLE_ARRAY));
137 Expect.equals(INDEXABLE_PRIMITIVE, STRING.union(EXTENDABLE_ARRAY));
138 Expect.equals(CONFLICTING, STRING.union(NON_PRIMITIVE1));
139 Expect.equals(CONFLICTING, STRING.union(NON_PRIMITIVE2));
140
141 Expect.equals(CONFLICTING, READABLE_ARRAY.union(CONFLICTING));
142 Expect.equals(READABLE_ARRAY, READABLE_ARRAY.union(UNKNOWN));
143 Expect.equals(CONFLICTING, READABLE_ARRAY.union(BOOLEAN));
144 Expect.equals(CONFLICTING, READABLE_ARRAY.union(NUMBER));
145 Expect.equals(CONFLICTING, READABLE_ARRAY.union(INTEGER));
146 Expect.equals(CONFLICTING, READABLE_ARRAY.union(DOUBLE));
147 Expect.equals(INDEXABLE_PRIMITIVE, READABLE_ARRAY.union(INDEXABLE_PRIMITIVE));
148 Expect.equals(INDEXABLE_PRIMITIVE, READABLE_ARRAY.union(STRING));
149 Expect.equals(READABLE_ARRAY, READABLE_ARRAY.union(READABLE_ARRAY));
150 Expect.equals(READABLE_ARRAY, READABLE_ARRAY.union(MUTABLE_ARRAY));
151 Expect.equals(READABLE_ARRAY, READABLE_ARRAY.union(EXTENDABLE_ARRAY));
152 Expect.equals(CONFLICTING, READABLE_ARRAY.union(NON_PRIMITIVE1));
153 Expect.equals(CONFLICTING, READABLE_ARRAY.union(NON_PRIMITIVE2));
154
155 Expect.equals(CONFLICTING, MUTABLE_ARRAY.union(CONFLICTING));
156 Expect.equals(MUTABLE_ARRAY, MUTABLE_ARRAY.union(UNKNOWN));
157 Expect.equals(CONFLICTING, MUTABLE_ARRAY.union(BOOLEAN));
158 Expect.equals(CONFLICTING, MUTABLE_ARRAY.union(NUMBER));
159 Expect.equals(CONFLICTING, MUTABLE_ARRAY.union(INTEGER));
160 Expect.equals(CONFLICTING, MUTABLE_ARRAY.union(DOUBLE));
161 Expect.equals(INDEXABLE_PRIMITIVE, MUTABLE_ARRAY.union(INDEXABLE_PRIMITIVE));
162 Expect.equals(INDEXABLE_PRIMITIVE, MUTABLE_ARRAY.union(STRING));
163 Expect.equals(READABLE_ARRAY, MUTABLE_ARRAY.union(READABLE_ARRAY));
164 Expect.equals(MUTABLE_ARRAY, MUTABLE_ARRAY.union(MUTABLE_ARRAY));
165 Expect.equals(MUTABLE_ARRAY, MUTABLE_ARRAY.union(EXTENDABLE_ARRAY));
166 Expect.equals(CONFLICTING, MUTABLE_ARRAY.union(NON_PRIMITIVE1));
167 Expect.equals(CONFLICTING, MUTABLE_ARRAY.union(NON_PRIMITIVE2));
168
169 Expect.equals(CONFLICTING, EXTENDABLE_ARRAY.union(CONFLICTING));
170 Expect.equals(EXTENDABLE_ARRAY, EXTENDABLE_ARRAY.union(UNKNOWN));
171 Expect.equals(CONFLICTING, EXTENDABLE_ARRAY.union(BOOLEAN));
172 Expect.equals(CONFLICTING, EXTENDABLE_ARRAY.union(NUMBER));
173 Expect.equals(CONFLICTING, EXTENDABLE_ARRAY.union(INTEGER));
174 Expect.equals(CONFLICTING, EXTENDABLE_ARRAY.union(DOUBLE));
175 Expect.equals(INDEXABLE_PRIMITIVE, EXTENDABLE_ARRAY.union(INDEXABLE_PRIMITIVE) );
176 Expect.equals(INDEXABLE_PRIMITIVE, EXTENDABLE_ARRAY.union(STRING));
177 Expect.equals(READABLE_ARRAY, EXTENDABLE_ARRAY.union(READABLE_ARRAY));
178 Expect.equals(MUTABLE_ARRAY, EXTENDABLE_ARRAY.union(MUTABLE_ARRAY));
179 Expect.equals(EXTENDABLE_ARRAY, EXTENDABLE_ARRAY.union(EXTENDABLE_ARRAY));
180 Expect.equals(CONFLICTING, EXTENDABLE_ARRAY.union(NON_PRIMITIVE1));
181 Expect.equals(CONFLICTING, EXTENDABLE_ARRAY.union(NON_PRIMITIVE2));
182
183 Expect.equals(CONFLICTING, NON_PRIMITIVE1.union(CONFLICTING));
184 Expect.equals(NON_PRIMITIVE1, NON_PRIMITIVE1.union(UNKNOWN));
185 Expect.equals(CONFLICTING, NON_PRIMITIVE1.union(BOOLEAN));
186 Expect.equals(CONFLICTING, NON_PRIMITIVE1.union(NUMBER));
187 Expect.equals(CONFLICTING, NON_PRIMITIVE1.union(INTEGER));
188 Expect.equals(CONFLICTING, NON_PRIMITIVE1.union(DOUBLE));
189 Expect.equals(CONFLICTING, NON_PRIMITIVE1.union(INDEXABLE_PRIMITIVE));
190 Expect.equals(CONFLICTING, NON_PRIMITIVE1.union(STRING));
191 Expect.equals(CONFLICTING, NON_PRIMITIVE1.union(READABLE_ARRAY));
192 Expect.equals(CONFLICTING, NON_PRIMITIVE1.union(MUTABLE_ARRAY));
193 Expect.equals(CONFLICTING, NON_PRIMITIVE1.union(EXTENDABLE_ARRAY));
194 Expect.equals(NON_PRIMITIVE1, NON_PRIMITIVE1.union(NON_PRIMITIVE1));
195 Expect.equals(CONFLICTING, NON_PRIMITIVE1.union(NON_PRIMITIVE2));
196
197 Expect.equals(CONFLICTING, NON_PRIMITIVE2.union(CONFLICTING));
198 Expect.equals(NON_PRIMITIVE2, NON_PRIMITIVE2.union(UNKNOWN));
199 Expect.equals(CONFLICTING, NON_PRIMITIVE2.union(BOOLEAN));
200 Expect.equals(CONFLICTING, NON_PRIMITIVE2.union(NUMBER));
201 Expect.equals(CONFLICTING, NON_PRIMITIVE2.union(INTEGER));
202 Expect.equals(CONFLICTING, NON_PRIMITIVE2.union(DOUBLE));
203 Expect.equals(CONFLICTING, NON_PRIMITIVE2.union(INDEXABLE_PRIMITIVE));
204 Expect.equals(CONFLICTING, NON_PRIMITIVE2.union(STRING));
205 Expect.equals(CONFLICTING, NON_PRIMITIVE2.union(READABLE_ARRAY));
206 Expect.equals(CONFLICTING, NON_PRIMITIVE2.union(MUTABLE_ARRAY));
207 Expect.equals(CONFLICTING, NON_PRIMITIVE2.union(EXTENDABLE_ARRAY));
208 Expect.equals(CONFLICTING, NON_PRIMITIVE2.union(NON_PRIMITIVE1));
209 Expect.equals(NON_PRIMITIVE2, NON_PRIMITIVE2.union(NON_PRIMITIVE2));
210 }
211
212 void testIntersection() {
213 Expect.equals(CONFLICTING, CONFLICTING.intersection(CONFLICTING));
214 Expect.equals(CONFLICTING, CONFLICTING.intersection(UNKNOWN));
215 Expect.equals(CONFLICTING, CONFLICTING.intersection(BOOLEAN));
216 Expect.equals(CONFLICTING, CONFLICTING.intersection(NUMBER));
217 Expect.equals(CONFLICTING, CONFLICTING.intersection(INTEGER));
218 Expect.equals(CONFLICTING, CONFLICTING.intersection(DOUBLE));
219 Expect.equals(CONFLICTING, CONFLICTING.intersection(INDEXABLE_PRIMITIVE));
220 Expect.equals(CONFLICTING, CONFLICTING.intersection(STRING));
221 Expect.equals(CONFLICTING, CONFLICTING.intersection(READABLE_ARRAY));
222 Expect.equals(CONFLICTING, CONFLICTING.intersection(MUTABLE_ARRAY));
223 Expect.equals(CONFLICTING, CONFLICTING.intersection(EXTENDABLE_ARRAY));
224 Expect.equals(CONFLICTING, CONFLICTING.intersection(NON_PRIMITIVE1));
225 Expect.equals(CONFLICTING, CONFLICTING.intersection(NON_PRIMITIVE2));
226
227 Expect.equals(CONFLICTING, UNKNOWN.intersection(CONFLICTING));
228 Expect.equals(UNKNOWN, UNKNOWN.intersection(UNKNOWN));
229 Expect.equals(BOOLEAN, UNKNOWN.intersection(BOOLEAN));
230 Expect.equals(NUMBER, UNKNOWN.intersection(NUMBER));
231 Expect.equals(INTEGER, UNKNOWN.intersection(INTEGER));
232 Expect.equals(DOUBLE, UNKNOWN.intersection(DOUBLE));
233 Expect.equals(INDEXABLE_PRIMITIVE, UNKNOWN.intersection(INDEXABLE_PRIMITIVE));
234 Expect.equals(STRING, UNKNOWN.intersection(STRING));
235 Expect.equals(READABLE_ARRAY, UNKNOWN.intersection(READABLE_ARRAY));
236 Expect.equals(MUTABLE_ARRAY, UNKNOWN.intersection(MUTABLE_ARRAY));
237 Expect.equals(EXTENDABLE_ARRAY, UNKNOWN.intersection(EXTENDABLE_ARRAY));
238 Expect.equals(NON_PRIMITIVE1, UNKNOWN.intersection(NON_PRIMITIVE1));
239 Expect.equals(NON_PRIMITIVE2, UNKNOWN.intersection(NON_PRIMITIVE2));
240
241 Expect.equals(CONFLICTING, BOOLEAN.intersection(CONFLICTING));
242 Expect.equals(BOOLEAN, BOOLEAN.intersection(UNKNOWN));
243 Expect.equals(BOOLEAN, BOOLEAN.intersection(BOOLEAN));
244 Expect.equals(CONFLICTING, BOOLEAN.intersection(NUMBER));
245 Expect.equals(CONFLICTING, BOOLEAN.intersection(INTEGER));
246 Expect.equals(CONFLICTING, BOOLEAN.intersection(DOUBLE));
247 Expect.equals(CONFLICTING, BOOLEAN.intersection(INDEXABLE_PRIMITIVE));
248 Expect.equals(CONFLICTING, BOOLEAN.intersection(STRING));
249 Expect.equals(CONFLICTING, BOOLEAN.intersection(READABLE_ARRAY));
250 Expect.equals(CONFLICTING, BOOLEAN.intersection(MUTABLE_ARRAY));
251 Expect.equals(CONFLICTING, BOOLEAN.intersection(EXTENDABLE_ARRAY));
252 Expect.equals(CONFLICTING, BOOLEAN.intersection(NON_PRIMITIVE1));
253 Expect.equals(CONFLICTING, BOOLEAN.intersection(NON_PRIMITIVE2));
254
255 Expect.equals(CONFLICTING, NUMBER.intersection(CONFLICTING));
256 Expect.equals(NUMBER, NUMBER.intersection(UNKNOWN));
257 Expect.equals(CONFLICTING, NUMBER.intersection(BOOLEAN));
258 Expect.equals(NUMBER, NUMBER.intersection(NUMBER));
259 Expect.equals(INTEGER, NUMBER.intersection(INTEGER));
260 Expect.equals(DOUBLE, NUMBER.intersection(DOUBLE));
261 Expect.equals(CONFLICTING, NUMBER.intersection(INDEXABLE_PRIMITIVE));
262 Expect.equals(CONFLICTING, NUMBER.intersection(STRING));
263 Expect.equals(CONFLICTING, NUMBER.intersection(READABLE_ARRAY));
264 Expect.equals(CONFLICTING, NUMBER.intersection(MUTABLE_ARRAY));
265 Expect.equals(CONFLICTING, NUMBER.intersection(EXTENDABLE_ARRAY));
266 Expect.equals(CONFLICTING, NUMBER.intersection(NON_PRIMITIVE1));
267 Expect.equals(CONFLICTING, NUMBER.intersection(NON_PRIMITIVE2));
268
269 Expect.equals(CONFLICTING, INTEGER.intersection(CONFLICTING));
270 Expect.equals(INTEGER, INTEGER.intersection(UNKNOWN));
271 Expect.equals(CONFLICTING, INTEGER.intersection(BOOLEAN));
272 Expect.equals(INTEGER, INTEGER.intersection(NUMBER));
273 Expect.equals(INTEGER, INTEGER.intersection(INTEGER));
274 Expect.equals(CONFLICTING, INTEGER.intersection(DOUBLE));
275 Expect.equals(CONFLICTING, INTEGER.intersection(INDEXABLE_PRIMITIVE));
276 Expect.equals(CONFLICTING, INTEGER.intersection(STRING));
277 Expect.equals(CONFLICTING, INTEGER.intersection(READABLE_ARRAY));
278 Expect.equals(CONFLICTING, INTEGER.intersection(MUTABLE_ARRAY));
279 Expect.equals(CONFLICTING, INTEGER.intersection(EXTENDABLE_ARRAY));
280 Expect.equals(CONFLICTING, INTEGER.intersection(NON_PRIMITIVE1));
281 Expect.equals(CONFLICTING, INTEGER.intersection(NON_PRIMITIVE2));
282
283 Expect.equals(CONFLICTING, DOUBLE.intersection(CONFLICTING));
284 Expect.equals(DOUBLE, DOUBLE.intersection(UNKNOWN));
285 Expect.equals(CONFLICTING, DOUBLE.intersection(BOOLEAN));
286 Expect.equals(DOUBLE, DOUBLE.intersection(NUMBER));
287 Expect.equals(CONFLICTING, DOUBLE.intersection(INTEGER));
288 Expect.equals(DOUBLE, DOUBLE.intersection(DOUBLE));
289 Expect.equals(CONFLICTING, DOUBLE.intersection(INDEXABLE_PRIMITIVE));
290 Expect.equals(CONFLICTING, DOUBLE.intersection(STRING));
291 Expect.equals(CONFLICTING, DOUBLE.intersection(READABLE_ARRAY));
292 Expect.equals(CONFLICTING, DOUBLE.intersection(MUTABLE_ARRAY));
293 Expect.equals(CONFLICTING, DOUBLE.intersection(EXTENDABLE_ARRAY));
294 Expect.equals(CONFLICTING, DOUBLE.intersection(NON_PRIMITIVE1));
295 Expect.equals(CONFLICTING, DOUBLE.intersection(NON_PRIMITIVE2));
296
297 Expect.equals(CONFLICTING, INDEXABLE_PRIMITIVE.intersection(CONFLICTING));
298 Expect.equals(INDEXABLE_PRIMITIVE, INDEXABLE_PRIMITIVE.intersection(UNKNOWN));
299 Expect.equals(CONFLICTING, INDEXABLE_PRIMITIVE.intersection(BOOLEAN));
300 Expect.equals(CONFLICTING, INDEXABLE_PRIMITIVE.intersection(NUMBER));
301 Expect.equals(CONFLICTING, INDEXABLE_PRIMITIVE.intersection(INTEGER));
302 Expect.equals(CONFLICTING, INDEXABLE_PRIMITIVE.intersection(DOUBLE));
303 Expect.equals(INDEXABLE_PRIMITIVE,
304 INDEXABLE_PRIMITIVE.intersection(INDEXABLE_PRIMITIVE));
305 Expect.equals(STRING, INDEXABLE_PRIMITIVE.intersection(STRING));
306 Expect.equals(READABLE_ARRAY,
307 INDEXABLE_PRIMITIVE.intersection(READABLE_ARRAY));
308 Expect.equals(MUTABLE_ARRAY,
309 INDEXABLE_PRIMITIVE.intersection(MUTABLE_ARRAY));
310 Expect.equals(EXTENDABLE_ARRAY,
311 INDEXABLE_PRIMITIVE.intersection(EXTENDABLE_ARRAY));
312 Expect.equals(CONFLICTING, EXTENDABLE_ARRAY.intersection(NON_PRIMITIVE1));
313 Expect.equals(CONFLICTING, EXTENDABLE_ARRAY.intersection(NON_PRIMITIVE2));
314
315 Expect.equals(CONFLICTING, STRING.intersection(CONFLICTING));
316 Expect.equals(STRING, STRING.intersection(UNKNOWN));
317 Expect.equals(CONFLICTING, STRING.intersection(BOOLEAN));
318 Expect.equals(CONFLICTING, STRING.intersection(NUMBER));
319 Expect.equals(CONFLICTING, STRING.intersection(INTEGER));
320 Expect.equals(CONFLICTING, STRING.intersection(DOUBLE));
321 Expect.equals(STRING, STRING.intersection(INDEXABLE_PRIMITIVE));
322 Expect.equals(STRING, STRING.intersection(STRING));
323 Expect.equals(CONFLICTING, STRING.intersection(READABLE_ARRAY));
324 Expect.equals(CONFLICTING, STRING.intersection(MUTABLE_ARRAY));
325 Expect.equals(CONFLICTING, STRING.intersection(EXTENDABLE_ARRAY));
326 Expect.equals(CONFLICTING, STRING.intersection(NON_PRIMITIVE1));
327 Expect.equals(CONFLICTING, STRING.intersection(NON_PRIMITIVE2));
328
329 Expect.equals(CONFLICTING, READABLE_ARRAY.intersection(CONFLICTING));
330 Expect.equals(READABLE_ARRAY, READABLE_ARRAY.intersection(UNKNOWN));
331 Expect.equals(CONFLICTING, READABLE_ARRAY.intersection(BOOLEAN));
332 Expect.equals(CONFLICTING, READABLE_ARRAY.intersection(NUMBER));
333 Expect.equals(CONFLICTING, READABLE_ARRAY.intersection(INTEGER));
334 Expect.equals(CONFLICTING, READABLE_ARRAY.intersection(DOUBLE));
335 Expect.equals(READABLE_ARRAY, READABLE_ARRAY.intersection(INDEXABLE_PRIMITIVE) );
336 Expect.equals(CONFLICTING, READABLE_ARRAY.intersection(STRING));
337 Expect.equals(READABLE_ARRAY, READABLE_ARRAY.intersection(READABLE_ARRAY));
338 Expect.equals(MUTABLE_ARRAY, READABLE_ARRAY.intersection(MUTABLE_ARRAY));
339 Expect.equals(EXTENDABLE_ARRAY, READABLE_ARRAY.intersection(EXTENDABLE_ARRAY)) ;
340 Expect.equals(CONFLICTING, READABLE_ARRAY.intersection(NON_PRIMITIVE1));
341 Expect.equals(CONFLICTING, READABLE_ARRAY.intersection(NON_PRIMITIVE2));
342
343 Expect.equals(CONFLICTING, MUTABLE_ARRAY.intersection(CONFLICTING));
344 Expect.equals(MUTABLE_ARRAY, MUTABLE_ARRAY.intersection(UNKNOWN));
345 Expect.equals(CONFLICTING, MUTABLE_ARRAY.intersection(BOOLEAN));
346 Expect.equals(CONFLICTING, MUTABLE_ARRAY.intersection(NUMBER));
347 Expect.equals(CONFLICTING, MUTABLE_ARRAY.intersection(INTEGER));
348 Expect.equals(CONFLICTING, MUTABLE_ARRAY.intersection(DOUBLE));
349 Expect.equals(MUTABLE_ARRAY, MUTABLE_ARRAY.intersection(INDEXABLE_PRIMITIVE));
350 Expect.equals(CONFLICTING, MUTABLE_ARRAY.intersection(STRING));
351 Expect.equals(MUTABLE_ARRAY, MUTABLE_ARRAY.intersection(READABLE_ARRAY));
352 Expect.equals(MUTABLE_ARRAY, MUTABLE_ARRAY.intersection(MUTABLE_ARRAY));
353 Expect.equals(EXTENDABLE_ARRAY, MUTABLE_ARRAY.intersection(EXTENDABLE_ARRAY));
354 Expect.equals(CONFLICTING, MUTABLE_ARRAY.intersection(NON_PRIMITIVE1));
355 Expect.equals(CONFLICTING, MUTABLE_ARRAY.intersection(NON_PRIMITIVE2));
356
357 Expect.equals(CONFLICTING, EXTENDABLE_ARRAY.intersection(CONFLICTING));
358 Expect.equals(EXTENDABLE_ARRAY, EXTENDABLE_ARRAY.intersection(UNKNOWN));
359 Expect.equals(CONFLICTING, EXTENDABLE_ARRAY.intersection(BOOLEAN));
360 Expect.equals(CONFLICTING, EXTENDABLE_ARRAY.intersection(NUMBER));
361 Expect.equals(CONFLICTING, EXTENDABLE_ARRAY.intersection(INTEGER));
362 Expect.equals(CONFLICTING, EXTENDABLE_ARRAY.intersection(DOUBLE));
363 Expect.equals(EXTENDABLE_ARRAY,
364 EXTENDABLE_ARRAY.intersection(INDEXABLE_PRIMITIVE));
365 Expect.equals(CONFLICTING, EXTENDABLE_ARRAY.intersection(STRING));
366 Expect.equals(EXTENDABLE_ARRAY,
367 EXTENDABLE_ARRAY.intersection(READABLE_ARRAY));
368 Expect.equals(EXTENDABLE_ARRAY, EXTENDABLE_ARRAY.intersection(MUTABLE_ARRAY));
369 Expect.equals(EXTENDABLE_ARRAY,
370 EXTENDABLE_ARRAY.intersection(EXTENDABLE_ARRAY));
371 Expect.equals(CONFLICTING, EXTENDABLE_ARRAY.intersection(NON_PRIMITIVE1));
372 Expect.equals(CONFLICTING, EXTENDABLE_ARRAY.intersection(NON_PRIMITIVE2));
373
374 Expect.equals(CONFLICTING, NON_PRIMITIVE1.intersection(CONFLICTING));
375 Expect.equals(NON_PRIMITIVE1, NON_PRIMITIVE1.intersection(UNKNOWN));
376 Expect.equals(CONFLICTING, NON_PRIMITIVE1.intersection(BOOLEAN));
377 Expect.equals(CONFLICTING, NON_PRIMITIVE1.intersection(NUMBER));
378 Expect.equals(CONFLICTING, NON_PRIMITIVE1.intersection(INTEGER));
379 Expect.equals(CONFLICTING, NON_PRIMITIVE1.intersection(DOUBLE));
380 Expect.equals(CONFLICTING, NON_PRIMITIVE1.intersection(INDEXABLE_PRIMITIVE));
381 Expect.equals(CONFLICTING, NON_PRIMITIVE1.intersection(STRING));
382 Expect.equals(CONFLICTING, NON_PRIMITIVE1.intersection(READABLE_ARRAY));
383 Expect.equals(CONFLICTING, NON_PRIMITIVE1.intersection(MUTABLE_ARRAY));
384 Expect.equals(CONFLICTING, NON_PRIMITIVE1.intersection(EXTENDABLE_ARRAY));
385 Expect.equals(NON_PRIMITIVE1, NON_PRIMITIVE1.intersection(NON_PRIMITIVE1));
386 Expect.equals(CONFLICTING, NON_PRIMITIVE1.intersection(NON_PRIMITIVE2));
387
388 Expect.equals(CONFLICTING, NON_PRIMITIVE2.intersection(CONFLICTING));
389 Expect.equals(NON_PRIMITIVE2, NON_PRIMITIVE2.intersection(UNKNOWN));
390 Expect.equals(CONFLICTING, NON_PRIMITIVE2.intersection(BOOLEAN));
391 Expect.equals(CONFLICTING, NON_PRIMITIVE2.intersection(NUMBER));
392 Expect.equals(CONFLICTING, NON_PRIMITIVE2.intersection(INTEGER));
393 Expect.equals(CONFLICTING, NON_PRIMITIVE2.intersection(DOUBLE));
394 Expect.equals(CONFLICTING, NON_PRIMITIVE2.intersection(INDEXABLE_PRIMITIVE));
395 Expect.equals(CONFLICTING, NON_PRIMITIVE2.intersection(STRING));
396 Expect.equals(CONFLICTING, NON_PRIMITIVE2.intersection(READABLE_ARRAY));
397 Expect.equals(CONFLICTING, NON_PRIMITIVE2.intersection(MUTABLE_ARRAY));
398 Expect.equals(CONFLICTING, NON_PRIMITIVE2.intersection(EXTENDABLE_ARRAY));
399 Expect.equals(CONFLICTING, NON_PRIMITIVE2.intersection(NON_PRIMITIVE1));
400 Expect.equals(NON_PRIMITIVE2, NON_PRIMITIVE2.intersection(NON_PRIMITIVE2));
401 }
402
403 void main() {
404 testUnion();
405 testIntersection();
406 }
OLDNEW
« no previous file with comments | « frog/tests/leg/leg.status ('k') | frog/tests/leg/src/TypeInference3Test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698