[all-commits] [llvm/llvm-project] 0250b0: [clangd] Add a Filesystem that overlays Dirty files.

Nathan James via All-commits all-commits at lists.llvm.org
Tue Mar 9 06:35:44 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0250b053b5aa7fc16408e6c037e5e71db5e9b012
      https://github.com/llvm/llvm-project/commit/0250b053b5aa7fc16408e6c037e5e71db5e9b012
  Author: Nathan James <n.james93 at hotmail.co.uk>
  Date:   2021-03-09 (Tue, 09 Mar 2021)

  Changed paths:
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/DraftStore.cpp
    M clang-tools-extra/clangd/DraftStore.h
    M clang-tools-extra/clangd/unittests/DraftStoreTests.cpp

  Log Message:
  -----------
  [clangd] Add a Filesystem that overlays Dirty files.

Create a `ThreadsafeFS` in the `DraftStore` that overlays the dirty file contents over another `ThreadsafeFS`.
This provides a nice thread-safe interface for using dirty file contents throughout the codebase, for example cross file refactoring.
Creating a Filesystem view will overlay a snapshot of the current contents, so if the draft store is updated while the view is being used, it will contain stale contents.

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D94554




More information about the All-commits mailing list