[PATCH] D57508: [clangd] Enable include insertion for dynamic index
Eric Liu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Feb 4 03:14:07 PST 2019
ioeric added inline comments.
Herald added a project: clang.
================
Comment at: clangd/ClangdUnit.cpp:100
+ : File(File), ParsedCallback(ParsedCallback),
+ IWYUHandler(collectIWYUHeaderMaps(&CanonIncludes)) {}
----------------
Does this have to own the `IWYUHandler`? Could we create one when `getCommentHandler` is called?
================
Comment at: clangd/ClangdUnit.cpp:125
+ CommentHandler *getCommentHandler() override { return IWYUHandler.get(); }
+
----------------
This looks like a memory leak? `release()`?
================
Comment at: clangd/ClangdUnit.cpp:338
+ // Do we really care about IWYU pragmas inside the file rather than the
+ // preamble?
----------------
I think so? A header file (with IWYU pragma) can also be the main file.
================
Comment at: unittests/clangd/CodeCompleteTests.cpp:2287
+TEST(CompletionTest, DynamicIndexIncludeInsertion) {
+ MockFSProvider FS;
----------------
nit: maybe put this close to test cases that involve preamble. e.g. IndexSuppressesPreambleCompletions
================
Comment at: unittests/clangd/CodeCompleteTests.cpp:2301
+ )cpp";
+ constexpr const char *FileContent(R"cpp(
+ #include "foo_header.h"
----------------
nit: just use `std::string` for readability.
================
Comment at: unittests/clangd/FileIndexTests.cpp:207
+ M, "f",
+ "// IWYU pragma: private, include <the/good/header.h>\nclass string {};");
----------------
Are we sure the comment will be included in the preamble if there is no #include block?
Repository:
rCTE Clang Tools Extra
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D57508/new/
https://reviews.llvm.org/D57508
More information about the cfe-commits
mailing list