|
23 | 23 | from mypyc.genops import IRVisitor, IRBuilder, UnsupportedException
|
24 | 24 | from mypyc.genclass import BuildClassIR
|
25 | 25 | from mypyc.genfunc import BuildFuncIR
|
26 |
| -from mypyc.genstatement import BuildStatementIR |
| 26 | +from mypyc.genstatement import ( |
| 27 | + transform_block, |
| 28 | + transform_expression_stmt, |
| 29 | + transform_return_stmt, |
| 30 | + transform_assignment_stmt, |
| 31 | + transform_operator_assignment_stmt, |
| 32 | + transform_if_stmt, |
| 33 | + transform_while_stmt, |
| 34 | + transform_for_stmt, |
| 35 | + transform_break_stmt, |
| 36 | + transform_continue_stmt, |
| 37 | + transform_raise_stmt, |
| 38 | + transform_try_stmt, |
| 39 | + transform_with_stmt, |
| 40 | + transform_assert_stmt, |
| 41 | + transform_del_stmt, |
| 42 | +) |
27 | 43 | from mypyc.genexpr import BuildExpressionIR
|
28 | 44 |
|
29 | 45 |
|
@@ -69,54 +85,54 @@ def visit_decorator(self, dec: Decorator) -> None:
|
69 | 85 | BuildFuncIR(self.builder).visit_decorator(dec)
|
70 | 86 |
|
71 | 87 | def visit_block(self, block: Block) -> None:
|
72 |
| - BuildStatementIR(self.builder).visit_block(block) |
| 88 | + transform_block(self.builder, block) |
73 | 89 |
|
74 | 90 | # Statements
|
75 | 91 |
|
76 | 92 | def visit_expression_stmt(self, stmt: ExpressionStmt) -> None:
|
77 |
| - BuildStatementIR(self.builder).visit_expression_stmt(stmt) |
| 93 | + transform_expression_stmt(self.builder, stmt) |
78 | 94 |
|
79 | 95 | def visit_return_stmt(self, stmt: ReturnStmt) -> None:
|
80 |
| - BuildStatementIR(self.builder).visit_return_stmt(stmt) |
| 96 | + transform_return_stmt(self.builder, stmt) |
81 | 97 |
|
82 | 98 | def visit_assignment_stmt(self, stmt: AssignmentStmt) -> None:
|
83 |
| - BuildStatementIR(self.builder).visit_assignment_stmt(stmt) |
| 99 | + transform_assignment_stmt(self.builder, stmt) |
84 | 100 |
|
85 | 101 | def visit_operator_assignment_stmt(self, stmt: OperatorAssignmentStmt) -> None:
|
86 |
| - BuildStatementIR(self.builder).visit_operator_assignment_stmt(stmt) |
| 102 | + transform_operator_assignment_stmt(self.builder, stmt) |
87 | 103 |
|
88 | 104 | def visit_if_stmt(self, stmt: IfStmt) -> None:
|
89 |
| - BuildStatementIR(self.builder).visit_if_stmt(stmt) |
| 105 | + transform_if_stmt(self.builder, stmt) |
90 | 106 |
|
91 | 107 | def visit_while_stmt(self, stmt: WhileStmt) -> None:
|
92 |
| - BuildStatementIR(self.builder).visit_while_stmt(stmt) |
| 108 | + transform_while_stmt(self.builder, stmt) |
93 | 109 |
|
94 | 110 | def visit_for_stmt(self, stmt: ForStmt) -> None:
|
95 |
| - BuildStatementIR(self.builder).visit_for_stmt(stmt) |
| 111 | + transform_for_stmt(self.builder, stmt) |
96 | 112 |
|
97 | 113 | def visit_break_stmt(self, stmt: BreakStmt) -> None:
|
98 |
| - BuildStatementIR(self.builder).visit_break_stmt(stmt) |
| 114 | + transform_break_stmt(self.builder, stmt) |
99 | 115 |
|
100 | 116 | def visit_continue_stmt(self, stmt: ContinueStmt) -> None:
|
101 |
| - BuildStatementIR(self.builder).visit_continue_stmt(stmt) |
| 117 | + transform_continue_stmt(self.builder, stmt) |
102 | 118 |
|
103 | 119 | def visit_raise_stmt(self, stmt: RaiseStmt) -> None:
|
104 |
| - BuildStatementIR(self.builder).visit_raise_stmt(stmt) |
| 120 | + transform_raise_stmt(self.builder, stmt) |
105 | 121 |
|
106 | 122 | def visit_try_stmt(self, stmt: TryStmt) -> None:
|
107 |
| - BuildStatementIR(self.builder).visit_try_stmt(stmt) |
| 123 | + transform_try_stmt(self.builder, stmt) |
108 | 124 |
|
109 | 125 | def visit_with_stmt(self, stmt: WithStmt) -> None:
|
110 |
| - BuildStatementIR(self.builder).visit_with_stmt(stmt) |
| 126 | + transform_with_stmt(self.builder, stmt) |
111 | 127 |
|
112 | 128 | def visit_pass_stmt(self, stmt: PassStmt) -> None:
|
113 | 129 | pass
|
114 | 130 |
|
115 | 131 | def visit_assert_stmt(self, stmt: AssertStmt) -> None:
|
116 |
| - BuildStatementIR(self.builder).visit_assert_stmt(stmt) |
| 132 | + transform_assert_stmt(self.builder, stmt) |
117 | 133 |
|
118 | 134 | def visit_del_stmt(self, stmt: DelStmt) -> None:
|
119 |
| - BuildStatementIR(self.builder).visit_del_stmt(stmt) |
| 135 | + transform_del_stmt(self.builder, stmt) |
120 | 136 |
|
121 | 137 | def visit_global_decl(self, stmt: GlobalDecl) -> None:
|
122 | 138 | # Pure declaration -- no runtime effect
|
|
0 commit comments