LLVM 20.0.0git
|
Defines the virtual file system interface vfs::FileSystem. More...
#include "llvm/ADT/IntrusiveRefCntPtr.h"
#include "llvm/ADT/STLFunctionalExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Chrono.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/ErrorOr.h"
#include "llvm/Support/ExtensibleRTTI.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/SourceMgr.h"
#include <cassert>
#include <cstdint>
#include <ctime>
#include <memory>
#include <optional>
#include <string>
#include <system_error>
#include <utility>
#include <vector>
Go to the source code of this file.
Classes | |
class | llvm::vfs::Status |
The result of a status operation. More... | |
class | llvm::vfs::File |
Represents an open file. More... | |
class | llvm::vfs::directory_entry |
A member of a directory, yielded by a directory_iterator. More... | |
struct | llvm::vfs::detail::DirIterImpl |
An interface for virtual file systems to provide an iterator over the (non-recursive) contents of a directory. More... | |
class | llvm::vfs::directory_iterator |
An input iterator over the entries in a virtual path, similar to llvm::sys::fs::directory_iterator. More... | |
struct | llvm::vfs::detail::RecDirIterState |
Keeps state for the recursive_directory_iterator. More... | |
class | llvm::vfs::recursive_directory_iterator |
An input iterator over the recursive contents of a virtual path, similar to llvm::sys::fs::recursive_directory_iterator. More... | |
class | llvm::vfs::FileSystem |
The virtual file system interface. More... | |
class | llvm::vfs::OverlayFileSystem |
A file system that allows overlaying one AbstractFileSystem on top of another. More... | |
class | llvm::vfs::ProxyFileSystem |
By default, this delegates all calls to the underlying file system. More... | |
struct | llvm::vfs::detail::NewInMemoryNodeInfo |
class | llvm::vfs::detail::NamedNodeOrError |
class | llvm::vfs::InMemoryFileSystem |
An in-memory file system. More... | |
struct | llvm::vfs::YAMLVFSEntry |
class | llvm::vfs::RedirectingFileSystem |
A virtual file system parsed from a YAML file. More... | |
class | llvm::vfs::RedirectingFileSystem::Entry |
A single file or directory in the VFS. More... | |
class | llvm::vfs::RedirectingFileSystem::DirectoryEntry |
A directory in the vfs with explicitly specified contents. More... | |
class | llvm::vfs::RedirectingFileSystem::RemapEntry |
A file or directory in the vfs that is mapped to a file or directory in the external filesystem. More... | |
class | llvm::vfs::RedirectingFileSystem::DirectoryRemapEntry |
A directory in the vfs that maps to a directory in the external file system. More... | |
class | llvm::vfs::RedirectingFileSystem::FileEntry |
A file in the vfs that maps to a file in the external file system. More... | |
struct | llvm::vfs::RedirectingFileSystem::LookupResult |
Represents the result of a path lookup into the RedirectingFileSystem. More... | |
class | llvm::vfs::YAMLVFSWriter |
class | llvm::vfs::TracingFileSystem |
File system that tracks the number of calls to the underlying file system. More... | |
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
namespace | llvm::vfs |
namespace | llvm::vfs::detail |
Functions | |
IntrusiveRefCntPtr< FileSystem > | llvm::vfs::getRealFileSystem () |
Gets an vfs::FileSystem for the 'real' file system, as seen by the operating system. | |
std::unique_ptr< FileSystem > | llvm::vfs::createPhysicalFileSystem () |
Create an vfs::FileSystem for the 'real' file system, as seen by the operating system. | |
llvm::sys::fs::UniqueID | llvm::vfs::getNextVirtualUniqueID () |
Get a globally unique ID for a virtual file or directory. | |
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. | |
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 . | |
Defines the virtual file system interface vfs::FileSystem.
Definition in file VirtualFileSystem.h.