LLVM
8.0.1
|
#include "llvm/Support/VirtualFileSystem.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/IntrusiveRefCntPtr.h"
#include "llvm/ADT/None.h"
#include "llvm/ADT/Optional.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/MemoryBuffer.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/SMLoc.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/Support/YAMLParser.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <atomic>
#include <cassert>
#include <cstdint>
#include <iterator>
#include <limits>
#include <map>
#include <memory>
#include <mutex>
#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::VFSFromYamlDirIterImpl |
class | llvm::vfs::RedirectingFileSystemParser |
A helper class to hold the common YAML parsing state. More... | |
Namespaces | |
llvm | |
This class represents lattice values for constants. | |
llvm::vfs | |
llvm::vfs::detail | |
Enumerations | |
enum | llvm::vfs::detail::InMemoryNodeKind { llvm::vfs::detail::IME_File, llvm::vfs::detail::IME_Directory, llvm::vfs::detail::IME_HardLink } |
Functions | |
static bool | isTraversalComponent (StringRef Component) |
static bool | pathHasTraversal (StringRef Path) |
static ErrorOr< const detail::InMemoryNode * > | llvm::vfs::lookupInMemoryNode (const InMemoryFileSystem &FS, detail::InMemoryDirectory *Dir, const Twine &P) |
static Status | getRedirectedFileStatus (const Twine &Path, bool UseExternalNames, Status ExternalStatus) |
static void | getVFSEntries (RedirectingFileSystem::Entry *SrcE, SmallVectorImpl< StringRef > &Path, SmallVectorImpl< YAMLVFSEntry > &Entries) |
|
static |
Definition at line 1632 of file VirtualFileSystem.cpp.
References assert(), llvm::vfs::Status::copyWithNewName(), E, F(), llvm::vfs::Status::IsVFSMapped, and llvm::Twine::str().
Referenced by llvm::vfs::RedirectingFileSystem::openFileForRead().
|
static |
Definition at line 1756 of file VirtualFileSystem.cpp.
References llvm::sys::path::append(), assert(), llvm::SmallString< InternalLen >::c_str(), llvm::vfs::collectVFSFromYAML(), llvm::vfs::RedirectingFileSystem::create(), llvm::dyn_cast(), llvm::vfs::RedirectingFileSystem::EK_Directory, llvm::vfs::RedirectingFileSystem::EK_File, llvm::vfs::RedirectingFileSystem::Entry::getKind(), Kind, llvm::make_range(), llvm::SmallVectorTemplateBase< T, bool >::pop_back(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::SmallVectorTemplateBase< T >::push_back().
Definition at line 150 of file VirtualFileSystem.cpp.
References llvm::StringRef::equals().
Referenced by pathHasTraversal().
Definition at line 154 of file VirtualFileSystem.cpp.
References assert(), llvm::sys::path::begin(), llvm::vfs::Status::copyWithNewName(), llvm::sys::fs::current_path(), llvm::StringRef::empty(), llvm::sys::path::end(), getName(), llvm::vfs::Status::getName(), llvm::MemoryBuffer::getOpenFile(), llvm::sys::fs::is_local(), isTraversalComponent(), llvm::AMDGPU::HSAMD::Kernel::Arg::Key::IsVolatile, llvm::Lock, llvm::make_range(), llvm::sys::fs::OF_None, llvm::sys::fs::openFileForRead(), llvm::sys::fs::real_path(), llvm::sys::Process::SafelyCloseFileDescriptor(), llvm::sys::fs::set_current_path(), llvm::sys::fs::status(), llvm::sys::fs::status_error, llvm::StringRef::str(), llvm::SmallString< InternalLen >::str(), and llvm::Twine::str().
Referenced by llvm::vfs::YAMLVFSWriter::addFileMapping().