clang-tools  8.0.0
Functions
clang::tidy::utils::lexer Namespace Reference

Functions

Token getPreviousToken (SourceLocation Location, const SourceManager &SM, const LangOptions &LangOpts, bool SkipComments=true)
 Returns previous token or tok::unknown if not found. More...
 
SourceLocation findPreviousTokenStart (SourceLocation Start, const SourceManager &SM, const LangOptions &LangOpts)
 
SourceLocation findPreviousTokenKind (SourceLocation Start, const SourceManager &SM, const LangOptions &LangOpts, tok::TokenKind TK)
 
SourceLocation findNextTerminator (SourceLocation Start, const SourceManager &SM, const LangOptions &LangOpts)
 
bool rangeContainsExpansionsOrDirectives (SourceRange Range, const SourceManager &SM, const LangOptions &LangOpts)
 Re-lex the provide Range and return false if either a macro spans multiple tokens, a pre-processor directive or failure to retrieve the next token is found, otherwise true. More...
 
llvm::Optional< Token > getConstQualifyingToken (CharSourceRange Range, const ASTContext &Context, const SourceManager &SM)
 Assuming that Range spans a const-qualified type, returns the const token in Range that is responsible for const qualification. More...
 
template<typename TokenKind , typename... TokenKinds>
SourceLocation findPreviousAnyTokenKind (SourceLocation Start, const SourceManager &SM, const LangOptions &LangOpts, TokenKind TK, TokenKinds... TKs)
 
template<typename TokenKind , typename... TokenKinds>
SourceLocation findNextAnyTokenKind (SourceLocation Start, const SourceManager &SM, const LangOptions &LangOpts, TokenKind TK, TokenKinds... TKs)
 

Function Documentation

◆ findNextAnyTokenKind()

template<typename TokenKind , typename... TokenKinds>
SourceLocation clang::tidy::utils::lexer::findNextAnyTokenKind ( SourceLocation  Start,
const SourceManager &  SM,
const LangOptions &  LangOpts,
TokenKind  TK,
TokenKinds...  TKs 
)

Definition at line 60 of file LexerUtils.h.

◆ findNextTerminator()

SourceLocation clang::tidy::utils::lexer::findNextTerminator ( SourceLocation  Start,
const SourceManager &  SM,
const LangOptions &  LangOpts 
)

Definition at line 67 of file LexerUtils.cpp.

◆ findPreviousAnyTokenKind()

template<typename TokenKind , typename... TokenKinds>
SourceLocation clang::tidy::utils::lexer::findPreviousAnyTokenKind ( SourceLocation  Start,
const SourceManager &  SM,
const LangOptions &  LangOpts,
TokenKind  TK,
TokenKinds...  TKs 
)

Definition at line 38 of file LexerUtils.h.

◆ findPreviousTokenKind()

SourceLocation clang::tidy::utils::lexer::findPreviousTokenKind ( SourceLocation  Start,
const SourceManager &  SM,
const LangOptions &  LangOpts,
tok::TokenKind  TK 
)

Definition at line 47 of file LexerUtils.cpp.

◆ findPreviousTokenStart()

SourceLocation clang::tidy::utils::lexer::findPreviousTokenStart ( SourceLocation  Start,
const SourceManager &  SM,
const LangOptions &  LangOpts 
)

Definition at line 34 of file LexerUtils.cpp.

◆ getConstQualifyingToken()

llvm::Optional< Token > clang::tidy::utils::lexer::getConstQualifyingToken ( CharSourceRange  Range,
const ASTContext &  Context,
const SourceManager &  SM 
)

Assuming that Range spans a const-qualified type, returns the const token in Range that is responsible for const qualification.

Range must be valid with respect to SM. Returns None if no const tokens are found.

Definition at line 96 of file LexerUtils.cpp.

Referenced by clang::tidy::readability::findConstToRemove().

◆ getPreviousToken()

Token clang::tidy::utils::lexer::getPreviousToken ( SourceLocation  Location,
const SourceManager &  SM,
const LangOptions &  LangOpts,
bool  SkipComments 
)

Returns previous token or tok::unknown if not found.

Definition at line 17 of file LexerUtils.cpp.

Referenced by clang::tidy::bugprone::SuspiciousSemicolonCheck::check().

◆ rangeContainsExpansionsOrDirectives()

bool clang::tidy::utils::lexer::rangeContainsExpansionsOrDirectives ( SourceRange  Range,
const SourceManager &  SM,
const LangOptions &  LangOpts 
)

Re-lex the provide Range and return false if either a macro spans multiple tokens, a pre-processor directive or failure to retrieve the next token is found, otherwise true.

Definition at line 72 of file LexerUtils.cpp.