Go to the documentation of this file.
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
void EndOfMainFile() override
CharSourceRange Range
SourceRange for the file name.
A preprocessor that collects all macro symbols.
void MacroExpands(const Token &MacroNameTok, const MacroDefinition &MD, SourceRange Range, const MacroArgs *Args) override
static GeneratorRegistry::Add< MDGenerator > MD(MDGenerator::Format, "Generator for MD output.")
void MacroDefined(const Token &MacroNameTok, const MacroDirective *MD) override
static constexpr llvm::StringLiteral Name
FindAllMacros(SymbolReporter *Reporter, SourceManager *SM, HeaderMapCollector *Collector=nullptr)
void Ifdef(SourceLocation Loc, const Token &MacroNameTok, const MacroDefinition &MD) override
An interface for classes that collect symbols.
void Ifndef(SourceLocation Loc, const Token &MacroNameTok, const MacroDefinition &MD) override
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
SourceLocation Loc
'#' location in the include directive
std::map< SymbolInfo, Signals > SignalMap