LLVM  8.0.1
Classes | Namespaces | Enumerations | Functions
VirtualFileSystem.cpp File Reference
#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>
Include dependency graph for VirtualFileSystem.cpp:

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)
 

Function Documentation

◆ getRedirectedFileStatus()

static Status getRedirectedFileStatus ( const Twine Path,
bool  UseExternalNames,
Status  ExternalStatus 
)
static

◆ getVFSEntries()

static void getVFSEntries ( RedirectingFileSystem::Entry SrcE,
SmallVectorImpl< StringRef > &  Path,
SmallVectorImpl< YAMLVFSEntry > &  Entries 
)
static

◆ isTraversalComponent()

static bool isTraversalComponent ( StringRef  Component)
static

Definition at line 150 of file VirtualFileSystem.cpp.

References llvm::StringRef::equals().

Referenced by pathHasTraversal().

◆ pathHasTraversal()

static bool pathHasTraversal ( StringRef  Path)
static