10 #ifndef LLVM_CLANG_TOOLS_EXTRA_FIND_ALL_SYMBOLS_FIND_ALL_MACROS_H 11 #define LLVM_CLANG_TOOLS_EXTRA_FIND_ALL_SYMBOLS_FIND_ALL_MACROS_H 15 #include "clang/Lex/PPCallbacks.h" 19 namespace find_all_symbols {
21 class HeaderMapCollector;
30 : Reporter(Reporter), SM(SM), Collector(Collector) {}
33 const MacroDirective *
MD)
override;
35 void MacroExpands(
const Token &MacroNameTok,
const MacroDefinition &MD,
36 SourceRange
Range,
const MacroArgs *Args)
override;
38 void Ifdef(SourceLocation
Loc,
const Token &MacroNameTok,
39 const MacroDefinition &MD)
override;
41 void Ifndef(SourceLocation Loc,
const Token &MacroNameTok,
42 const MacroDefinition &MD)
override;
47 llvm::Optional<SymbolInfo> CreateMacroSymbol(
const Token &MacroNameTok,
50 void MacroUsed(
const Token &
Name,
const MacroDefinition &MD);
55 SourceManager *
const SM;
64 #endif // LLVM_CLANG_TOOLS_EXTRA_FIND_ALL_SYMBOLS_FIND_ALL_MACROS_H SourceLocation Loc
'#' location in the include directive
void Ifdef(SourceLocation Loc, const Token &MacroNameTok, const MacroDefinition &MD) override
FindAllMacros(SymbolReporter *Reporter, SourceManager *SM, HeaderMapCollector *Collector=nullptr)
void MacroExpands(const Token &MacroNameTok, const MacroDefinition &MD, SourceRange Range, const MacroArgs *Args) override
void EndOfMainFile() override
void Ifndef(SourceLocation Loc, const Token &MacroNameTok, const MacroDefinition &MD) override
static constexpr llvm::StringLiteral Name
void MacroDefined(const Token &MacroNameTok, const MacroDirective *MD) override
An interface for classes that collect symbols.
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
A preprocessor that collects all macro symbols.
static GeneratorRegistry::Add< MDGenerator > MD(MDGenerator::Format, "Generator for MD output.")
CharSourceRange Range
SourceRange for the file name.
std::map< SymbolInfo, Signals > SignalMap