[PATCH] D149165: [clangd] Deduplicate missing-include findings
Viktoriia Bakalova via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 26 00:03:07 PDT 2023
VitaNuo added a comment.
Thank you!
================
Comment at: clang-tools-extra/clangd/IncludeCleaner.cpp:419
});
+ // Put possibly equal diagnostics together for deduplication.
+ // The duplicates might be from macro arguments that get expanded multiple
----------------
Could you move the below to a separate function with a descriptive name? IMO taking care of the special cases inline makes functions very long and distracts the reader from their main purpose.
================
Comment at: clang-tools-extra/clangd/IncludeCleaner.cpp:432
+ });
+ MissingIncludes.erase(llvm::unique(MissingIncludes), MissingIncludes.end());
std::vector<const Inclusion *> UnusedIncludes =
----------------
Nit: maybe add a comment explaining that `llvm::unique` returns a past-the-end iterator after deduplicating elements? I've spent a bit of time deciphering this line.
================
Comment at: clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp:417
+ #include "all.h"
+ FOO([[Foo]]);)cpp");
+
----------------
Nit: move `)cpp");` to the next line please.
================
Comment at: clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp:421
+ TU.AdditionalFiles["foo.h"] = guard("struct Foo {};");
+ TU.AdditionalFiles["all.h"] = guard(R"(
+ #include "foo.h"
----------------
Nit: use the same style for multiline strings, i.e., `R"cpp(`.
================
Comment at: clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp:423
+ #include "foo.h"
+ #define FOO(X) X y; X z)");
+
----------------
Nit: move closing tokens of the multiline string to next line.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D149165/new/
https://reviews.llvm.org/D149165
More information about the cfe-commits
mailing list