| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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.md file. | 3 // BSD-style license that can be found in the LICENSE.md file. |
| 4 | 4 |
| 5 import 'package:kernel/ast.dart' as ir; | 5 import 'package:kernel/ast.dart' as ir; |
| 6 import 'package:kernel/frontend/accessors.dart' | 6 import 'package:kernel/frontend/accessors.dart' |
| 7 show | 7 show |
| 8 Accessor, | 8 Accessor, |
| 9 IndexAccessor, | 9 IndexAccessor, |
| 10 NullAwarePropertyAccessor, | 10 NullAwarePropertyAccessor, |
| (...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 428 } | 428 } |
| 429 } | 429 } |
| 430 | 430 |
| 431 ir.Statement buildForInCommon( | 431 ir.Statement buildForInCommon( |
| 432 ForIn node, ir.VariableDeclaration variable, ir.Statement body, | 432 ForIn node, ir.VariableDeclaration variable, ir.Statement body, |
| 433 {bool isAsync}) { | 433 {bool isAsync}) { |
| 434 ir.Expression iterable = visitForValue(node.expression); | 434 ir.Expression iterable = visitForValue(node.expression); |
| 435 JumpTarget jumpTarget = elements.getTargetDefinition(node); | 435 JumpTarget jumpTarget = elements.getTargetDefinition(node); |
| 436 body = buildContinueTarget(body, node, jumpTarget); | 436 body = buildContinueTarget(body, node, jumpTarget); |
| 437 return buildBreakTarget( | 437 return buildBreakTarget( |
| 438 new ir.ForInStatement(variable, iterable, body, isAsync: isAsync), | 438 associateNode( |
| 439 new ir.ForInStatement(variable, iterable, body, isAsync: isAsync), |
| 440 node), |
| 439 node, | 441 node, |
| 440 jumpTarget); | 442 jumpTarget); |
| 441 } | 443 } |
| 442 | 444 |
| 443 /// Builds a for-in statement for this case: | 445 /// Builds a for-in statement for this case: |
| 444 /// | 446 /// |
| 445 /// for (constOrVarOrType loopVariable in expression) body | 447 /// for (constOrVarOrType loopVariable in expression) body |
| 446 ir.Statement buildForInWithDeclaration( | 448 ir.Statement buildForInWithDeclaration( |
| 447 ForIn node, VariableDefinitions declaration, | 449 ForIn node, VariableDefinitions declaration, |
| 448 {bool isAsync}) { | 450 {bool isAsync}) { |
| (...skipping 2325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2774 : this(null, true, node, initializers); | 2776 : this(null, true, node, initializers); |
| 2775 | 2777 |
| 2776 accept(ir.Visitor v) => throw "unsupported"; | 2778 accept(ir.Visitor v) => throw "unsupported"; |
| 2777 | 2779 |
| 2778 visitChildren(ir.Visitor v) => throw "unsupported"; | 2780 visitChildren(ir.Visitor v) => throw "unsupported"; |
| 2779 | 2781 |
| 2780 String toString() { | 2782 String toString() { |
| 2781 return "IrFunction($kind, $isConstructor, $node, $initializers)"; | 2783 return "IrFunction($kind, $isConstructor, $node, $initializers)"; |
| 2782 } | 2784 } |
| 2783 } | 2785 } |
| OLD | NEW |