class TokenBufferTokenManager
Declaration
class TokenBufferTokenManager : public TokenManager { /* full declaration omitted */ };
Description
A TokenBuffer-powered token manager. It tracks the underlying token buffers, source manager, etc.
Declared at: clang/include/clang/Tooling/Syntax/TokenBufferTokenManager.h:20
Inherits from: TokenManager
Member Variables
- private const clang::syntax::TokenBuffer& Tokens
- private const clang::LangOptions& LangOpts
- private clang::SourceManager& SM
- The underlying source manager for the ExtraTokens.
- private llvm::DenseMap<FileID, std::vector<Token>> ExtraTokens
- IDs and storage for additional tokenized files.
- private static const llvm::StringLiteral Kind = "TokenBuffer"
Method Overview
- public TokenBufferTokenManager(const clang::syntax::TokenBuffer & Tokens, const clang::LangOptions & LangOpts, clang::SourceManager & SourceMgr)
- public static bool classof(const clang::syntax::TokenManager * N)
- public llvm::StringRef getText(clang::syntax::TokenManager::Key I) const
- public const syntax::Token * getToken(clang::syntax::TokenManager::Key I) const
- public llvm::StringLiteral kind() const
- private std::pair<FileID, ArrayRef<Token>> lexBuffer(std::unique_ptr<llvm::MemoryBuffer> Buffer)
- public clang::SourceManager & sourceManager()
- public const clang::SourceManager & sourceManager() const
- public const clang::syntax::TokenBuffer & tokenBuffer() const
Inherited from TokenManager:
Methods
¶TokenBufferTokenManager(
const clang::syntax::TokenBuffer& Tokens,
const clang::LangOptions& LangOpts,
clang::SourceManager& SourceMgr)
TokenBufferTokenManager(
const clang::syntax::TokenBuffer& Tokens,
const clang::LangOptions& LangOpts,
clang::SourceManager& SourceMgr)
Declared at: clang/include/clang/Tooling/Syntax/TokenBufferTokenManager.h:22
Parameters
- const clang::syntax::TokenBuffer& Tokens
- const clang::LangOptions& LangOpts
- clang::SourceManager& SourceMgr
¶static bool classof(
const clang::syntax::TokenManager* N)
static bool classof(
const clang::syntax::TokenManager* N)
Declared at: clang/include/clang/Tooling/Syntax/TokenBufferTokenManager.h:26
Parameters
- const clang::syntax::TokenManager* N
¶llvm::StringRef getText(
clang::syntax::TokenManager::Key I) const
llvm::StringRef getText(
clang::syntax::TokenManager::Key I) const
Declared at: clang/include/clang/Tooling/Syntax/TokenBufferTokenManager.h:29
Parameters
- clang::syntax::TokenManager::Key I
¶const syntax::Token* getToken(
clang::syntax::TokenManager::Key I) const
const syntax::Token* getToken(
clang::syntax::TokenManager::Key I) const
Declared at: clang/include/clang/Tooling/Syntax/TokenBufferTokenManager.h:40
Parameters
- clang::syntax::TokenManager::Key I
¶llvm::StringLiteral kind() const
llvm::StringLiteral kind() const
Description
Describes what the exact class kind of the TokenManager is.
Declared at: clang/include/clang/Tooling/Syntax/TokenBufferTokenManager.h:27
¶std::pair<FileID, ArrayRef<Token>> lexBuffer(
std::unique_ptr<llvm::MemoryBuffer> Buffer)
std::pair<FileID, ArrayRef<Token>> lexBuffer(
std::unique_ptr<llvm::MemoryBuffer> Buffer)
Description
Add \p Buffer to the underlying source manager, tokenize it and store the resulting tokens. Used exclusively in `FactoryImpl` to materialize tokens that were not written in user code.
Declared at: clang/include/clang/Tooling/Syntax/TokenBufferTokenManager.h:55
Parameters
- std::unique_ptr<llvm::MemoryBuffer> Buffer
¶clang::SourceManager& sourceManager()
clang::SourceManager& sourceManager()
Declared at: clang/include/clang/Tooling/Syntax/TokenBufferTokenManager.h:43
¶const clang::SourceManager& sourceManager() const
const clang::SourceManager& sourceManager() const
Declared at: clang/include/clang/Tooling/Syntax/TokenBufferTokenManager.h:44
¶const clang::syntax::TokenBuffer& tokenBuffer()
const
const clang::syntax::TokenBuffer& tokenBuffer()
const
Declared at: clang/include/clang/Tooling/Syntax/TokenBufferTokenManager.h:45