clang 22.0.0git
clang::syntax::FileRange Struct Reference

A half-open character range inside a particular file, the start offset is included and the end offset is excluded from the range. More...

#include "clang/Tooling/Syntax/Tokens.h"

Public Member Functions

 FileRange (FileID File, unsigned BeginOffset, unsigned EndOffset)
 EXPECTS: File.isValid() && Begin <= End.
 FileRange (const SourceManager &SM, SourceLocation BeginLoc, unsigned Length)
 EXPECTS: BeginLoc.isValid() && BeginLoc.isFileID().
 FileRange (const SourceManager &SM, SourceLocation BeginLoc, SourceLocation EndLoc)
 EXPECTS: BeginLoc.isValid() && BeginLoc.isFileID(), Begin <= End and files are the same.
FileID file () const
unsigned beginOffset () const
 Start is a start offset (inclusive) in the corresponding file.
unsigned endOffset () const
 End offset (exclusive) in the corresponding file.
unsigned length () const
bool contains (unsigned Offset) const
 Check if Offset is inside the range.
bool touches (unsigned Offset) const
 Check Offset is inside the range or equal to its endpoint.
llvm::StringRef text (const SourceManager &SM) const
 Gets the substring that this FileRange refers to.
CharSourceRange toCharRange (const SourceManager &SM) const
 Convert to the clang range.

Friends

bool operator== (const FileRange &L, const FileRange &R)
bool operator!= (const FileRange &L, const FileRange &R)

Detailed Description

A half-open character range inside a particular file, the start offset is included and the end offset is excluded from the range.

Definition at line 50 of file Tokens.h.

Constructor & Destructor Documentation

◆ FileRange() [1/3]

FileRange::FileRange ( FileID File,
unsigned BeginOffset,
unsigned EndOffset )

EXPECTS: File.isValid() && Begin <= End.

Definition at line 182 of file Tokens.cpp.

Referenced by operator!=, and operator==.

◆ FileRange() [2/3]

FileRange::FileRange ( const SourceManager & SM,
SourceLocation BeginLoc,
unsigned Length )

EXPECTS: BeginLoc.isValid() && BeginLoc.isFileID().

Definition at line 188 of file Tokens.cpp.

References clang::SourceLocation::isFileID(), clang::SourceLocation::isValid(), and SM.

◆ FileRange() [3/3]

FileRange::FileRange ( const SourceManager & SM,
SourceLocation BeginLoc,
SourceLocation EndLoc )

EXPECTS: BeginLoc.isValid() && BeginLoc.isFileID(), Begin <= End and files are the same.

Definition at line 196 of file Tokens.cpp.

References clang::SourceLocation::isFileID(), clang::SourceLocation::isValid(), and SM.

Member Function Documentation

◆ beginOffset()

unsigned clang::syntax::FileRange::beginOffset ( ) const
inline

Start is a start offset (inclusive) in the corresponding file.

Definition at line 62 of file Tokens.h.

Referenced by clang::syntax::operator<<(), and clang::syntax::tokenize().

◆ contains()

bool clang::syntax::FileRange::contains ( unsigned Offset) const
inline

Check if Offset is inside the range.

Definition at line 69 of file Tokens.h.

◆ endOffset()

unsigned clang::syntax::FileRange::endOffset ( ) const
inline

End offset (exclusive) in the corresponding file.

Definition at line 64 of file Tokens.h.

Referenced by clang::syntax::operator<<(), and clang::syntax::tokenize().

◆ file()

FileID clang::syntax::FileRange::file ( ) const
inline

Definition at line 60 of file Tokens.h.

Referenced by clang::syntax::operator<<(), and clang::syntax::tokenize().

◆ length()

unsigned clang::syntax::FileRange::length ( ) const
inline

Definition at line 66 of file Tokens.h.

Referenced by text().

◆ text()

llvm::StringRef FileRange::text ( const SourceManager & SM) const

Gets the substring that this FileRange refers to.

Definition at line 216 of file Tokens.cpp.

References clang::Invalid, length(), SM, and clang::Text.

Referenced by clang::syntax::computeReplacements().

◆ toCharRange()

CharSourceRange FileRange::toCharRange ( const SourceManager & SM) const

Convert to the clang range.

The returned range is always a char range, never a token range.

Definition at line 262 of file Tokens.cpp.

References SM.

◆ touches()

bool clang::syntax::FileRange::touches ( unsigned Offset) const
inline

Check Offset is inside the range or equal to its endpoint.

Definition at line 73 of file Tokens.h.

◆ operator!=

bool operator!= ( const FileRange & L,
const FileRange & R )
friend

Definition at line 87 of file Tokens.h.

References FileRange().

◆ operator==

bool operator== ( const FileRange & L,
const FileRange & R )
friend

Definition at line 84 of file Tokens.h.

References FileRange().


The documentation for this struct was generated from the following files: