stmt.prev = new_stmt;
}
+ public void remove_statement (Statement stmt) {
+ var prev = stmt.prev;
+ var next = stmt.next;
+
+ if (prev != null) {
+ prev.next = next;
+ } else {
+ first_statement = next;
+ }
+
+ if (next != null) {
+ next.prev = prev;
+ } else {
+ last_statement = prev;
+ }
+ }
+
public void replace_statement (Statement old_stmt, Statement new_stmt) {
new_stmt.parent_node = this;
new_stmt.prev = old_stmt.prev;
m.body.add_statement (current_block);
}
+ public void cleanup () {
+ if (current_block.first_statement == null) {
+ insert_block.remove_statement (current_block);
+ }
+ }
+
public void check (CodeTransformer transformer) {
foreach (var node in decl_nodes) {
transformer.check (node);
}
public void pop_builder () {
+ b.cleanup ();
+
b = builder_stack[builder_stack.size - 1];
builder_stack.remove_at (builder_stack.size - 1);
}