clang 8.0.0

Public Member Functions | Static Public Member Functions | List of all members
clang::CharSourceRange Class Reference

Represents a character-granular source range. More...

`#include "clang/Basic/SourceLocation.h"`

## Public Member Functions
| CharSourceRange ()=default
| CharSourceRange (SourceRange R, bool ITR)
bool | isTokenRange () const
| Return true if the end of this range specifies the start of the last token. More...
bool | isCharRange () const
SourceLocation | getBegin () const
SourceLocation | getEnd () const
SourceRange | getAsRange () const
void | setBegin (SourceLocation b)
void | setEnd (SourceLocation e)
void | setTokenRange (bool TR)
bool | isValid () const
bool | isInvalid () const

## Static Public Member Functions
static CharSourceRange | getTokenRange (SourceRange R)
static CharSourceRange | getCharRange (SourceRange R)
static CharSourceRange | getTokenRange (SourceLocation B, SourceLocation E)
static CharSourceRange | getCharRange (SourceLocation B, SourceLocation E)

## Detailed Description

Represents a character-granular source range.

The underlying SourceRange can either specify the starting/ending character of the range, or it can specify the start of the range and the start of the last token of the range (a "token range"). In the token range case, the size of the last token must be measured to determine the actual end of the range.

Definition at line 236 of file SourceLocation.h.

## Constructor & Destructor Documentation

## ◆ CharSourceRange() [1/2]

clang::CharSourceRange::CharSourceRange | ( |  | ) |
| default

## ◆ CharSourceRange() [2/2]

clang::CharSourceRange::CharSourceRange | ( | SourceRange | R,
|  | bool | ITR
| ) |  |
| inline

Definition at line 242 of file SourceLocation.h.

## Member Function Documentation

## ◆ getAsRange()

SourceRange clang::CharSourceRange::getAsRange | ( |  | ) | const
| inline

Definition at line 268 of file SourceLocation.h.

Referenced by clang::Lexer::getAsCharRange(), clang::SourceManager::getExpansionRange(), and clang::edit::Commit::replaceText().

## ◆ getBegin()

SourceLocation clang::CharSourceRange::getBegin | ( |  | ) | const
| inline

Definition at line 266 of file SourceLocation.h.

References clang::SourceRange::getBegin().

Referenced by clang::format::AffectedRangeManager::affectsCharSourceRange(), checkAllAtProps(), CheckMoveOnConstruction(), checkRangeForMacroArgExpansion(), DiagnoseNullConversion(), DiagUninitUse(), clang::markup::EmitRange(), findLinesForRange(), clang::PreprocessingRecord::findMacroDefinition(), clang::SourceManager::getBufferData(), clang::SourceManager::getExpansionRange(), clang::SourceManager::getImmediateMacroCallerLoc(), clang::Lexer::getImmediateMacroName(), clang::Lexer::getImmediateMacroNameForDiagnostics(), GetMappedTokenLoc(), clang::Rewriter::getRangeSize(), getRangeSize(), clang::Lexer::getSourceText(), clang::FixItRewriter::HandleDiagnostic(), handleObjCOwnershipTypeAttr(), hasSuperInitCall(), clang::html::HighlightMacros(), highlightRange(), clang::Rewriter::IncreaseIndentation(), clang::edit::Commit::insertFromRange(), clang::edit::Commit::insertWrap(), isFunctionMacroExpansion(), clang::TokenLexer::Lex(), clang::Lexer::makeFileCharRange(), makeRangeFromFileLocs(), makeStandaloneRange(), mapDiagnosticRanges(), maybeDiagnoseIDCharCompat(), maybeDiagnoseUTF8Homoglyph(), clang::edit::Commit::remove(), clang::Rewriter::RemoveText(), clang::edit::Commit::replace(), clang::edit::Commit::replaceText(), clang::edit::Commit::replaceWithInner(), retrieveMacroLocation(), clang::CoverageSourceInfo::SourceRangeSkipped(), and clang::FixItRewriter::WriteFixedFile().

## ◆ getCharRange() [1/2]

static CharSourceRange clang::CharSourceRange::getCharRange | ( | SourceRange | R | ) |
| inline static

Definition at line 248 of file SourceLocation.h.

Referenced by clang::Sema::AddCFAuditedAttribute(), clang::format::AffectedRangeManager::affectsCharSourceRange(), applyEditsToTemp(), applyRewrite(), clang::Preprocessor::checkModuleIsAvailable(), clang::edit::EditedSource::clearRewrites(), CreateIfFixit(), clang::FixItHint::CreateInsertion(), clang::FixItHint::CreateInsertionFromRange(), diagnoseObjCLiteralComparison(), clang::format::Environment::Environment(), GenerateFixForUnusedDecl(), clang::edit::Commit::Edit::getFileRange(), clang::edit::Commit::Edit::getInsertFromRange(), getLiteralInfo(), makeCharRange(), MakeCharSourceRange(), makeRangeFromFileLocs(), rewriteToArraySubscriptSet(), rewriteToDictionaryLiteral(), rewriteToDictionarySubscriptSet(), rewriteToNSMacroDecl(), rewriteToObjCProperty(), and rewriteToSubscriptGetCommon().

## ◆ getCharRange() [2/2]

static CharSourceRange clang::CharSourceRange::getCharRange | ( | SourceLocation | B,
|  | SourceLocation | E
| ) |  |
| inline static

Definition at line 256 of file SourceLocation.h.

## ◆ getEnd()

SourceLocation clang::CharSourceRange::getEnd | ( |  | ) | const
| inline

Definition at line 267 of file SourceLocation.h.

References clang::SourceRange::getEnd().

Referenced by clang::format::AffectedRangeManager::affectsCharSourceRange(), checkRangeForMacroArgExpansion(), clang::TextDiagnostic::emitDiagnosticLoc(), clang::markup::EmitRange(), findLinesForRange(), clang::PreprocessingRecord::findMacroDefinition(), clang::SourceManager::getExpansionRange(), GetMappedTokenLoc(), clang::Rewriter::getRangeSize(), getRangeSize(), clang::Lexer::getSourceText(), clang::FixItRewriter::HandleDiagnostic(), hasSuperInitCall(), clang::html::HighlightMacros(), highlightRange(), clang::Rewriter::IncreaseIndentation(), clang::edit::Commit::insertWrap(), isTargetEnvironment(), clang::TokenLexer::Lex(), clang::Lexer::makeFileCharRange(), makeRangeFromFileLocs(), makeStandaloneRange(), clang::edit::Commit::replaceText(), clang::edit::Commit::replaceWithInner(), and retrieveMacroLocation().

## ◆ getTokenRange() [1/2]

static CharSourceRange clang::CharSourceRange::getTokenRange | ( | SourceRange | R | ) |
| inline static

Definition at line 244 of file SourceLocation.h.

Referenced by clang::Sema::AddCFAuditedAttribute(), clang::Sema::CheckConversionDeclarator(), clang::FixItHint::CreateRemoval(), clang::FixItHint::CreateReplacement(), GCRewriteFinalize(), GetDefaultValueString(), getLiteralInfo(), clang::Rewriter::getRangeSize(), clang::Rewriter::IncreaseIndentation(), clang::edit::Commit::insertFromRange(), clang::edit::Commit::insertWrap(), clang::operator<<(), printExprAsWritten(), clang::edit::Commit::remove(), clang::edit::Commit::replace(), clang::tooling::Replacement::Replacement(), clang::tooling::replaceStmtWithStmt(), clang::tooling::replaceStmtWithText(), clang::edit::Commit::replaceWithInner(), rewriteToArraySubscriptSet(), rewriteToDictionaryLiteral(), rewriteToDictionarySubscriptSet(), rewriteToNumberLiteral(), rewriteToSubscriptGetCommon(), clang::tooling::ReplaceStmtWithText::run(), and clang::tooling::ReplaceNodeWithTemplate::run().

## ◆ getTokenRange() [2/2]

static CharSourceRange clang::CharSourceRange::getTokenRange | ( | SourceLocation | B,
|  | SourceLocation | E
| ) |  |
| inline static

Definition at line 252 of file SourceLocation.h.

## ◆ isCharRange()

bool clang::CharSourceRange::isCharRange | ( |  | ) | const
| inline

Definition at line 264 of file SourceLocation.h.

Referenced by clang::markup::EmitRange(), clang::PreprocessingRecord::findMacroDefinition(), hasSuperInitCall(), and clang::Lexer::makeFileCharRange().

## ◆ isInvalid()

bool clang::CharSourceRange::isInvalid | ( |  | ) | const
| inline

Definition at line 275 of file SourceLocation.h.

Referenced by applyEditsToTemp(), clang::markup::EmitRange(), GetDefaultValueString(), clang::Lexer::getSourceText(), clang::Rewriter::IncreaseIndentation(), and clang::edit::Commit::replaceText().

## ◆ isTokenRange()

bool clang::CharSourceRange::isTokenRange | ( |  | ) | const
| inline

Return true if the end of this range specifies the start of the last token.

Return false if the end of this range specifies the last character in the range.

Definition at line 263 of file SourceLocation.h.

Referenced by clang::TextDiagnostic::emitDiagnosticLoc(), clang::Lexer::getAsCharRange(), clang::SourceManager::getExpansionRange(), clang::Rewriter::getRangeSize(), getRangeSize(), clang::FixItRewriter::HandleDiagnostic(), clang::html::HighlightMacros(), highlightRange(), clang::edit::Commit::insertWrap(), clang::Lexer::makeFileCharRange(), makeRangeFromFileLocs(), mapDiagnosticRanges(), and retrieveMacroLocation().

## ◆ isValid()

bool clang::CharSourceRange::isValid | ( |  | ) | const
| inline

Definition at line 274 of file SourceLocation.h.

References clang::SourceRange::isValid().

Referenced by findLinesForRange(), clang::FixItRewriter::HandleDiagnostic(), highlightRange(), and clang::FixItHint::isNull().

## ◆ setBegin()

void clang::CharSourceRange::setBegin | ( | SourceLocation | b | ) |
| inline

Definition at line 270 of file SourceLocation.h.

References clang::SourceRange::setBegin().

Referenced by clang::SourceManager::getExpansionRange(), and clang::Lexer::makeFileCharRange().

## ◆ setEnd()

void clang::CharSourceRange::setEnd | ( | SourceLocation | e | ) |
| inline

Definition at line 271 of file SourceLocation.h.

References clang::SourceRange::setEnd().

Referenced by clang::SourceManager::getExpansionRange(), and clang::Lexer::makeFileCharRange().

## ◆ setTokenRange()

void clang::CharSourceRange::setTokenRange | ( | bool | TR | ) |
| inline

Definition at line 272 of file SourceLocation.h.

Referenced by clang::SourceManager::getExpansionRange().

The documentation for this class was generated from the following file:

- include/clang/Basic/SourceLocation.h