diff options
author | Sam McCall <sam.mccall@gmail.com> | 2018-10-10 07:46:15 +0000 |
---|---|---|
committer | Sam McCall <sam.mccall@gmail.com> | 2018-10-10 07:46:15 +0000 |
commit | 26fac469d2c27f65c17ff3d0d89b6e7eef18f212 (patch) | |
tree | 105899641c8855f1f9f79a242270e34e84484024 | |
parent | 153b53adfa54f985bb5180fc758f651e18e71ea1 (diff) | |
download | llvm-26fac469d2c27f65c17ff3d0d89b6e7eef18f212.zip llvm-26fac469d2c27f65c17ff3d0d89b6e7eef18f212.tar.gz llvm-26fac469d2c27f65c17ff3d0d89b6e7eef18f212.tar.bz2 |
[clangd] Make FSProvider const-correct. NFC
llvm-svn: 344118
-rw-r--r-- | clang-tools-extra/clangd/ClangdServer.cpp | 4 | ||||
-rw-r--r-- | clang-tools-extra/clangd/ClangdServer.h | 7 | ||||
-rw-r--r-- | clang-tools-extra/clangd/FSProvider.h | 4 | ||||
-rw-r--r-- | clang-tools-extra/unittests/clangd/ClangdTests.cpp | 6 | ||||
-rw-r--r-- | clang-tools-extra/unittests/clangd/TestFS.h | 2 |
5 files changed, 12 insertions, 11 deletions
diff --git a/clang-tools-extra/clangd/ClangdServer.cpp b/clang-tools-extra/clangd/ClangdServer.cpp index f0b94cb..bdba66e0a 100644 --- a/clang-tools-extra/clangd/ClangdServer.cpp +++ b/clang-tools-extra/clangd/ClangdServer.cpp @@ -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), diff --git a/clang-tools-extra/clangd/ClangdServer.h b/clang-tools-extra/clangd/ClangdServer.h index c66ed86..9f17e73 100644 --- a/clang-tools-extra/clangd/ClangdServer.h +++ b/clang-tools-extra/clangd/ClangdServer.h @@ -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; diff --git a/clang-tools-extra/clangd/FSProvider.h b/clang-tools-extra/clangd/FSProvider.h index 70dfb44..a11d3810 100644 --- a/clang-tools-extra/clangd/FSProvider.h +++ b/clang-tools-extra/clangd/FSProvider.h @@ -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(); } }; diff --git a/clang-tools-extra/unittests/clangd/ClangdTests.cpp b/clang-tools-extra/unittests/clangd/ClangdTests.cpp index b9003a8..87741df 100644 --- a/clang-tools-extra/unittests/clangd/ClangdTests.cpp +++ b/clang-tools-extra/unittests/clangd/ClangdTests.cpp @@ -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, diff --git a/clang-tools-extra/unittests/clangd/TestFS.h b/clang-tools-extra/unittests/clangd/TestFS.h index a0efb75..39c0bb2 100644 --- a/clang-tools-extra/unittests/clangd/TestFS.h +++ b/clang-tools-extra/unittests/clangd/TestFS.h @@ -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); } |