+void FunctionInliner::visit(Conditional &cond)
+{
+ visit_and_inline(cond.condition);
+ cond.body.visit(*this);
+}
+
+void FunctionInliner::visit(Iteration &iter)
+{
+ SetForScope<Block *> set_block(current_block, &iter.body);
+ if(iter.init_statement)
+ iter.init_statement->visit(*this);
+ /* Skip the condition and loop expression parts because they're executed on
+ every iteration of the loop */
+ iter.body.visit(*this);
+}
+