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/StringMap.h"
15#include "llvm/Support/VirtualFileSystem.h"
44 void update(
const llvm::vfs::FileSystem &FS, llvm::vfs::Status S,
45 llvm::StringRef
File);
48 std::optional<llvm::vfs::Status>
lookup(llvm::StringRef
Path)
const;
57 IntrusiveRefCntPtr<llvm::vfs::FileSystem>
63 IntrusiveRefCntPtr<llvm::vfs::FileSystem>
64 getConsumingFS(IntrusiveRefCntPtr<llvm::vfs::FileSystem> FS)
const;
67 std::string MainFilePath;
68 llvm::StringMap<llvm::vfs::Status> StatCache;
Records status information for files open()ed or stat()ed during preamble build (except for the main ...
IntrusiveRefCntPtr< llvm::vfs::FileSystem > getProducingFS(IntrusiveRefCntPtr< llvm::vfs::FileSystem > FS)
Returns a VFS that collects file status.
void update(const llvm::vfs::FileSystem &FS, llvm::vfs::Status S, llvm::StringRef File)
std::optional< llvm::vfs::Status > lookup(llvm::StringRef Path) const
Path is a path stored in preamble.
IntrusiveRefCntPtr< llvm::vfs::FileSystem > getConsumingFS(IntrusiveRefCntPtr< llvm::vfs::FileSystem > FS) const
Returns a VFS that uses the cache collected.
std::string Path
A typedef to represent a file path.
Path removeDots(PathRef File)
Returns a version of File that doesn't contain dots and dot dots.
llvm::StringRef PathRef
A typedef to represent a ref to file path.
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//