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

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

Issue 17635006: Add a TypeInformation abstraction in the inferrer, that holds information per element, to get rid o… (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 6 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
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 6 import
7 '../../../sdk/lib/_internal/compiler/implementation/types/types.dart' 7 '../../../sdk/lib/_internal/compiler/implementation/types/types.dart'
8 show ContainerTypeMask, TypeMask; 8 show ContainerTypeMask, TypeMask;
9 9
10 import 'compiler_helper.dart'; 10 import 'compiler_helper.dart';
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 } 187 }
188 188
189 void doTest(String allocation, {bool nullify}) { 189 void doTest(String allocation, {bool nullify}) {
190 Uri uri = new Uri(scheme: 'source'); 190 Uri uri = new Uri(scheme: 'source');
191 var compiler = compilerFor(generateTest(allocation), uri); 191 var compiler = compilerFor(generateTest(allocation), uri);
192 compiler.runCompiler(uri); 192 compiler.runCompiler(uri);
193 var typesInferrer = compiler.typesTask.typesInferrer; 193 var typesInferrer = compiler.typesTask.typesInferrer;
194 194
195 checkType(String name, type) { 195 checkType(String name, type) {
196 var element = findElement(compiler, name); 196 var element = findElement(compiler, name);
197 ContainerTypeMask mask = typesInferrer.internal.typeOf[element]; 197 ContainerTypeMask mask = typesInferrer.getTypeOfElement(element);
198 if (nullify) type = type.nullable(); 198 if (nullify) type = type.nullable();
199 Expect.equals(type, mask.elementType.simplify(compiler), name); 199 Expect.equals(type, mask.elementType.simplify(compiler), name);
200 } 200 }
201 201
202 checkType('listInField', typesInferrer.numType); 202 checkType('listInField', typesInferrer.numType);
203 checkType('listPassedToMethod', typesInferrer.numType); 203 checkType('listPassedToMethod', typesInferrer.numType);
204 checkType('listReturnedFromMethod', typesInferrer.numType); 204 checkType('listReturnedFromMethod', typesInferrer.numType);
205 checkType('listUsedWithCascade', typesInferrer.numType); 205 checkType('listUsedWithCascade', typesInferrer.numType);
206 checkType('listUsedInClosure', typesInferrer.numType); 206 checkType('listUsedInClosure', typesInferrer.numType);
207 checkType('listPassedToSelector', typesInferrer.numType); 207 checkType('listPassedToSelector', typesInferrer.numType);
(...skipping 13 matching lines...) Expand all
221 checkType('listReturnedFromClosure', typesInferrer.dynamicType); 221 checkType('listReturnedFromClosure', typesInferrer.dynamicType);
222 checkType('listUsedWithNonOkSelector', typesInferrer.dynamicType); 222 checkType('listUsedWithNonOkSelector', typesInferrer.dynamicType);
223 checkType('listPassedAsOptionalParameter', typesInferrer.dynamicType); 223 checkType('listPassedAsOptionalParameter', typesInferrer.dynamicType);
224 checkType('listPassedAsNamedParameter', typesInferrer.dynamicType); 224 checkType('listPassedAsNamedParameter', typesInferrer.dynamicType);
225 225
226 if (!allocation.contains('filled')) { 226 if (!allocation.contains('filled')) {
227 checkType('listUnset', new TypeMask.nonNullEmpty()); 227 checkType('listUnset', new TypeMask.nonNullEmpty());
228 checkType('listOnlySetWithConstraint', new TypeMask.nonNullEmpty()); 228 checkType('listOnlySetWithConstraint', new TypeMask.nonNullEmpty());
229 } 229 }
230 } 230 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/field_type_simple_inferer_test.dart ('k') | tests/compiler/dart2js/simple_inferrer_and_or_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698