clang 20.0.0git
Public Member Functions | Friends | List of all members
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 184 of file Tokens.cpp.

References clang::File.

◆ FileRange() [2/3]

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

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

Definition at line 190 of file Tokens.cpp.

References Begin, 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 198 of file Tokens.cpp.

References Begin, 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.

References clang::File.

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 218 of file Tokens.cpp.

References Begin, clang::Invalid, length(), SM, and 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 264 of file Tokens.cpp.

References Begin, and 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.

Friends And Related Function Documentation

◆ operator!=

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

Definition at line 87 of file Tokens.h.

◆ operator==

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

Definition at line 84 of file Tokens.h.


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