forked from OSchip/llvm-project
[clangd] Make FSProvider const-correct. NFC
llvm-svn: 344118
This commit is contained in:
parent
153b53adfa
commit
26fac469d2
|
@ -97,8 +97,8 @@ ClangdServer::Options ClangdServer::optsForTest() {
|
|||
return Opts;
|
||||
}
|
||||
|
||||
ClangdServer::ClangdServer(GlobalCompilationDatabase &CDB,
|
||||
FileSystemProvider &FSProvider,
|
||||
ClangdServer::ClangdServer(const GlobalCompilationDatabase &CDB,
|
||||
const FileSystemProvider &FSProvider,
|
||||
DiagnosticsConsumer &DiagConsumer,
|
||||
const Options &Opts)
|
||||
: CDB(CDB), DiagConsumer(DiagConsumer), FSProvider(FSProvider),
|
||||
|
|
|
@ -109,7 +109,8 @@ public:
|
|||
/// \p DiagConsumer. Note that a callback to \p DiagConsumer happens on a
|
||||
/// worker thread. Therefore, instances of \p DiagConsumer must properly
|
||||
/// synchronize access to shared state.
|
||||
ClangdServer(GlobalCompilationDatabase &CDB, FileSystemProvider &FSProvider,
|
||||
ClangdServer(const GlobalCompilationDatabase &CDB,
|
||||
const FileSystemProvider &FSProvider,
|
||||
DiagnosticsConsumer &DiagConsumer, const Options &Opts);
|
||||
|
||||
/// Set the root path of the workspace.
|
||||
|
@ -227,9 +228,9 @@ private:
|
|||
|
||||
tooling::CompileCommand getCompileCommand(PathRef File);
|
||||
|
||||
GlobalCompilationDatabase &CDB;
|
||||
const GlobalCompilationDatabase &CDB;
|
||||
DiagnosticsConsumer &DiagConsumer;
|
||||
FileSystemProvider &FSProvider;
|
||||
const FileSystemProvider &FSProvider;
|
||||
|
||||
/// Used to synchronize diagnostic responses for added and removed files.
|
||||
llvm::StringMap<DocVersion> InternalVersion;
|
||||
|
|
|
@ -25,13 +25,13 @@ public:
|
|||
/// Context::current() will be the context passed to the clang entrypoint,
|
||||
/// such as addDocument(), and will also be propagated to result callbacks.
|
||||
/// Embedders may use this to isolate filesystem accesses.
|
||||
virtual IntrusiveRefCntPtr<vfs::FileSystem> getFileSystem() = 0;
|
||||
virtual IntrusiveRefCntPtr<vfs::FileSystem> getFileSystem() const = 0;
|
||||
};
|
||||
|
||||
class RealFileSystemProvider : public FileSystemProvider {
|
||||
public:
|
||||
// FIXME: returns the single real FS instance, which is not threadsafe.
|
||||
IntrusiveRefCntPtr<vfs::FileSystem> getFileSystem() override {
|
||||
IntrusiveRefCntPtr<vfs::FileSystem> getFileSystem() const override {
|
||||
return vfs::getRealFileSystem();
|
||||
}
|
||||
};
|
||||
|
|
|
@ -264,11 +264,11 @@ int b = a;
|
|||
TEST_F(ClangdVFSTest, PropagatesContexts) {
|
||||
static Key<int> Secret;
|
||||
struct FSProvider : public FileSystemProvider {
|
||||
IntrusiveRefCntPtr<vfs::FileSystem> getFileSystem() override {
|
||||
IntrusiveRefCntPtr<vfs::FileSystem> getFileSystem() const override {
|
||||
Got = Context::current().getExisting(Secret);
|
||||
return buildTestFS({});
|
||||
}
|
||||
int Got;
|
||||
mutable int Got;
|
||||
} FS;
|
||||
struct DiagConsumer : public DiagnosticsConsumer {
|
||||
void onDiagnosticsReady(PathRef File,
|
||||
|
@ -973,7 +973,7 @@ TEST(ClangdTests, PreambleVFSStatCache) {
|
|||
ListenStatsFSProvider(llvm::StringMap<unsigned> &CountStats)
|
||||
: CountStats(CountStats) {}
|
||||
|
||||
IntrusiveRefCntPtr<vfs::FileSystem> getFileSystem() override {
|
||||
IntrusiveRefCntPtr<vfs::FileSystem> getFileSystem() const override {
|
||||
class ListenStatVFS : public vfs::ProxyFileSystem {
|
||||
public:
|
||||
ListenStatVFS(IntrusiveRefCntPtr<vfs::FileSystem> FS,
|
||||
|
|
|
@ -29,7 +29,7 @@ buildTestFS(llvm::StringMap<std::string> const &Files,
|
|||
// A VFS provider that returns TestFSes containing a provided set of files.
|
||||
class MockFSProvider : public FileSystemProvider {
|
||||
public:
|
||||
IntrusiveRefCntPtr<vfs::FileSystem> getFileSystem() override {
|
||||
IntrusiveRefCntPtr<vfs::FileSystem> getFileSystem() const override {
|
||||
return buildTestFS(Files);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue