llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-tidy @llvm/pr-subscribers-clang-tools-extra Author: Kevin Joseph (kevinjoseph1995) <details> <summary>Changes</summary> When applying the recommended fix for the "modernize-use-override" clang-tidy diagnostic there was a stray whitespace. This PR fixes that. Resolves https://github.com/clangd/clangd/issues/1704 --- Full diff: https://github.com/llvm/llvm-project/pull/81435.diff 2 Files Affected: - (modified) clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp (+2-2) - (modified) clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp (+28) ``````````diff diff --git a/clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp index e348968b325a5a..4db32b02ee5a0c 100644 --- a/clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp @@ -228,8 +228,8 @@ void UseOverrideCheck::check(const MatchFinder::MatchResult &Result) { if (HasVirtual) { for (Token Tok : Tokens) { if (Tok.is(tok::kw_virtual)) { - Diag << FixItHint::CreateRemoval(CharSourceRange::getTokenRange( - Tok.getLocation(), Tok.getLocation())); + Diag << FixItHint::CreateRemoval(CharSourceRange::getCharRange( + Tok.getLocation(), Tok.getEndLoc().getLocWithOffset(1))); break; } } diff --git a/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp b/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp index f302dcf5f09db0..76874ac9a2a4e7 100644 --- a/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp +++ b/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp @@ -898,6 +898,34 @@ TEST(DiagnosticTest, ClangTidySelfContainedDiags) { withFix(equalToFix(ExpectedDFix)))))); } +TEST(DiagnosticTest, ClangTidySelfContainedDiagsFormatting) { + Annotations Main(R"cpp( + class Interface { + public: + virtual void Reset() = 0; + }; + class A : public Interface { + // This will be marked by clangd to use override instead of virtual + $virtual[[virtual ]] void $Reset[[Reset]]()$override[[]]; + }; + )cpp"); + TestTU TU = TestTU::withCode(Main.code()); + TU.ClangTidyProvider = + addTidyChecks("cppcoreguidelines-explicit-virtual-functions,"); + clangd::Fix const ExpectedFix{"prefer using 'override' or (rarely) 'final' " + "instead of 'virtual'", + {TextEdit{Main.range("override"), " override"}, + TextEdit{Main.range("virtual"), ""}}}; + // Note that in the Fix we expect the "virtual" keyword and the following + // whitespace to be deleted + EXPECT_THAT(TU.build().getDiagnostics(), + ifTidyChecks(UnorderedElementsAre( + AllOf(Diag(Main.range("Reset"), + "prefer using 'override' or (rarely) 'final' " + "instead of 'virtual'"), + withFix(equalToFix(ExpectedFix)))))); +} + TEST(DiagnosticsTest, Preprocessor) { // This looks like a preamble, but there's an #else in the middle! // Check that: `````````` </details> https://github.com/llvm/llvm-project/pull/81435 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits