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()); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits