У меня есть следующая рекурсивная реализация посетителя AST.Извлечение объявлений функций из файла заголовка C/C++ с использованием clang
class ExampleVisitor : public clang::RecursiveASTVisitor<ExampleVisitor>{
private:
clang::ASTContext* ast_context_; // used for getting additional AST info
public:
explicit ExampleVisitor(clang::CompilerInstance* ci)
: ast_context_(&(ci->getASTContext())) // initialize private members
virtual bool VisitFunctionDecl(clang::FunctionDecl* func)
{
numFunctions++;
foo(func);
return true;
}};
Функция foo печатает имена объявленных функций для заданного входного файла.
В этой реализации foo печатает функции, объявленные во входном файле, а также выгружает все объявления функций из включенных заголовочных файлов. Как я могу изменить этот код для печати только функций, объявленных в данном входном файле?