diff options
author | Anna Zaks <ganna@apple.com> | 2012-01-18 20:17:16 +0000 |
---|---|---|
committer | Anna Zaks <ganna@apple.com> | 2012-01-18 20:17:16 +0000 |
commit | c2a8d6cee01fc4845f5409bf5c021a64616ac8c3 (patch) | |
tree | 3d3df55ff0e799e7da1d02e17c89c622ac1fe9a5 /include/clang/Lex/Preprocessor.h | |
parent | 556b1d0f3a039a691ed4f6dd91b8587435f30b0b (diff) |
Refactor: Pull getImmediateMacroName() out of DiagnosticRenderer and
into Lexer and Preprocessor; making it widely available.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148410 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Lex/Preprocessor.h')
-rw-r--r-- | include/clang/Lex/Preprocessor.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/clang/Lex/Preprocessor.h b/include/clang/Lex/Preprocessor.h index fcaf9c6a2c..a83f6e26c7 100644 --- a/include/clang/Lex/Preprocessor.h +++ b/include/clang/Lex/Preprocessor.h @@ -830,6 +830,17 @@ public: return *SourceMgr.getCharacterData(Tok.getLocation(), Invalid); } + /// \brief Retrieve the name of the immediate macro expansion. + /// + /// This routine starts from a source location, and finds the name of the macro + /// responsible for its immediate expansion. It looks through any intervening + /// macro argument expansions to compute this. It returns a StringRef which + /// refers to the SourceManager-owned buffer of the source where that macro + /// name is spelled. Thus, the result shouldn't out-live the SourceManager. + StringRef getImmediateMacroName(SourceLocation Loc) { + return Lexer::getImmediateMacroName(Loc, SourceMgr, getLangOptions()); + } + /// CreateString - Plop the specified string into a scratch buffer and set the /// specified token's location and length to it. If specified, the source /// location provides a location of the expansion point of the token. |