Class ClangToDotPreprocessorRecord#

Inheritance Relationships#

Base Type#

  • public clang::PPCallbacks

Class Documentation#

class ClangToDotPreprocessorRecord : public clang::PPCallbacks#

Public Functions

ClangToDotPreprocessorRecord(clang::SourceManager *source_manager)#
void InclusionDirective(clang::SourceLocation HashLoc, const clang::Token &IncludeTok, llvm::StringRef FileName, bool IsAngled, const clang::FileEntry *File, clang::SourceLocation EndLoc, llvm::StringRef SearchPath, llvm::StringRef RelativePath)#
void EndOfMainFile()#
void Ident(clang::SourceLocation Loc, const std::string &str)#
void PragmaComment(clang::SourceLocation Loc, const clang::IdentifierInfo *Kind, const std::string &Str)#
void PragmaMessage(clang::SourceLocation Loc, llvm::StringRef Str)#
void PragmaDiagnosticPush(clang::SourceLocation Loc, llvm::StringRef Namespace)#
void PragmaDiagnosticPop(clang::SourceLocation Loc, llvm::StringRef Namespace)#
void PragmaDiagnostic(clang::SourceLocation Loc, llvm::StringRef Namespace, clang::diag::Severity Severity, llvm::StringRef Str)#
void MacroExpands(const clang::Token &MacroNameTok, const clang::MacroInfo *MI, clang::SourceRange Range)#
void MacroDefined(const clang::Token &MacroNameTok, const clang::MacroInfo *MI)#
void MacroUndefined(const clang::Token &MacroNameTok, const clang::MacroInfo *MI)#
void Defined(const clang::Token &MacroNameTok)#
void SourceRangeSkipped(clang::SourceRange Range)#
void If(clang::SourceRange Range)#
void Elif(clang::SourceRange Range)#
void Ifdef(const clang::Token &MacroNameTok)#
void Ifndef(const clang::Token &MacroNameTok)#
void Else()#
void Endif()#
std::pair<Sg_File_Info*, PreprocessingInfo*> top()#
bool pop()#

Protected Attributes

clang::SourceManager *p_source_manager#
std::vector<std::pair<Sg_File_Info*, PreprocessingInfo*>> p_preprocessor_record_list#