[PATCH] D38639: [clangd] #include statements support for Open definition
William Enright via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Dec 19 14:15:46 PST 2017
Nebiroth marked 8 inline comments as done.
Nebiroth added inline comments.
================
Comment at: clangd/ClangdUnit.cpp:85
+
+ if (SourceMgr.getMainFileID() == SourceMgr.getFileID(FilenameRange.getAsRange().getBegin()) && SourceMgr.isInMainFile(FilenameRange.getAsRange().getBegin())) {
+ // Only inclusion directives in the main file make sense. The user cannot
----------------
ilya-biryukov wrote:
> ilya-biryukov wrote:
> > `clang-format` please
> Do we need both checks? Doesn't `SourceMgr.isInMainFile` handles all the cases?
This check was here to prevent an issue that appeared previously. I don't think this check is needed anymore.
================
Comment at: clangd/ClangdUnit.cpp:147
+ IncludeReferenceMap &IRM;
+ std::vector<std::pair<SourceRange, std::string>> TempPreambleIncludeLocations;
};
----------------
ilya-biryukov wrote:
> We should have `SourceMgr` at all the proper places now, let's store `IncludeReferenceMap` directly
The idea was to pass a single map around to fill with every reference instead of having separate maps being merged together.
================
Comment at: clangd/ClangdUnit.cpp:281
+ IntrusiveRefCntPtr<vfs::FileSystem> VFS,
+ IncludeReferenceMap IRM) {
----------------
ilya-biryukov wrote:
> What reference does this `IncludeReferenceMap` contain? Includes from the preamble?
This should contain every reference available for one file.
Repository:
rCTE Clang Tools Extra
https://reviews.llvm.org/D38639
More information about the cfe-commits
mailing list