clang 20.0.0git
|
A SourceLocation and its associated SourceManager. More...
#include "clang/Basic/SourceLocation.h"
Classes | |
struct | BeforeThanCompare |
Comparison function class, useful for sorting FullSourceLocs. More... | |
Public Member Functions | |
FullSourceLoc ()=default | |
Creates a FullSourceLoc where isValid() returns false . | |
FullSourceLoc (SourceLocation Loc, const SourceManager &SM) | |
bool | hasManager () const |
Checks whether the SourceManager is present. | |
const SourceManager & | getManager () const |
FileID | getFileID () const |
FullSourceLoc | getExpansionLoc () const |
FullSourceLoc | getSpellingLoc () const |
FullSourceLoc | getFileLoc () const |
PresumedLoc | getPresumedLoc (bool UseLineDirectives=true) const |
bool | isMacroArgExpansion (FullSourceLoc *StartLoc=nullptr) const |
FullSourceLoc | getImmediateMacroCallerLoc () const |
std::pair< FullSourceLoc, StringRef > | getModuleImportLoc () const |
unsigned | getFileOffset () const |
unsigned | getExpansionLineNumber (bool *Invalid=nullptr) const |
unsigned | getExpansionColumnNumber (bool *Invalid=nullptr) const |
std::pair< FileID, unsigned > | getDecomposedExpansionLoc () const |
Decompose the underlying SourceLocation into a raw (FileID + Offset) pair, after walking through all expansion records. | |
unsigned | getSpellingLineNumber (bool *Invalid=nullptr) const |
unsigned | getSpellingColumnNumber (bool *Invalid=nullptr) const |
const char * | getCharacterData (bool *Invalid=nullptr) const |
unsigned | getLineNumber (bool *Invalid=nullptr) const |
unsigned | getColumnNumber (bool *Invalid=nullptr) const |
const FileEntry * | getFileEntry () const |
OptionalFileEntryRef | getFileEntryRef () const |
StringRef | getBufferData (bool *Invalid=nullptr) const |
Return a StringRef to the source buffer data for the specified FileID. | |
std::pair< FileID, unsigned > | getDecomposedLoc () const |
Decompose the specified location into a raw FileID + Offset pair. | |
bool | isInSystemHeader () const |
bool | isBeforeInTranslationUnitThan (SourceLocation Loc) const |
Determines the order of 2 source locations in the translation unit. | |
bool | isBeforeInTranslationUnitThan (FullSourceLoc Loc) const |
Determines the order of 2 source locations in the translation unit. | |
void | dump () const |
Prints information about this FullSourceLoc to stderr. | |
![]() | |
bool | isFileID () const |
bool | isMacroID () const |
bool | isValid () const |
Return true if this is a valid SourceLocation object. | |
bool | isInvalid () const |
SourceLocation | getLocWithOffset (IntTy Offset) const |
Return a source location with the specified offset from this SourceLocation. | |
UIntTy | getRawEncoding () const |
When a SourceLocation itself cannot be used, this returns an (opaque) 32-bit integer encoding for it. | |
void * | getPtrEncoding () const |
When a SourceLocation itself cannot be used, this returns an (opaque) pointer encoding for it. | |
unsigned | getHashValue () const |
void | print (raw_ostream &OS, const SourceManager &SM) const |
std::string | printToString (const SourceManager &SM) const |
void | dump (const SourceManager &SM) const |
Friends | |
bool | operator== (const FullSourceLoc &LHS, const FullSourceLoc &RHS) |
bool | operator!= (const FullSourceLoc &LHS, const FullSourceLoc &RHS) |
Additional Inherited Members | |
![]() | |
using | UIntTy = uint32_t |
using | IntTy = int32_t |
![]() | |
static SourceLocation | getFromRawEncoding (UIntTy Encoding) |
Turn a raw encoding of a SourceLocation object into a real SourceLocation. | |
static SourceLocation | getFromPtrEncoding (const void *Encoding) |
Turn a pointer encoding of a SourceLocation object back into a real SourceLocation. | |
static bool | isPairOfFileLocations (SourceLocation Start, SourceLocation End) |
A SourceLocation and its associated SourceManager.
This is useful for argument passing to functions that expect both objects.
This class does not guarantee the presence of either the SourceManager or a valid SourceLocation. Clients should use isValid()
and hasManager()
before calling the member functions.
Definition at line 369 of file SourceLocation.h.
|
default |
Creates a FullSourceLoc where isValid() returns false
.
Referenced by getExpansionLoc(), getFileLoc(), getImmediateMacroCallerLoc(), getModuleImportLoc(), and getSpellingLoc().
|
inlineexplicit |
Definition at line 376 of file SourceLocation.h.
LLVM_DUMP_METHOD void FullSourceLoc::dump | ( | ) | const |
Prints information about this FullSourceLoc to stderr.
This is useful for debugging.
Definition at line 265 of file SourceLocation.cpp.
References clang::SourceLocation::dump().
StringRef FullSourceLoc::getBufferData | ( | bool * | Invalid = nullptr | ) | const |
Return a StringRef to the source buffer data for the specified FileID.
Definition at line 274 of file SourceLocation.cpp.
References clang::SourceManager::getBufferData(), clang::SourceManager::getFileID(), clang::Invalid, and clang::SourceLocation::isValid().
Referenced by EmitAlphaCounter().
const char * FullSourceLoc::getCharacterData | ( | bool * | Invalid = nullptr | ) | const |
Definition at line 269 of file SourceLocation.cpp.
References clang::SourceManager::getCharacterData(), clang::Invalid, and clang::SourceLocation::isValid().
Definition at line 220 of file SourceLocation.cpp.
References clang::SourceManager::getColumnNumber(), getFileID(), getFileOffset(), clang::Invalid, and clang::SourceLocation::isValid().
Referenced by clang::TextDiagnostic::emitDiagnosticLoc().
Decompose the underlying SourceLocation
into a raw (FileID + Offset) pair, after walking through all expansion records.
Definition at line 169 of file SourceLocation.cpp.
References clang::SourceManager::getDecomposedExpansionLoc().
std::pair< FileID, |