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

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

Issue 2955353002: Split inference type-info accessors into members, parameters and local functions (Closed)
Patch Set: Cleanup Created 3 years, 5 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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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' show MapTypeMask, TypeMask; 7 import 'package:compiler/src/types/types.dart' show MapTypeMask, TypeMask;
8 8
9 import 'compiler_helper.dart'; 9 import 'compiler_helper.dart';
10 import 'type_mask_test_helper.dart'; 10 import 'type_mask_test_helper.dart';
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 Uri uri = new Uri(scheme: 'source'); 211 Uri uri = new Uri(scheme: 'source');
212 var compiler = compilerFor(generateTest(allocation), uri, 212 var compiler = compilerFor(generateTest(allocation), uri,
213 expectedErrors: 0, expectedWarnings: 1); 213 expectedErrors: 0, expectedWarnings: 1);
214 asyncTest(() => compiler.run(uri).then((_) { 214 asyncTest(() => compiler.run(uri).then((_) {
215 var keyType, valueType; 215 var keyType, valueType;
216 var typesInferrer = compiler.globalInference.typesInferrerInternal; 216 var typesInferrer = compiler.globalInference.typesInferrerInternal;
217 var closedWorld = typesInferrer.closedWorld; 217 var closedWorld = typesInferrer.closedWorld;
218 var commonMasks = closedWorld.commonMasks; 218 var commonMasks = closedWorld.commonMasks;
219 var emptyType = new TypeMask.nonNullEmpty(); 219 var emptyType = new TypeMask.nonNullEmpty();
220 var aKeyType = 220 var aKeyType =
221 typesInferrer.getTypeOfElement(findElement(compiler, 'aKey')); 221 typesInferrer.getTypeOfMember(findElement(compiler, 'aKey'));
222 if (keyElement != null) { 222 if (keyElement != null) {
223 keyType = 223 keyType =
224 typesInferrer.getTypeOfElement(findElement(compiler, keyElement)); 224 typesInferrer.getTypeOfMember(findElement(compiler, keyElement));
225 } 225 }
226 if (valueElement != null) { 226 if (valueElement != null) {
227 valueType = typesInferrer 227 valueType = typesInferrer
228 .getTypeOfElement(findElement(compiler, valueElement)); 228 .getTypeOfMember(findElement(compiler, valueElement));
229 } 229 }
230 if (keyType == null) keyType = emptyType; 230 if (keyType == null) keyType = emptyType;
231 if (valueType == null) valueType = emptyType; 231 if (valueType == null) valueType = emptyType;
232 232
233 checkType(String name, keyType, valueType) { 233 checkType(String name, keyType, valueType) {
234 var element = findElement(compiler, name); 234 var element = findElement(compiler, name);
235 MapTypeMask mask = typesInferrer.getTypeOfElement(element); 235 MapTypeMask mask = typesInferrer.getTypeOfMember(element);
236 Expect.equals(keyType, simplify(mask.keyType, closedWorld), name); 236 Expect.equals(keyType, simplify(mask.keyType, closedWorld), name);
237 Expect.equals(valueType, simplify(mask.valueType, closedWorld), name); 237 Expect.equals(valueType, simplify(mask.valueType, closedWorld), name);
238 } 238 }
239 239
240 K(TypeMask other) => 240 K(TypeMask other) =>
241 simplify(keyType.union(other, closedWorld), closedWorld); 241 simplify(keyType.union(other, closedWorld), closedWorld);
242 V(TypeMask other) => 242 V(TypeMask other) =>
243 simplify(valueType.union(other, closedWorld), closedWorld) 243 simplify(valueType.union(other, closedWorld), closedWorld)
244 .nullable(); 244 .nullable();
245 245
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 checkType('mapStoredInListButEscapes', K(commonMasks.dynamicType), 278 checkType('mapStoredInListButEscapes', K(commonMasks.dynamicType),
279 V(commonMasks.dynamicType)); 279 V(commonMasks.dynamicType));
280 checkType('mapStoredInMap', K(aKeyType), V(commonMasks.uint31Type)); 280 checkType('mapStoredInMap', K(aKeyType), V(commonMasks.uint31Type));
281 checkType('mapStoredInMapButEscapes', K(commonMasks.dynamicType), 281 checkType('mapStoredInMapButEscapes', K(commonMasks.dynamicType),
282 V(commonMasks.dynamicType)); 282 V(commonMasks.dynamicType));
283 283
284 checkType('mapUnset', K(emptyType), V(emptyType)); 284 checkType('mapUnset', K(emptyType), V(emptyType));
285 checkType('mapOnlySetWithConstraint', K(aKeyType), V(emptyType)); 285 checkType('mapOnlySetWithConstraint', K(aKeyType), V(emptyType));
286 })); 286 }));
287 } 287 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698