Index: pkg/compiler/lib/src/ssa/graph_builder.dart |
diff --git a/pkg/compiler/lib/src/ssa/graph_builder.dart b/pkg/compiler/lib/src/ssa/graph_builder.dart |
index a6ef442029211640d91a884b05271e4dfd607ca0..22e6c308060c1aed9b9591099c733f244887f59d 100644 |
--- a/pkg/compiler/lib/src/ssa/graph_builder.dart |
+++ b/pkg/compiler/lib/src/ssa/graph_builder.dart |
@@ -4,12 +4,15 @@ |
import '../compiler.dart'; |
import '../elements/elements.dart'; |
+import '../io/source_information.dart'; |
import '../js_backend/js_backend.dart'; |
import '../resolution/tree_elements.dart'; |
+import '../tree/tree.dart' as ast; |
import '../types/types.dart'; |
import 'jump_handler.dart'; |
import 'locals_handler.dart'; |
import 'nodes.dart'; |
+import 'ssa_branch_builder.dart'; |
/// Base class for objects that build up an SSA graph. |
/// |
@@ -159,6 +162,17 @@ abstract class GraphBuilder { |
return result; |
} |
+ void handleIf( |
+ {ast.Node node, |
+ void visitCondition(), |
+ void visitThen(), |
+ void visitElse(), |
+ SourceInformation sourceInformation}) { |
+ SsaBranchBuilder branchBuilder = new SsaBranchBuilder(this, compiler, node); |
+ branchBuilder.handleIf(visitCondition, visitThen, visitElse, |
+ sourceInformation: sourceInformation); |
+ } |
+ |
HSubGraphBlockInformation wrapStatementGraph(SubGraph statements) { |
if (statements == null) return null; |
return new HSubGraphBlockInformation(statements); |