Fix occurrences of the contains/insert anti-pattern

Introduce and make use of Utils::insert() for QSet with a return value
that indicates whether insertion actually happened.

Change-Id: I655e4bc3553b74fea5ae8956205e4d8070118d63
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Christian Kandeler
2023-06-22 14:58:11 +02:00
parent ae33199d04
commit cf6bd7e012
39 changed files with 107 additions and 169 deletions

View File

@@ -60,6 +60,7 @@
#include <texteditor/textdocument.h>
#include <utils/algorithm.h>
#include <utils/environment.h>
#include <utils/fileutils.h>
#include <utils/hostosinfo.h>
@@ -1060,10 +1061,8 @@ static void addUnique(const Macros &newMacros, Macros &macros,
QSet<ProjectExplorer::Macro> &alreadyIn)
{
for (const ProjectExplorer::Macro &macro : newMacros) {
if (!alreadyIn.contains(macro)) {
if (Utils::insert(alreadyIn, macro))
macros += macro;
alreadyIn.insert(macro);
}
}
}
@@ -1949,9 +1948,8 @@ void CppModelManager::GC()
const FilePath filePath = todo.last();
todo.removeLast();
if (reachableFiles.contains(filePath))
if (!Utils::insert(reachableFiles, filePath))
continue;
reachableFiles.insert(filePath);
if (Document::Ptr doc = currentSnapshot.document(filePath))
todo += doc->includedFiles();