9 #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANGD_FS_H 10 #define LLVM_CLANG_TOOLS_EXTRA_CLANGD_FS_H 13 #include "clang/Basic/LLVM.h" 14 #include "llvm/ADT/Optional.h" 15 #include "llvm/Support/VirtualFileSystem.h" 43 void update(
const llvm::vfs::FileSystem &
FS, llvm::vfs::Status S);
46 llvm::Optional<llvm::vfs::Status>
lookup(llvm::StringRef
Path)
const;
55 IntrusiveRefCntPtr<llvm::vfs::FileSystem>
61 IntrusiveRefCntPtr<llvm::vfs::FileSystem>
62 getConsumingFS(IntrusiveRefCntPtr<llvm::vfs::FileSystem> FS)
const;
65 std::string MainFilePath;
66 llvm::StringMap<llvm::vfs::Status> StatCache;
79 #endif // LLVM_CLANG_TOOLS_EXTRA_CLANGD_FS_H void update(const llvm::vfs::FileSystem &FS, llvm::vfs::Status S)
llvm::Optional< llvm::vfs::Status > lookup(llvm::StringRef Path) const
Path is a path stored in preamble.
llvm::StringRef PathRef
A typedef to represent a ref to file path.
PreambleFileStatusCache(llvm::StringRef MainFilePath)
MainFilePath is the absolute path of the main source file this preamble corresponds to...
IntrusiveRefCntPtr< llvm::vfs::FileSystem > getConsumingFS(IntrusiveRefCntPtr< llvm::vfs::FileSystem > FS) const
Returns a VFS that uses the cache collected.
IntrusiveRefCntPtr< llvm::vfs::FileSystem > getProducingFS(IntrusiveRefCntPtr< llvm::vfs::FileSystem > FS)
Returns a VFS that collects file status.
std::string Path
A typedef to represent a file path.
Records status information for files open()ed or stat()ed during preamble build (except for the main ...
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
Path removeDots(PathRef File)
Returns a version of File that doesn't contain dots and dot dots.