Author: Haojian Wu Date: 2021-02-11T20:28:50+01:00 New Revision: 573348ab9b281221e0e78376c233d1898ed0bf68
URL: https://github.com/llvm/llvm-project/commit/573348ab9b281221e0e78376c233d1898ed0bf68 DIFF: https://github.com/llvm/llvm-project/commit/573348ab9b281221e0e78376c233d1898ed0bf68.diff LOG: [clangd] Retire the cross-file-rename command-line flag. This patch only focuses on the flag. Removing actual single-file mode (and the flag in RenameOption) will come in a follow-up. Differential Revision: https://reviews.llvm.org/D96495 Added: Modified: clang-tools-extra/clangd/refactor/Rename.h clang-tools-extra/clangd/tool/ClangdMain.cpp clang-tools-extra/clangd/unittests/RenameTests.cpp Removed: ################################################################################ diff --git a/clang-tools-extra/clangd/refactor/Rename.h b/clang-tools-extra/clangd/refactor/Rename.h index ff23a67cfc46..dbaf9dd2e284 100644 --- a/clang-tools-extra/clangd/refactor/Rename.h +++ b/clang-tools-extra/clangd/refactor/Rename.h @@ -29,7 +29,7 @@ using DirtyBufferGetter = struct RenameOptions { /// If true, enable cross-file rename; otherwise, only allows to rename a /// symbol that's only used in the current file. - bool AllowCrossFile = false; + bool AllowCrossFile = true; /// The maximum number of affected files (0 means no limit), only meaningful /// when AllowCrossFile = true. /// If the actual number exceeds the limit, rename is forbidden. diff --git a/clang-tools-extra/clangd/tool/ClangdMain.cpp b/clang-tools-extra/clangd/tool/ClangdMain.cpp index 6a61f0db5294..595cbcf80d51 100644 --- a/clang-tools-extra/clangd/tool/ClangdMain.cpp +++ b/clang-tools-extra/clangd/tool/ClangdMain.cpp @@ -286,6 +286,7 @@ RetiredFlag<bool> RecoveryAST("recovery-ast"); RetiredFlag<bool> RecoveryASTType("recovery-ast-type"); RetiredFlag<bool> AsyncPreamble("async-preamble"); RetiredFlag<bool> CollectMainFileRefs("collect-main-file-refs"); +RetiredFlag<bool> CrossFileRename("cross-file-rename"); opt<int> LimitResults{ "limit-results", @@ -295,7 +296,6 @@ opt<int> LimitResults{ init(100), }; - list<std::string> TweakList{ "tweaks", cat(Features), @@ -304,13 +304,6 @@ list<std::string> TweakList{ CommaSeparated, }; -opt<bool> CrossFileRename{ - "cross-file-rename", - cat(Features), - desc("Enable cross-file rename feature."), - init(true), -}; - opt<bool> FoldingRanges{ "folding-ranges", cat(Features), @@ -852,9 +845,6 @@ clangd accepts flags on the commandline, and in the CLANGD_FLAGS environment var if (ForceOffsetEncoding != OffsetEncoding::UnsupportedEncoding) Opts.Encoding = ForceOffsetEncoding; - // Shall we allow to customize the file limit? - Opts.Rename.AllowCrossFile = CrossFileRename; - if (CheckFile.getNumOccurrences()) { llvm::SmallString<256> Path; llvm::sys::fs::real_path(CheckFile, Path, /*expand_tilde=*/true); diff --git a/clang-tools-extra/clangd/unittests/RenameTests.cpp b/clang-tools-extra/clangd/unittests/RenameTests.cpp index b1cd8bc3dc49..2a746a06b286 100644 --- a/clang-tools-extra/clangd/unittests/RenameTests.cpp +++ b/clang-tools-extra/clangd/unittests/RenameTests.cpp @@ -832,8 +832,12 @@ TEST(RenameTest, WithinFileRename) { TU.ExtraArgs.push_back("-xobjective-c++"); auto AST = TU.build(); for (const auto &RenamePos : Code.points()) { - auto RenameResult = - rename({RenamePos, NewName, AST, testPath(TU.Filename)}); + auto RenameResult = rename({RenamePos, + NewName, + AST, + testPath(TU.Filename), + /*Index*/ nullptr, + {/*CrossFile*/ false}}); ASSERT_TRUE(bool(RenameResult)) << RenameResult.takeError(); ASSERT_EQ(1u, RenameResult->GlobalChanges.size()); EXPECT_EQ( @@ -1133,8 +1137,12 @@ TEST(RenameTest, Renameable) { } auto AST = TU.build(); llvm::StringRef NewName = Case.NewName; - auto Results = - rename({T.point(), NewName, AST, testPath(TU.Filename), Case.Index}); + auto Results = rename({T.point(), + NewName, + AST, + testPath(TU.Filename), + Case.Index, + {/*CrossFile=*/false}}); bool WantRename = true; if (T.ranges().empty()) WantRename = false; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits