Merge remote-tracking branch 'origin/4.3' into master

Change-Id: I01ab8c85ea3372b6dce4142ddb9cf92d903ffca6
This commit is contained in:
Orgad Shaneh
2017-05-23 23:41:14 +03:00
49 changed files with 610 additions and 277 deletions

View File

@@ -309,7 +309,16 @@ void TeaLeafReader::generateProjectTree(CMakeProjectNode *root, const QList<cons
return Utils::contains(allIncludePaths, [fn](const FileName &inc) { return fn->filePath().isChildOf(inc); });
});
QList<FileNode *> fileNodes = m_files + Utils::transform(missingHeaders, [](const FileNode *fn) { return fn->clone(); });
// filter duplicates:
auto alreadySeen = QSet<FileName>::fromList(Utils::transform(m_files, &FileNode::filePath));
const QList<const FileNode *> unseenMissingHeaders = Utils::filtered(missingHeaders, [&alreadySeen](const FileNode *fn) {
const int count = alreadySeen.count();
alreadySeen.insert(fn->filePath());
return (alreadySeen.count() != count);
});
const QList<FileNode *> fileNodes = m_files
+ Utils::transform(unseenMissingHeaders, [](const FileNode *fn) { return fn->clone(); });
root->addNestedNodes(fileNodes, m_parameters.sourceDirectory);
m_files.clear(); // Some of the FileNodes in files() were deleted!