clang: clang::FileEntryRef Class Reference (original) (raw)
A reference to a [FileEntry](classclang%5F1%5F1FileEntry.html "Cached information about one file (either on disk or in the virtual file system).") that includes the name of the file as it was accessed by the FileManager's client. More...
#include "[clang/Basic/FileEntry.h](FileEntry%5F8h%5Fsource.html)"
| Public Types | |
|---|---|
| using | MapEntry = llvm::StringMapEntry<llvm::ErrorOr<MapValue>> |
| Type used in the StringMap. |
| Public Member Functions | |
|---|---|
| StringRef | getName () const |
| The name of this FileEntry. | |
| StringRef | getNameAsRequested () const |
| The name of this FileEntry, as originally requested without applying any remappings for VFS 'use-external-name'. | |
| const FileEntry & | getFileEntry () const |
| void | updateFileEntryBufferSize (unsigned BufferSize) |
| DirectoryEntryRef | getDir () const |
| off_t | getSize () const |
| unsigned | getUID () const |
| const llvm::sys::fs::UniqueID & | getUniqueID () const |
| time_t | getModificationTime () const |
| bool | isNamedPipe () const |
| bool | isDeviceFile () const |
| void | closeFile () const |
| bool | isSameRef (const FileEntryRef &RHS) const |
| Check if RHS referenced the file in exactly the same way. | |
| operator const FileEntry * () const | |
| Allow FileEntryRef to degrade into 'const FileEntry*' to facilitate incremental adoption. | |
| FileEntryRef ()=delete | |
| FileEntryRef (const MapEntry &ME) | |
| const clang::FileEntryRef::MapEntry & | getMapEntry () const |
| Expose the underlying MapEntry to simplify packing in a PointerIntPair or PointerUnion and allow construction in Optional. | |
| const MapEntry & | getBaseMapEntry () const |
| Retrieve the base MapEntry after redirects. |
| Friends | |
|---|---|
| class | FileMgr::MapEntryOptionalStorage< FileEntryRef > |
| struct | llvm::DenseMapInfo< FileEntryRef > |
| bool | operator== (const FileEntryRef &LHS, const FileEntryRef &RHS) |
| Check if the underlying FileEntry is the same, intentially ignoring whether the file was referenced with the same spelling of the filename. | |
| bool | operator== (const FileEntry *LHS, const FileEntryRef &RHS) |
| bool | operator== (const FileEntryRef &LHS, const FileEntry *RHS) |
| bool | operator!= (const FileEntryRef &LHS, const FileEntryRef &RHS) |
| bool | operator!= (const FileEntry *LHS, const FileEntryRef &RHS) |
| bool | operator!= (const FileEntryRef &LHS, const FileEntry *RHS) |
| llvm::hash_code | hash_value (FileEntryRef Ref) |
| Hash code is based on the FileEntry, not the specific named reference, just like operator==. |
A reference to a [FileEntry](classclang%5F1%5F1FileEntry.html "Cached information about one file (either on disk or in the virtual file system).") that includes the name of the file as it was accessed by the FileManager's client.
Definition at line 57 of file FileEntry.h.
◆ MapEntry
| clang::FileEntryRef::FileEntryRef ( ) | delete |
|---|
◆ FileEntryRef() [2/2]
| clang::FileEntryRef::FileEntryRef ( const MapEntry & ME) | inlineexplicit |
|---|
◆ closeFile()
| void clang::FileEntryRef::closeFile ( ) const | inline |
|---|
◆ getBaseMapEntry()
| const MapEntry & clang::FileEntryRef::getBaseMapEntry ( ) const | inline |
|---|
◆ getDir()
◆ getFileEntry()
| const FileEntry & clang::FileEntryRef::getFileEntry ( ) const | inline |
|---|
Definition at line 70 of file FileEntry.h.
References clang::cast(), and getBaseMapEntry().
Referenced by closeFile(), clang::FileManager::getBufferForFile(), clang::FileManager::getBypassFile(), getFileName(), getModificationTime(), getSize(), getUID(), getUniqueID(), hash_value, isDeviceFile(), isNamedPipe(), clang::Preprocessor::LookupFile(), operator const FileEntry *(), operator==, operator==, operator==, clang::operator==(), clang::operator==(), clang::SourceManager::translateFile(), and clang::VerifyDiagnosticConsumer::UpdateParsedFileStatus().
◆ getMapEntry()
| const clang::FileEntryRef::MapEntry & clang::FileEntryRef::getMapEntry ( ) const | inline |
|---|
Expose the underlying MapEntry to simplify packing in a PointerIntPair or PointerUnion and allow construction in Optional.
Definition at line 167 of file FileEntry.h.
◆ getModificationTime()
| time_t clang::FileEntryRef::getModificationTime ( ) const | inline |
|---|
◆ getName()
| StringRef clang::FileEntryRef::getName ( ) const | inline |
|---|
The name of this FileEntry.
If a VFS uses 'use-external-name', this is the redirected name. See getRequestedName().
Definition at line 61 of file FileEntry.h.
References getBaseMapEntry().
Referenced by clang::ModuleMap::addHeader(), clang::tooling::AtomicChange::AtomicChange(), clang::FrontendAction::BeginSourceFile(), checkMSVCHeaderSearch(), clang::CompilerInstance::cloneForModuleCompile(), compareCrossTUSourceLocs(), clang::SourceManager::createFileID(), diagnoseFrameworkInclude(), clang::sema::SemaPPCallbacks::FileChanged(), clang::FileManager::getBufferForFile(), clang::FileManager::getBypassFile(), getFileName(), clang::serialization::reader::HeaderFileInfoTrait::GetInternalKey(), clang::FileManager::GetUniqueIDMapping(), clang::ModuleMap::isHeaderUnavailableInModule(), clang::CodeGen::CodeGenModule::isInNoSanitizeList(), clang::HeaderSearch::LookupSubframeworkHeader(), clang::Rewriter::overwriteChangedFiles(), printLoc(), clang::index::SerializablePathCollection::tryStoreFilePath(), and clang::FixItRewriter::WriteFixedFiles().
◆ getNameAsRequested()
| StringRef clang::FileEntryRef::getNameAsRequested ( ) const | inline |
|---|
◆ getSize()
| off_t clang::FileEntryRef::getSize ( ) const | inline |
|---|
◆ getUID()
| unsigned clang::FileEntryRef::getUID ( ) const | inline |
|---|
◆ getUniqueID()
| const llvm::sys::fs::UniqueID & clang::FileEntryRef::getUniqueID ( ) const | inline |
|---|
◆ isDeviceFile()
| bool clang::FileEntryRef::isDeviceFile ( ) const | inline |
|---|
◆ isNamedPipe()
| bool clang::FileEntryRef::isNamedPipe ( ) const | inline |
|---|
◆ isSameRef()
◆ operator const FileEntry *()
| clang::FileEntryRef::operator const FileEntry * ( ) const | inline |
|---|
Allow FileEntryRef to degrade into 'const FileEntry*' to facilitate incremental adoption.
The goal is to avoid code churn due to dances like the following:
lvalue = rvalue;
lvalue = &rvalue.getFileEntry();
lvalue = rvalue;
FIXME: Once FileEntryRef is "everywhere" and FileEntry::LastRef and FileEntry::getName have been deleted, delete this implicit conversion.
Definition at line 157 of file FileEntry.h.
References getFileEntry().
◆ updateFileEntryBufferSize()
| void clang::FileEntryRef::updateFileEntryBufferSize ( unsigned BufferSize) | inline |
|---|
◆ FileMgr::MapEntryOptionalStorage< FileEntryRef >
◆ hash_value
◆ llvm::DenseMapInfo< FileEntryRef >
◆ operator!= [1/3]
◆ operator!= [2/3]
◆ operator!= [3/3]
◆ operator== [1/3]
◆ operator== [2/3]
◆ operator== [3/3]
Check if the underlying FileEntry is the same, intentially ignoring whether the file was referenced with the same spelling of the filename.
Definition at line 90 of file FileEntry.h.
References FileEntryRef(), and getFileEntry().
The documentation for this class was generated from the following file:
- include/clang/Basic/FileEntry.h