| 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 ClosureRepresentationInfo; | 7 import '../closure.dart' show ClosureRepresentationInfo; |
| 8 import '../common.dart'; | 8 import '../common.dart'; |
| 9 import '../common/names.dart' show Identifiers, Selectors; | 9 import '../common/names.dart' show Identifiers, Selectors; |
| 10 import '../compiler.dart' show Compiler; | 10 import '../compiler.dart' show Compiler; |
| (...skipping 2780 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2791 Element element = elements[receiver]; | 2791 Element element = elements[receiver]; |
| 2792 if (Elements.isLocal(element) && !capturedVariables.contains(element)) { | 2792 if (Elements.isLocal(element) && !capturedVariables.contains(element)) { |
| 2793 TypeInformation refinedType = types.refineReceiver( | 2793 TypeInformation refinedType = types.refineReceiver( |
| 2794 selector, mask, receiverType, send.isConditional); | 2794 selector, mask, receiverType, send.isConditional); |
| 2795 LocalElement local = element; | 2795 LocalElement local = element; |
| 2796 locals.update(local, refinedType, node, local.type); | 2796 locals.update(local, refinedType, node, local.type); |
| 2797 } | 2797 } |
| 2798 } | 2798 } |
| 2799 } | 2799 } |
| 2800 | 2800 |
| 2801 return inferrer.registerCalledSelector( | 2801 return inferrer.registerCalledSelector(callType, node, selector, mask, |
| 2802 callType, | 2802 receiverType, outermostElement, arguments, sideEffects, |
| 2803 node, | 2803 inLoop: inLoop, isConditional: isConditional); |
| 2804 selector, | |
| 2805 mask, | |
| 2806 receiverType, | |
| 2807 outermostElement, | |
| 2808 arguments, | |
| 2809 sideEffects, | |
| 2810 inLoop, | |
| 2811 isConditional); | |
| 2812 } | 2804 } |
| 2813 | 2805 |
| 2814 TypeInformation handleDynamicInvoke(ast.Send node) { | 2806 TypeInformation handleDynamicInvoke(ast.Send node) { |
| 2815 return _handleDynamicSend(node); | 2807 return _handleDynamicSend(node); |
| 2816 } | 2808 } |
| 2817 | 2809 |
| 2818 TypeInformation handleDynamicGet(ast.Send node) { | 2810 TypeInformation handleDynamicGet(ast.Send node) { |
| 2819 return _handleDynamicSend(node); | 2811 return _handleDynamicSend(node); |
| 2820 } | 2812 } |
| 2821 | 2813 |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2993 node, | 2985 node, |
| 2994 iteratorSelector, | 2986 iteratorSelector, |
| 2995 iteratorMask, | 2987 iteratorMask, |
| 2996 expressionType, | 2988 expressionType, |
| 2997 new ArgumentsTypes.empty()); | 2989 new ArgumentsTypes.empty()); |
| 2998 | 2990 |
| 2999 return handleForInLoop(node, iteratorType, currentSelector, currentMask, | 2991 return handleForInLoop(node, iteratorType, currentSelector, currentMask, |
| 3000 moveNextSelector, moveNextMask); | 2992 moveNextSelector, moveNextMask); |
| 3001 } | 2993 } |
| 3002 } | 2994 } |
| OLD | NEW |