LLVM 20.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... | |
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
namespace | llvm::vfs |
namespace | llvm::vfs::detail |
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 } |
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) |
|
static |
Definition at line 2377 of file VirtualFileSystem.cpp.
References llvm::vfs::Status::copyWithNewName(), and llvm::vfs::Status::ExposesExternalVFSPath.
Referenced by llvm::vfs::RedirectingFileSystem::openFileForRead().
|
static |
Definition at line 2672 of file VirtualFileSystem.cpp.
References llvm::sys::path::append(), assert(), llvm::SmallString< InternalLen >::c_str(), llvm::vfs::RedirectingFileSystem::EK_Directory, llvm::vfs::RedirectingFileSystem::EK_DirectoryRemap, llvm::vfs::RedirectingFileSystem::EK_File, llvm::vfs::RedirectingFileSystem::Entry::getKind(), getVFSEntries(), and llvm::make_range().
Referenced by 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().