diff options
Diffstat (limited to 'include/clang/Tooling/Syntax/Tokens.h')
-rw-r--r-- | include/clang/Tooling/Syntax/Tokens.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/clang/Tooling/Syntax/Tokens.h b/include/clang/Tooling/Syntax/Tokens.h index 4640ccb2d30aa..301432d3888b3 100644 --- a/include/clang/Tooling/Syntax/Tokens.h +++ b/include/clang/Tooling/Syntax/Tokens.h @@ -236,6 +236,16 @@ public: /// #pragma, etc. llvm::ArrayRef<syntax::Token> spelledTokens(FileID FID) const; + /// Get all tokens that expand a macro in \p FID. For the following input + /// #define FOO B + /// #define FOO2(X) int X + /// FOO2(XY) + /// int B; + /// FOO; + /// macroExpansions() returns {"FOO2", "FOO"} (from line 3 and 5 + /// respecitvely). + std::vector<const syntax::Token *> macroExpansions(FileID FID) const; + const SourceManager &sourceManager() const { return *SourceMgr; } std::string dumpForTests() const; |