OLD | NEW |
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 library analyzer2dart.cps_generator; | 5 library analyzer2dart.cps_generator; |
6 | 6 |
7 import 'package:analyzer/analyzer.dart'; | 7 import 'package:analyzer/analyzer.dart'; |
8 | 8 |
9 import 'package:compiler/src/dart_types.dart' as dart2js; | 9 import 'package:compiler/src/dart_types.dart' as dart2js; |
10 import 'package:compiler/src/elements/elements.dart' as dart2js; | 10 import 'package:compiler/src/elements/elements.dart' as dart2js; |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 ir.Node visitLocalFunctionAccess(AstNode node, AccessSemantics semantics) { | 212 ir.Node visitLocalFunctionAccess(AstNode node, AccessSemantics semantics) { |
213 return handleLocalAccess(node, semantics); | 213 return handleLocalAccess(node, semantics); |
214 } | 214 } |
215 | 215 |
216 ir.Primitive handleLocalInvocation(MethodInvocation node, | 216 ir.Primitive handleLocalInvocation(MethodInvocation node, |
217 AccessSemantics semantics) { | 217 AccessSemantics semantics) { |
218 analyzer.Element staticElement = semantics.element; | 218 analyzer.Element staticElement = semantics.element; |
219 dart2js.Element element = converter.convertElement(staticElement); | 219 dart2js.Element element = converter.convertElement(staticElement); |
220 ir.Primitive receiver = irBuilder.buildLocalGet(element); | 220 ir.Primitive receiver = irBuilder.buildLocalGet(element); |
221 List<ir.Definition> arguments = visitArguments(node.argumentList); | 221 List<ir.Definition> arguments = visitArguments(node.argumentList); |
222 return irBuilder.buildFunctionExpressionInvocation( | 222 return irBuilder.buildCallInvocation( |
223 receiver, | 223 receiver, |
224 createSelectorFromMethodInvocation( | 224 createSelectorFromMethodInvocation( |
225 node.argumentList, node.methodName.name), | 225 node.argumentList, node.methodName.name), |
226 arguments); | 226 arguments); |
227 } | 227 } |
228 | 228 |
229 @override | 229 @override |
230 ir.Node visitLocalVariableInvocation(MethodInvocation node, | 230 ir.Node visitLocalVariableInvocation(MethodInvocation node, |
231 AccessSemantics semantics) { | 231 AccessSemantics semantics) { |
232 return handleLocalInvocation(node, semantics); | 232 return handleLocalInvocation(node, semantics); |
233 } | 233 } |
234 | 234 |
235 @override | 235 @override |
236 ir.Primitive visitLocalFunctionInvocation(MethodInvocation node, | 236 ir.Primitive visitLocalFunctionInvocation(MethodInvocation node, |
237 AccessSemantics semantics) { | 237 AccessSemantics semantics) { |
238 return handleLocalInvocation(node, semantics); | 238 return handleLocalInvocation(node, semantics); |
239 } | 239 } |
240 | 240 |
241 @override | 241 @override |
242 ir.Primitive visitFunctionExpressionInvocation( | 242 ir.Primitive visitFunctionExpressionInvocation( |
243 FunctionExpressionInvocation node) { | 243 FunctionExpressionInvocation node) { |
244 ir.Primitive target = build(node.function); | 244 ir.Primitive target = build(node.function); |
245 List<ir.Definition> arguments = visitArguments(node.argumentList); | 245 List<ir.Definition> arguments = visitArguments(node.argumentList); |
246 return irBuilder.buildFunctionExpressionInvocation( | 246 return irBuilder.buildCallInvocation( |
247 target, | 247 target, |
248 createSelectorFromMethodInvocation(node.argumentList, 'call'), | 248 createSelectorFromMethodInvocation(node.argumentList, 'call'), |
249 arguments); | 249 arguments); |
250 } | 250 } |
251 | 251 |
252 @override | 252 @override |
253 ir.Primitive visitInstanceCreationExpression( | 253 ir.Primitive visitInstanceCreationExpression( |
254 InstanceCreationExpression node) { | 254 InstanceCreationExpression node) { |
255 analyzer.Element staticElement = node.staticElement; | 255 analyzer.Element staticElement = node.staticElement; |
256 if (staticElement != null) { | 256 if (staticElement != null) { |
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
570 return irBuilder.buildTypeOperator( | 570 return irBuilder.buildTypeOperator( |
571 visit(node.expression), | 571 visit(node.expression), |
572 converter.convertType(node.type.type), | 572 converter.convertType(node.type.type), |
573 isTypeTest: false); | 573 isTypeTest: false); |
574 } | 574 } |
575 } | 575 } |
576 | 576 |
577 class NullCapturedVariableInfo extends DartCapturedVariableInfo { | 577 class NullCapturedVariableInfo extends DartCapturedVariableInfo { |
578 Iterable get capturedVariables => const []; | 578 Iterable get capturedVariables => const []; |
579 } | 579 } |
OLD | NEW |