[clang-tools-extra] 0e7c7d4 - [clangd] Set FileSystem for tweaks in Check tool.

Utkarsh Saxena via cfe-commits cfe-commits at lists.llvm.org
Mon May 17 02:10:26 PDT 2021


Author: Utkarsh Saxena
Date: 2021-05-17T11:10:07+02:00
New Revision: 0e7c7d461df167f141428286afb781636ac92a9e

URL: https://github.com/llvm/llvm-project/commit/0e7c7d461df167f141428286afb781636ac92a9e
DIFF: https://github.com/llvm/llvm-project/commit/0e7c7d461df167f141428286afb781636ac92a9e.diff

LOG: [clangd] Set FileSystem for tweaks in Check tool.

Tweaks like DefineOutline depend on FS to be set at `apply()` time.
After https://reviews.llvm.org/D93978, tweaks run from Check tool lost
access to FS. This makes the available to apply() once again.

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

Added: 
    

Modified: 
    clang-tools-extra/clangd/tool/Check.cpp

Removed: 
    


################################################################################
diff  --git a/clang-tools-extra/clangd/tool/Check.cpp b/clang-tools-extra/clangd/tool/Check.cpp
index 0b1da96771972..89487bd8607f1 100644
--- a/clang-tools-extra/clangd/tool/Check.cpp
+++ b/clang-tools-extra/clangd/tool/Check.cpp
@@ -212,8 +212,13 @@ class Checker {
                                              AST->getTokens(), Start, End);
       Tweak::Selection Selection(&Index, *AST, Start, End, std::move(Tree),
                                  nullptr);
-      for (const auto &T :
-           prepareTweaks(Selection, Opts.TweakFilter, Opts.FeatureModules)) {
+      // FS is only populated when applying a tweak, not during prepare as
+      // prepare should not do any I/O to be fast.
+      auto Tweaks =
+          prepareTweaks(Selection, Opts.TweakFilter, Opts.FeatureModules);
+      Selection.FS =
+          &AST->getSourceManager().getFileManager().getVirtualFileSystem();
+      for (const auto &T : Tweaks) {
         auto Result = T->apply(Selection);
         if (!Result) {
           elog("    tweak: {0} ==> FAIL: {1}", T->id(), Result.takeError());


        


More information about the cfe-commits mailing list