clang  6.0.0svn
Classes | Namespaces | Enumerations | Functions
VirtualFileSystem.cpp File Reference
#include "clang/Basic/VirtualFileSystem.h"
#include "clang/Basic/FileManager.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/YAMLParser.h"
#include <atomic>
#include <memory>
#include <utility>
Include dependency graph for VirtualFileSystem.cpp:

Go to the source code of this file.

Classes

class  clang::vfs::detail::InMemoryNode
 The in memory file system is a tree of Nodes. More...
 
class  clang::vfs::detail::InMemoryDirectory
 

Namespaces

 clang
 Dataflow Directional Tag Classes.
 
 clang::vfs
 
 clang::vfs::detail
 

Enumerations

enum  clang::vfs::detail::InMemoryNodeKind { clang::vfs::detail::IME_File, clang::vfs::detail::IME_Directory }
 
enum  EntryKind
 

Functions

static bool isTraversalComponent (StringRef Component)
 
static bool pathHasTraversal (StringRef Path)
 
static ErrorOr< detail::InMemoryNode * > clang::vfs::lookupInMemoryNode (const InMemoryFileSystem &FS, detail::InMemoryDirectory *Dir, const Twine &P)
 
static Status getRedirectedFileStatus (const Twine &Path, bool UseExternalNames, Status ExternalStatus)
 
static void getVFSEntries (Entry *SrcE, SmallVectorImpl< StringRef > &Path, SmallVectorImpl< YAMLVFSEntry > &Entries)
 

Enumeration Type Documentation

◆ EntryKind

enum EntryKind

Definition at line 711 of file VirtualFileSystem.cpp.

Function Documentation

◆ getRedirectedFileStatus()

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

Definition at line 1528 of file VirtualFileSystem.cpp.

◆ getVFSEntries()

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

◆ isTraversalComponent()

static bool isTraversalComponent ( StringRef  Component)
static

Definition at line 115 of file VirtualFileSystem.cpp.

Referenced by pathHasTraversal().

◆ pathHasTraversal()

static bool pathHasTraversal ( StringRef  Path)
static

Definition at line 119 of file VirtualFileSystem.cpp.

References isTraversalComponent().

Referenced by clang::vfs::YAMLVFSWriter::addFileMapping().