namespace GL {
namespace SL {
-void NodeVisitor::visit(Assignment &assign)
-{
- visit(static_cast<BinaryExpression &>(assign));
-}
-
-
void TraversingVisitor::visit(Block &block)
{
if(&block!=current_block)
binary.right->visit(*this);
}
+void TraversingVisitor::visit(Assignment &assign)
+{
+ visit(static_cast<BinaryExpression &>(assign));
+}
+
void TraversingVisitor::visit(FunctionCall &call)
{
for(NodeArray<Expression>::iterator i=call.arguments.begin(); i!=call.arguments.end(); ++i)
iter.init_statement->visit(*this);
if(iter.condition)
iter.condition->visit(*this);
+ iter.body.visit(*this);
if(iter.loop_expression)
iter.loop_expression->visit(*this);
- iter.body.visit(*this);
}
void TraversingVisitor::visit(Passthrough &pass)
void NodeRemover::visit(FunctionDeclaration &func)
{
if(to_remove->count(&func))
- remove_from_map(stage->functions, func.name+func.signature, func);
+ remove_from_map(stage->functions, func.name, func);
TraversingVisitor::visit(func);
}