|
LLVM 22.0.0git
|
#include "llvm/Support/VirtualFileSystem.h"#include "llvm/ADT/ArrayRef.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/IntrusiveRefCntPtr.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/SmallString.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/StringRef.h"#include "llvm/ADT/StringSet.h"#include "llvm/ADT/Twine.h"#include "llvm/ADT/iterator_range.h"#include "llvm/Config/llvm-config.h"#include "llvm/Support/Casting.h"#include "llvm/Support/Chrono.h"#include "llvm/Support/Compiler.h"#include "llvm/Support/Debug.h"#include "llvm/Support/Errc.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/ErrorOr.h"#include "llvm/Support/FileSystem.h"#include "llvm/Support/FileSystem/UniqueID.h"#include "llvm/Support/MemoryBuffer.h"#include "llvm/Support/Path.h"#include "llvm/Support/SMLoc.h"#include "llvm/Support/SourceMgr.h"#include "llvm/Support/YAMLParser.h"#include "llvm/Support/raw_ostream.h"#include <atomic>#include <cassert>#include <cstdint>#include <iterator>#include <limits>#include <map>#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::detail::InMemoryNode |
| The in memory file system is a tree of Nodes. More... | |
| class | llvm::vfs::detail::InMemoryFile |
| class | llvm::vfs::detail::InMemoryDirectory |
| class | llvm::vfs::InMemoryFileSystem::DirIterator |
| Adaptor from InMemoryDir::iterator to directory_iterator. More... | |
| class | llvm::vfs::RedirectingFSDirIterImpl |
Directory iterator implementation for RedirectingFileSystem's directory entries. More... | |
| class | llvm::vfs::RedirectingFileSystemParser |
| A helper class to hold the common YAML parsing state. More... | |
| class | file_status |
| Represents the result of a call to sys::fs::status(). More... | |
| class | UniqueID |
Namespaces | |
| namespace | llvm |
| This is an optimization pass for GlobalISel generic memory operations. | |
| namespace | llvm::vfs |
| namespace | llvm::vfs::detail |
Typedefs | |
| using | file_t |
Enumerations | |
| enum | llvm::vfs::detail::InMemoryNodeKind { llvm::vfs::detail::IME_File , llvm::vfs::detail::IME_Directory , llvm::vfs::detail::IME_HardLink , llvm::vfs::detail::IME_SymbolicLink } |
| enum class | file_type |
| An enumeration for the file system's view of the type. More... | |
| enum | perms |
Functions | |
| static bool | isTraversalComponent (StringRef Component) |
| static bool | pathHasTraversal (StringRef Path) |
| static sys::fs::UniqueID | llvm::vfs::getUniqueID (hash_code Hash) |
| static sys::fs::UniqueID | llvm::vfs::getFileID (sys::fs::UniqueID Parent, llvm::StringRef Name, llvm::StringRef Contents) |
| static sys::fs::UniqueID | llvm::vfs::getDirectoryID (sys::fs::UniqueID Parent, llvm::StringRef Name) |
| static Status | getRedirectedFileStatus (const Twine &OriginalPath, bool UseExternalNames, Status ExternalStatus) |
| static void | getVFSEntries (RedirectingFileSystem::Entry *SrcE, SmallVectorImpl< StringRef > &Path, SmallVectorImpl< YAMLVFSEntry > &Entries) |
Variables | |
| LLVM_ABI const file_t | kInvalidFile |
| using llvm::sys::fs::file_t |
Definition at line 56 of file FileSystem.h.
|
strong |
An enumeration for the file system's view of the type.
Definition at line 62 of file FileSystem.h.
| enum llvm::sys::fs::perms |
Definition at line 82 of file FileSystem.h.
|
static |
Definition at line 2384 of file VirtualFileSystem.cpp.
References llvm::vfs::Status::copyWithNewName(), and llvm::vfs::Status::ExposesExternalVFSPath.
Referenced by llvm::vfs::RedirectingFileSystem::openFileForRead().
|
static |
Definition at line 2679 of file VirtualFileSystem.cpp.
References llvm::sys::path::append(), assert(), llvm::SmallString< InternalLen >::c_str(), llvm::dyn_cast(), llvm::vfs::RedirectingFileSystem::EK_Directory, llvm::vfs::RedirectingFileSystem::EK_DirectoryRemap, llvm::vfs::RedirectingFileSystem::EK_File, llvm::vfs::RedirectingFileSystem::Entry::getKind(), getVFSEntries(), llvm::make_range(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by llvm::vfs::collectVFSEntries(), and getVFSEntries().
Definition at line 169 of file VirtualFileSystem.cpp.
Referenced by pathHasTraversal().
Definition at line 173 of file VirtualFileSystem.cpp.
References llvm::sys::path::begin(), llvm::sys::path::end(), isTraversalComponent(), and llvm::make_range().