diff options
Diffstat (limited to 'include/clang/Lex/PPCallbacks.h')
-rw-r--r-- | include/clang/Lex/PPCallbacks.h | 66 |
1 files changed, 38 insertions, 28 deletions
diff --git a/include/clang/Lex/PPCallbacks.h b/include/clang/Lex/PPCallbacks.h index 8ba02cc..96359a2 100644 --- a/include/clang/Lex/PPCallbacks.h +++ b/include/clang/Lex/PPCallbacks.h @@ -15,10 +15,10 @@ #ifndef LLVM_CLANG_LEX_PPCALLBACKS_H #define LLVM_CLANG_LEX_PPCALLBACKS_H +#include "clang/Basic/DiagnosticIDs.h" +#include "clang/Basic/SourceLocation.h" #include "clang/Lex/DirectoryLookup.h" #include "clang/Lex/ModuleLoader.h" -#include "clang/Basic/SourceLocation.h" -#include "clang/Basic/DiagnosticIDs.h" #include "llvm/ADT/StringRef.h" #include <string> @@ -26,7 +26,7 @@ namespace clang { class SourceLocation; class Token; class IdentifierInfo; - class MacroInfo; + class MacroDirective; /// \brief This interface provides a way to observe the actions of the /// preprocessor as it does its thing. @@ -184,22 +184,25 @@ public: /// \brief Called by Preprocessor::HandleMacroExpandedIdentifier when a /// macro invocation is found. - virtual void MacroExpands(const Token &MacroNameTok, const MacroInfo* MI, + virtual void MacroExpands(const Token &MacroNameTok, const MacroDirective *MD, SourceRange Range) { } /// \brief Hook called whenever a macro definition is seen. - virtual void MacroDefined(const Token &MacroNameTok, const MacroInfo *MI) { + virtual void MacroDefined(const Token &MacroNameTok, + const MacroDirective *MD) { } /// \brief Hook called whenever a macro \#undef is seen. /// - /// MI is released immediately following this callback. - virtual void MacroUndefined(const Token &MacroNameTok, const MacroInfo *MI) { + /// MD is released immediately following this callback. + virtual void MacroUndefined(const Token &MacroNameTok, + const MacroDirective *MD) { } /// \brief Hook called whenever the 'defined' operator is seen. - virtual void Defined(const Token &MacroNameTok) { + /// \param MD The MacroDirective if the name was a macro, null otherwise. + virtual void Defined(const Token &MacroNameTok, const MacroDirective *MD) { } /// \brief Hook called when a source range is skipped. @@ -228,13 +231,17 @@ public: /// \brief Hook called whenever an \#ifdef is seen. /// \param Loc the source location of the directive. /// \param MacroNameTok Information on the token being tested. - virtual void Ifdef(SourceLocation Loc, const Token &MacroNameTok) { + /// \param MD The MacroDirective if the name was a macro, null otherwise. + virtual void Ifdef(SourceLocation Loc, const Token &MacroNameTok, + const MacroDirective *MD) { } /// \brief Hook called whenever an \#ifndef is seen. /// \param Loc the source location of the directive. /// \param MacroNameTok Information on the token being tested. - virtual void Ifndef(SourceLocation Loc, const Token &MacroNameTok) { + /// \param MD The MacroDirective if the name was a macro, null otherwise. + virtual void Ifndef(SourceLocation Loc, const Token &MacroNameTok, + const MacroDirective *MD) { } /// \brief Hook called whenever an \#else is seen. @@ -346,25 +353,26 @@ public: Second->PragmaDiagnostic(Loc, Namespace, mapping, Str); } - virtual void MacroExpands(const Token &MacroNameTok, const MacroInfo* MI, + virtual void MacroExpands(const Token &MacroNameTok, const MacroDirective *MD, SourceRange Range) { - First->MacroExpands(MacroNameTok, MI, Range); - Second->MacroExpands(MacroNameTok, MI, Range); + First->MacroExpands(MacroNameTok, MD, Range); + Second->MacroExpands(MacroNameTok, MD, Range); } - virtual void MacroDefined(const Token &MacroNameTok, const MacroInfo *MI) { - First->MacroDefined(MacroNameTok, MI); - Second->MacroDefined(MacroNameTok, MI); + virtual void MacroDefined(const Token &MacroNameTok, const MacroDirective *MD) { + First->MacroDefined(MacroNameTok, MD); + Second->MacroDefined(MacroNameTok, MD); } - virtual void MacroUndefined(const Token &MacroNameTok, const MacroInfo *MI) { - First->MacroUndefined(MacroNameTok, MI); - Second->MacroUndefined(MacroNameTok, MI); + virtual void MacroUndefined(const Token &MacroNameTok, + const MacroDirective *MD) { + First->MacroUndefined(MacroNameTok, MD); + Second->MacroUndefined(MacroNameTok, MD); } - virtual void Defined(const Token &MacroNameTok) { - First->Defined(MacroNameTok); - Second->Defined(MacroNameTok); + virtual void Defined(const Token &MacroNameTok, const MacroDirective *MD) { + First->Defined(MacroNameTok, MD); + Second->Defined(MacroNameTok, MD); } virtual void SourceRangeSkipped(SourceRange Range) { @@ -386,15 +394,17 @@ public: } /// \brief Hook called whenever an \#ifdef is seen. - virtual void Ifdef(SourceLocation Loc, const Token &MacroNameTok) { - First->Ifdef(Loc, MacroNameTok); - Second->Ifdef(Loc, MacroNameTok); + virtual void Ifdef(SourceLocation Loc, const Token &MacroNameTok, + const MacroDirective *MD) { + First->Ifdef(Loc, MacroNameTok, MD); + Second->Ifdef(Loc, MacroNameTok, MD); } /// \brief Hook called whenever an \#ifndef is seen. - virtual void Ifndef(SourceLocation Loc, const Token &MacroNameTok) { - First->Ifndef(Loc, MacroNameTok); - Second->Ifndef(Loc, MacroNameTok); + virtual void Ifndef(SourceLocation Loc, const Token &MacroNameTok, + const MacroDirective *MD) { + First->Ifndef(Loc, MacroNameTok, MD); + Second->Ifndef(Loc, MacroNameTok, MD); } /// \brief Hook called whenever an \#else is seen. |