12 #include "clang/Lex/PPCallbacks.h" 13 #include "clang/Lex/Preprocessor.h" 14 #include "llvm/ADT/STLExtras.h" 17 namespace find_all_symbols {
22 : Reporter(Reporter), Collector(RegexHeaderMap), Handler(&Collector),
23 Matcher(Reporter, &Collector) {
27 std::unique_ptr<ASTConsumer>
30 Compiler.getPreprocessor().addCommentHandler(&Handler);
31 Compiler.getPreprocessor().addPPCallbacks(llvm::make_unique<FindAllMacros>(
32 Reporter, &Compiler.getSourceManager(), &Collector));
33 return MatchFinder.newASTConsumer();
std::unique_ptr< clang::ASTConsumer > CreateASTConsumer(clang::CompilerInstance &Compiler, StringRef InFile) override
An interface for classes that collect symbols.
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
FindAllSymbolsAction(SymbolReporter *Reporter, const HeaderMapCollector::RegexHeaderMap *RegexHeaderMap=nullptr)
void registerMatchers(ast_matchers::MatchFinder *MatchFinder)