LLVM 18.0.0git
|
Namespaces | |
namespace | detail |
Classes | |
class | directory_entry |
A member of a directory, yielded by a directory_iterator. More... | |
class | directory_iterator |
An input iterator over the entries in a virtual path, similar to llvm::sys::fs::directory_iterator. More... | |
class | File |
Represents an open file. More... | |
class | FileSystem |
The virtual file system interface. More... | |
class | InMemoryFileSystem |
An in-memory file system. More... | |
class | OverlayFileSystem |
A file system that allows overlaying one AbstractFileSystem on top of another. More... | |
class | ProxyFileSystem |
By default, this delegates all calls to the underlying file system. More... | |
class | recursive_directory_iterator |
An input iterator over the recursive contents of a virtual path, similar to llvm::sys::fs::recursive_directory_iterator. More... | |
class | RedirectingFileSystem |
A virtual file system parsed from a YAML file. More... | |
class | RedirectingFileSystemParser |
A helper class to hold the common YAML parsing state. More... | |
class | RedirectingFSDirIterImpl |
Directory iterator implementation for RedirectingFileSystem's directory entries. More... | |
class | Status |
The result of a status operation. More... | |
struct | YAMLVFSEntry |
class | YAMLVFSWriter |
Functions | |
IntrusiveRefCntPtr< FileSystem > | getRealFileSystem () |
Gets an vfs::FileSystem for the 'real' file system, as seen by the operating system. | |
std::unique_ptr< FileSystem > | createPhysicalFileSystem () |
Create an vfs::FileSystem for the 'real' file system, as seen by the operating system. | |
llvm::sys::fs::UniqueID | getNextVirtualUniqueID () |
Get a globally unique ID for a virtual file or directory. | |
std::unique_ptr< FileSystem > | getVFSFromYAML (std::unique_ptr< llvm::MemoryBuffer > Buffer, llvm::SourceMgr::DiagHandlerTy DiagHandler, StringRef YAMLFilePath, void *DiagContext=nullptr, IntrusiveRefCntPtr< FileSystem > ExternalFS=getRealFileSystem()) |
Gets a FileSystem for a virtual file system described in YAML format. | |
void | collectVFSFromYAML (std::unique_ptr< llvm::MemoryBuffer > Buffer, llvm::SourceMgr::DiagHandlerTy DiagHandler, StringRef YAMLFilePath, SmallVectorImpl< YAMLVFSEntry > &CollectedEntries, void *DiagContext=nullptr, IntrusiveRefCntPtr< FileSystem > ExternalFS=getRealFileSystem()) |
Collect all pairs of <virtual path, real path> entries from the YAMLFilePath . | |
static sys::fs::UniqueID | getUniqueID (hash_code Hash) |
static sys::fs::UniqueID | getFileID (sys::fs::UniqueID Parent, llvm::StringRef Name, llvm::StringRef Contents) |
static sys::fs::UniqueID | getDirectoryID (sys::fs::UniqueID Parent, llvm::StringRef Name) |
void llvm::vfs::collectVFSFromYAML | ( | std::unique_ptr< llvm::MemoryBuffer > | Buffer, |
llvm::SourceMgr::DiagHandlerTy | DiagHandler, | ||
StringRef | YAMLFilePath, | ||
SmallVectorImpl< YAMLVFSEntry > & | CollectedEntries, | ||
void * | DiagContext = nullptr , |
||
IntrusiveRefCntPtr< FileSystem > | ExternalFS = getRealFileSystem() |
||
) |
Collect all pairs of <virtual path, real path> entries from the YAMLFilePath
.
This is used by the module dependency collector to forward the entries into the reproducer output VFS YAML file.
std::unique_ptr< FileSystem > llvm::vfs::createPhysicalFileSystem | ( | ) |
Create an vfs::FileSystem
for the 'real' file system, as seen by the operating system.
It has its own working directory, independent of (but initially equal to) that of the process.
Definition at line 383 of file VirtualFileSystem.cpp.
|
static |
Definition at line 787 of file VirtualFileSystem.cpp.
References llvm::sys::fs::UniqueID::getFile(), getUniqueID(), llvm::hash_combine(), and Name.
Referenced by llvm::vfs::detail::NewInMemoryNodeInfo::makeStatus().
|
static |
Definition at line 782 of file VirtualFileSystem.cpp.
References llvm::sys::fs::UniqueID::getFile(), getUniqueID(), llvm::hash_combine(), and Name.
Referenced by llvm::vfs::detail::NewInMemoryNodeInfo::makeStatus().
UniqueID llvm::vfs::getNextVirtualUniqueID | ( | ) |
Get a globally unique ID for a virtual file or directory.
Definition at line 2635 of file VirtualFileSystem.cpp.
Referenced by llvm::vfs::RedirectingFileSystemParser::lookupOrCreateEntry().
IntrusiveRefCntPtr< FileSystem > llvm::vfs::getRealFileSystem | ( | ) |
Gets an vfs::FileSystem
for the 'real' file system, as seen by the operating system.
The working directory is linked to the process's working directory. (This is usually thread-hostile).
Definition at line 378 of file VirtualFileSystem.cpp.
Referenced by llvm::OverlapStats::accumulateCounts(), llvm::FileCollectorBase::addDirectory(), llvm::MemProfUsePass::MemProfUsePass(), llvm::MIRProfileLoaderPass::MIRProfileLoaderPass(), llvm::PGOInstrumentationUse::PGOInstrumentationUse(), llvm::SanitizerBinaryMetadataPass::run(), llvm::SampleProfileLoaderPass::run(), runNewPMPasses(), and llvm::SanitizerCoveragePass::SanitizerCoveragePass().
|
static |
Definition at line 778 of file VirtualFileSystem.cpp.
Referenced by getDirectoryID(), and getFileID().
std::unique_ptr< FileSystem > llvm::vfs::getVFSFromYAML | ( | std::unique_ptr< llvm::MemoryBuffer > | Buffer, |
llvm::SourceMgr::DiagHandlerTy | DiagHandler, | ||
StringRef | YAMLFilePath, | ||
void * | DiagContext = nullptr , |
||
IntrusiveRefCntPtr< FileSystem > | ExternalFS = getRealFileSystem() |
||
) |
Gets a FileSystem
for a virtual file system described in YAML format.