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

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 52 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 142 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 148 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 156 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 64 of file Tokens.h.

Referenced by clang::syntax::operator<<().

◆ contains()

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

Check if Offset is inside the range.

Definition at line 71 of file Tokens.h.

References Offset.

◆ endOffset()

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

End offset (exclusive) in the corresponding file.

Definition at line 66 of file Tokens.h.

Referenced by clang::syntax::operator<<().

◆ file()

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

Definition at line 62 of file Tokens.h.

References clang::File.

Referenced by clang::syntax::operator<<().

◆ length()

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

Definition at line 68 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 176 of file Tokens.cpp.

References Begin, length(), SM, and Text.

◆ 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 222 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 75 of file Tokens.h.

References Offset.

Friends And Related Function Documentation

◆ operator!=

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

Definition at line 89 of file Tokens.h.

◆ operator==

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

Definition at line 86 of file Tokens.h.


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