global_scope(true)
{ }
-void UnusedVariableLocator::apply(Stage &s)
+const set<Node *> &UnusedVariableLocator::apply(Stage &s)
{
variables.push_back(BlockVariableMap());
- StageVisitor::apply(s);
+ visit(s.content);
BlockVariableMap &global_variables = variables.back();
for(BlockVariableMap::iterator i=global_variables.begin(); i!=global_variables.end(); ++i)
{
- if(i->first->interface=="out" && (s.type==FRAGMENT || i->first->linked_declaration || !i->first->name.compare(0, 3, "gl_")))
+ if(i->first->interface=="out" && (s.type==Stage::FRAGMENT || i->first->linked_declaration || !i->first->name.compare(0, 3, "gl_")))
continue;
if(!i->second.referenced)
{
}
}
variables.pop_back();
+
+ return unused_nodes;
}
void UnusedVariableLocator::visit(VariableReference &var)