void UnusedTypeRemover::visit(StructDeclaration &strct)
{
unused_nodes.insert(&strct);
+ TraversingVisitor::visit(strct);
}
void UnusedTypeRemover::visit(VariableDeclaration &var)
unused_nodes.erase(var.type_declaration);
}
+void UnusedTypeRemover::visit(FunctionDeclaration &func)
+{
+ unused_nodes.erase(func.return_type_declaration);
+ TraversingVisitor::visit(func);
+}
+
UnusedVariableRemover::UnusedVariableRemover():
aggregate(0),