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

Side by Side Diff: tests/compiler/dart2js/list_tracer_test.dart

Issue 2278213003: Rename the global inference task and reduce it's API surface by introducing the (Closed)
Patch Set: cl comments Created 4 years, 3 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
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 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. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import 'package:expect/expect.dart'; 5 import 'package:expect/expect.dart';
6 import "package:async_helper/async_helper.dart"; 6 import "package:async_helper/async_helper.dart";
7 import 'package:compiler/src/types/types.dart' 7 import 'package:compiler/src/types/types.dart'
8 show ContainerTypeMask, TypeMask; 8 show ContainerTypeMask, TypeMask;
9 9
10 import 'compiler_helper.dart'; 10 import 'compiler_helper.dart';
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 doTest('new List(1)', nullify: true); // Test fixed list. 192 doTest('new List(1)', nullify: true); // Test fixed list.
193 doTest('new List.filled(1, 0)', nullify: false); // Test List.filled. 193 doTest('new List.filled(1, 0)', nullify: false); // Test List.filled.
194 doTest('new List.filled(1, null)', nullify: true); // Test List.filled. 194 doTest('new List.filled(1, null)', nullify: true); // Test List.filled.
195 } 195 }
196 196
197 void doTest(String allocation, {bool nullify}) { 197 void doTest(String allocation, {bool nullify}) {
198 Uri uri = new Uri(scheme: 'source'); 198 Uri uri = new Uri(scheme: 'source');
199 var compiler = compilerFor(generateTest(allocation), uri, 199 var compiler = compilerFor(generateTest(allocation), uri,
200 expectedErrors: 0, expectedWarnings: 1); 200 expectedErrors: 0, expectedWarnings: 1);
201 asyncTest(() => compiler.run(uri).then((_) { 201 asyncTest(() => compiler.run(uri).then((_) {
202 var typesTask = compiler.typesTask; 202 var commonMasks = compiler.commonMasks;
203 var typesInferrer = typesTask.typesInferrer; 203 var typesInferrer = compiler.globalInference.typesInferrer;
204 204
205 checkType(String name, type) { 205 checkType(String name, type) {
206 var element = findElement(compiler, name); 206 var element = findElement(compiler, name);
207 ContainerTypeMask mask = typesInferrer.getTypeOfElement(element); 207 ContainerTypeMask mask = typesInferrer.getTypeOfElement(element);
208 if (nullify) type = type.nullable(); 208 if (nullify) type = type.nullable();
209 Expect.equals(type, simplify(mask.elementType, compiler), name); 209 Expect.equals(type, simplify(mask.elementType, compiler), name);
210 } 210 }
211 211
212 checkType('listInField', typesTask.numType); 212 checkType('listInField', commonMasks.numType);
213 checkType('listPassedToMethod', typesTask.numType); 213 checkType('listPassedToMethod', commonMasks.numType);
214 checkType('listReturnedFromMethod', typesTask.numType); 214 checkType('listReturnedFromMethod', commonMasks.numType);
215 checkType('listUsedWithCascade', typesTask.numType); 215 checkType('listUsedWithCascade', commonMasks.numType);
216 checkType('listUsedInClosure', typesTask.numType); 216 checkType('listUsedInClosure', commonMasks.numType);
217 checkType('listPassedToSelector', typesTask.numType); 217 checkType('listPassedToSelector', commonMasks.numType);
218 checkType('listReturnedFromSelector', typesTask.numType); 218 checkType('listReturnedFromSelector', commonMasks.numType);
219 checkType('listUsedWithAddAndInsert', typesTask.numType); 219 checkType('listUsedWithAddAndInsert', commonMasks.numType);
220 checkType('listUsedWithConstraint', typesTask.positiveIntType); 220 checkType('listUsedWithConstraint', commonMasks.positiveIntType);
221 checkType('listEscapingFromSetter', typesTask.numType); 221 checkType('listEscapingFromSetter', commonMasks.numType);
222 checkType('listUsedInLocal', typesTask.numType); 222 checkType('listUsedInLocal', commonMasks.numType);
223 checkType('listEscapingInSetterValue', typesTask.numType); 223 checkType('listEscapingInSetterValue', commonMasks.numType);
224 checkType('listEscapingInIndex', typesTask.numType); 224 checkType('listEscapingInIndex', commonMasks.numType);
225 checkType('listEscapingInIndexSet', typesTask.uint31Type); 225 checkType('listEscapingInIndexSet', commonMasks.uint31Type);
226 checkType('listEscapingTwiceInIndexSet', typesTask.numType); 226 checkType('listEscapingTwiceInIndexSet', commonMasks.numType);
227 checkType('listSetInNonFinalField', typesTask.numType); 227 checkType('listSetInNonFinalField', commonMasks.numType);
228 checkType('listWithChangedLength', typesTask.uint31Type.nullable()); 228 checkType('listWithChangedLength', commonMasks.uint31Type.nullable());
229 229
230 checkType('listPassedToClosure', typesTask.dynamicType); 230 checkType('listPassedToClosure', commonMasks.dynamicType);
231 checkType('listReturnedFromClosure', typesTask.dynamicType); 231 checkType('listReturnedFromClosure', commonMasks.dynamicType);
232 checkType('listUsedWithNonOkSelector', typesTask.dynamicType); 232 checkType('listUsedWithNonOkSelector', commonMasks.dynamicType);
233 checkType('listPassedAsOptionalParameter', typesTask.numType); 233 checkType('listPassedAsOptionalParameter', commonMasks.numType);
234 checkType('listPassedAsNamedParameter', typesTask.numType); 234 checkType('listPassedAsNamedParameter', commonMasks.numType);
235 checkType('listStoredInList', typesTask.uint31Type); 235 checkType('listStoredInList', commonMasks.uint31Type);
236 checkType('listStoredInListButEscapes', typesTask.dynamicType); 236 checkType('listStoredInListButEscapes', commonMasks.dynamicType);
237 237
238 if (!allocation.contains('filled')) { 238 if (!allocation.contains('filled')) {
239 checkType('listUnset', new TypeMask.nonNullEmpty()); 239 checkType('listUnset', new TypeMask.nonNullEmpty());
240 checkType('listOnlySetWithConstraint', new TypeMask.nonNullEmpty()); 240 checkType('listOnlySetWithConstraint', new TypeMask.nonNullEmpty());
241 } 241 }
242 })); 242 }));
243 } 243 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/list_tracer3_test.dart ('k') | tests/compiler/dart2js/list_tracer_typed_data_length_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698