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)

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)

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

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

Declared at: clang/include/clang/Tooling/Syntax/TokenBufferTokenManager.h:40

Parameters

clang::syntax::TokenManager::Key I

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)

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()

Declared at: clang/include/clang/Tooling/Syntax/TokenBufferTokenManager.h:43

const clang::SourceManager& sourceManager() const

Declared at: clang/include/clang/Tooling/Syntax/TokenBufferTokenManager.h:44

const clang::syntax::TokenBuffer& tokenBuffer()
    const

Declared at: clang/include/clang/Tooling/Syntax/TokenBufferTokenManager.h:45