OLD | NEW |
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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:kernel/ast.dart' as ir; | 5 import 'package:kernel/ast.dart' as ir; |
6 | 6 |
7 import '../common.dart'; | 7 import '../common.dart'; |
8 import '../common/names.dart'; | 8 import '../common/names.dart'; |
9 import '../compiler.dart'; | 9 import '../compiler.dart'; |
10 import '../constants/expressions.dart'; | 10 import '../constants/expressions.dart'; |
(...skipping 901 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
912 */ | 912 */ |
913 TypeInformation registerAwait(ast.Node node, TypeInformation argument) { | 913 TypeInformation registerAwait(ast.Node node, TypeInformation argument) { |
914 AwaitTypeInformation info = | 914 AwaitTypeInformation info = |
915 new AwaitTypeInformation(types.currentMember, node); | 915 new AwaitTypeInformation(types.currentMember, node); |
916 info.addAssignment(argument); | 916 info.addAssignment(argument); |
917 types.allocatedTypes.add(info); | 917 types.allocatedTypes.add(info); |
918 return info; | 918 return info; |
919 } | 919 } |
920 | 920 |
921 /** | 921 /** |
| 922 * Registers a call to yield with an expression of type [argumentType] as |
| 923 * argument. |
| 924 */ |
| 925 TypeInformation registerYield(ast.Node node, TypeInformation argument) { |
| 926 YieldTypeInformation info = |
| 927 new YieldTypeInformation(types.currentMember, node); |
| 928 info.addAssignment(argument); |
| 929 types.allocatedTypes.add(info); |
| 930 return info; |
| 931 } |
| 932 |
| 933 /** |
922 * Registers that [caller] calls [closure] with [arguments]. | 934 * Registers that [caller] calls [closure] with [arguments]. |
923 * | 935 * |
924 * [sideEffects] will be updated to incorporate the potential | 936 * [sideEffects] will be updated to incorporate the potential |
925 * callees' side effects. | 937 * callees' side effects. |
926 * | 938 * |
927 * [inLoop] tells whether the call happens in a loop. | 939 * [inLoop] tells whether the call happens in a loop. |
928 */ | 940 */ |
929 TypeInformation registerCalledClosure( | 941 TypeInformation registerCalledClosure( |
930 ast.Node node, | 942 ast.Node node, |
931 Selector selector, | 943 Selector selector, |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1061 /** | 1073 /** |
1062 * Records that the captured variable [local] is read. | 1074 * Records that the captured variable [local] is read. |
1063 */ | 1075 */ |
1064 void recordCapturedLocalRead(Local local) {} | 1076 void recordCapturedLocalRead(Local local) {} |
1065 | 1077 |
1066 /** | 1078 /** |
1067 * Records that the variable [local] is being updated. | 1079 * Records that the variable [local] is being updated. |
1068 */ | 1080 */ |
1069 void recordLocalUpdate(Local local, TypeInformation type) {} | 1081 void recordLocalUpdate(Local local, TypeInformation type) {} |
1070 } | 1082 } |
OLD | NEW |