OLD | NEW |
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 library simple_types_inferrer; | 5 library simple_types_inferrer; |
6 | 6 |
7 import '../closure.dart' show | 7 import '../closure.dart' show |
8 ClosureClassMap, | 8 ClosureClassMap, |
9 ClosureScope; | 9 ClosureScope; |
10 import '../common/names.dart' show | 10 import '../common/names.dart' show |
(...skipping 24 matching lines...) Expand all Loading... |
35 FlatTypeMask, | 35 FlatTypeMask, |
36 TypeMask, | 36 TypeMask, |
37 ContainerTypeMask, | 37 ContainerTypeMask, |
38 ElementTypeMask, | 38 ElementTypeMask, |
39 ValueTypeMask, | 39 ValueTypeMask, |
40 TypeSystem, | 40 TypeSystem, |
41 MinimalInferrerEngine; | 41 MinimalInferrerEngine; |
42 import '../util/util.dart' show | 42 import '../util/util.dart' show |
43 Link, | 43 Link, |
44 Setlet; | 44 Setlet; |
45 import '../universe/universe.dart' show | 45 import '../universe/call_structure.dart' show |
46 CallStructure, | 46 CallStructure; |
47 Selector, | 47 import '../universe/selector.dart' show |
| 48 Selector; |
| 49 import '../universe/side_effects.dart' show |
48 SideEffects; | 50 SideEffects; |
49 import '../world.dart' show ClassWorld; | 51 import '../world.dart' show ClassWorld; |
50 | 52 |
51 import 'inferrer_visitor.dart'; | 53 import 'inferrer_visitor.dart'; |
52 | 54 |
53 /** | 55 /** |
54 * An implementation of [TypeSystem] for [TypeMask]. | 56 * An implementation of [TypeSystem] for [TypeMask]. |
55 */ | 57 */ |
56 class TypeMaskSystem implements TypeSystem<TypeMask> { | 58 class TypeMaskSystem implements TypeSystem<TypeMask> { |
57 final Compiler compiler; | 59 final Compiler compiler; |
(...skipping 2260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2318 TypeMask moveNextMask = elements.getMoveNextTypeMask(node); | 2320 TypeMask moveNextMask = elements.getMoveNextTypeMask(node); |
2319 | 2321 |
2320 T iteratorType = handleDynamicSend( | 2322 T iteratorType = handleDynamicSend( |
2321 node, iteratorSelector, iteratorMask, expressionType, | 2323 node, iteratorSelector, iteratorMask, expressionType, |
2322 new ArgumentsTypes<T>.empty()); | 2324 new ArgumentsTypes<T>.empty()); |
2323 | 2325 |
2324 return handleForInLoop(node, iteratorType, currentSelector, currentMask, | 2326 return handleForInLoop(node, iteratorType, currentSelector, currentMask, |
2325 moveNextSelector, moveNextMask); | 2327 moveNextSelector, moveNextMask); |
2326 } | 2328 } |
2327 } | 2329 } |
OLD | NEW |