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: pkg/compiler/lib/src/inferrer/builder.dart

Issue 3008133002: Handle local invoke in inferrer (Closed)
Patch Set: dartfmt Created 3 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 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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698