| 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 tree_ir_nodes; | 5 library tree_ir_nodes; |
| 6 | 6 |
| 7 import '../constants/expressions.dart'; | 7 import '../constants/expressions.dart'; |
| 8 import '../constants/values.dart' as values; | 8 import '../constants/values.dart' as values; |
| 9 import '../cps_ir/cps_ir_nodes.dart' as cps_ir; | 9 import '../cps_ir/cps_ir_nodes.dart' as cps_ir; |
| 10 import '../dart_types.dart' show DartType, GenericType; | 10 import '../dart_types.dart' show DartType, GenericType; |
| 11 import '../elements/elements.dart'; | 11 import '../elements/elements.dart'; |
| 12 import '../universe/universe.dart'; | 12 import '../universe/universe.dart'; |
| 13 import '../universe/universe.dart' show Selector; | 13 import '../universe/universe.dart' show Selector; |
| 14 | 14 |
| 15 | |
| 16 // The Tree language is the target of translation out of the CPS-based IR. | 15 // The Tree language is the target of translation out of the CPS-based IR. |
| 17 // | 16 // |
| 18 // The translation from CPS to Dart consists of several stages. Among the | 17 // The translation from CPS to Dart consists of several stages. Among the |
| 19 // stages are translation to direct style, translation out of SSA, eliminating | 18 // stages are translation to direct style, translation out of SSA, eliminating |
| 20 // unnecessary names, recognizing high-level control constructs. Combining | 19 // unnecessary names, recognizing high-level control constructs. Combining |
| 21 // these separate concerns is complicated and the constraints of the CPS-based | 20 // these separate concerns is complicated and the constraints of the CPS-based |
| 22 // language do not permit a multi-stage translation. | 21 // language do not permit a multi-stage translation. |
| 23 // | 22 // |
| 24 // For that reason, CPS is translated to the direct-style language Tree. | 23 // For that reason, CPS is translated to the direct-style language Tree. |
| 25 // Translation out of SSA, unnaming, and control-flow, as well as 'instruction | 24 // Translation out of SSA, unnaming, and control-flow, as well as 'instruction |
| (...skipping 629 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 655 visitFunctionDeclaration(FunctionDeclaration node) { | 654 visitFunctionDeclaration(FunctionDeclaration node) { |
| 656 visitFunctionDefinition(node.definition); | 655 visitFunctionDefinition(node.definition); |
| 657 visitStatement(node.next); | 656 visitStatement(node.next); |
| 658 } | 657 } |
| 659 | 658 |
| 660 visitExpressionStatement(ExpressionStatement node) { | 659 visitExpressionStatement(ExpressionStatement node) { |
| 661 visitExpression(node.expression); | 660 visitExpression(node.expression); |
| 662 visitStatement(node.next); | 661 visitStatement(node.next); |
| 663 } | 662 } |
| 664 } | 663 } |
| OLD | NEW |