diff options
Diffstat (limited to 'src/libs/qmljs')
-rw-r--r-- | src/libs/qmljs/qmljslink.cpp | 6 | ||||
-rw-r--r-- | src/libs/qmljs/qmljsmodelmanagerinterface.cpp | 12 |
2 files changed, 6 insertions, 12 deletions
diff --git a/src/libs/qmljs/qmljslink.cpp b/src/libs/qmljs/qmljslink.cpp index ed1c506df7..7b99eb65de 100644 --- a/src/libs/qmljs/qmljslink.cpp +++ b/src/libs/qmljs/qmljslink.cpp @@ -656,14 +656,12 @@ void LinkPrivate::loadQmldirComponents(ObjectValue *import, QSet<QString> importedTypes; const auto components = libraryInfo.components(); for (const QmlDirParser::Component &component : components) { - if (importedTypes.contains(component.typeName)) - continue; - ComponentVersion componentVersion(component.majorVersion, component.minorVersion); if (version < componentVersion) continue; - importedTypes.insert(component.typeName); + if (!Utils::insert(importedTypes, component.typeName)) + continue; if (Document::Ptr importedDoc = m_snapshot.document( libraryPath.pathAppended(component.fileName))) { if (ObjectValue *v = importedDoc->bind()->rootObjectValue()) diff --git a/src/libs/qmljs/qmljsmodelmanagerinterface.cpp b/src/libs/qmljs/qmljsmodelmanagerinterface.cpp index 66a670d1b8..93b8ca35e7 100644 --- a/src/libs/qmljs/qmljsmodelmanagerinterface.cpp +++ b/src/libs/qmljs/qmljsmodelmanagerinterface.cpp @@ -734,10 +734,9 @@ static void findNewImplicitImports(const Document::Ptr &doc, // scan files that could be implicitly imported // it's important we also do this for JS files, otherwise the isEmpty check will fail if (snapshot.documentsInDirectory(doc->path()).isEmpty()) { - if (!scannedPaths->contains(doc->path())) { + if (Utils::insert(*scannedPaths, doc->path())) { *importedFiles += filesInDirectoryForLanguages(doc->path(), doc->language().companionLanguages()); - scannedPaths->insert(doc->path()); } } } @@ -757,11 +756,10 @@ static void findNewFileImports(const Document::Ptr &doc, *importedFiles += importPath; } else if (import.type() == ImportType::Directory) { if (snapshot.documentsInDirectory(importPath).isEmpty()) { - if (!scannedPaths->contains(importPath)) { + if (Utils::insert(*scannedPaths, importPath)) { *importedFiles += filesInDirectoryForLanguages(importPath, doc->language().companionLanguages()); - scannedPaths->insert(importPath); } } } else if (import.type() == ImportType::QrcFile) { @@ -890,10 +888,9 @@ static bool findNewQmlLibraryInPath(const Utils::FilePath &path, if (!component.fileName.isEmpty()) { const FilePath componentFile = path.pathAppended(component.fileName); const FilePath path = componentFile.absolutePath().cleanPath(); - if (!scannedPaths->contains(path)) { + if (Utils::insert(*scannedPaths, path)) { *importedFiles += filesInDirectoryForLanguages(path, Dialect(Dialect::AnyLanguage) .companionLanguages()); - scannedPaths->insert(path); } } } @@ -1110,10 +1107,9 @@ void ModelManagerInterface::importScanAsync(QPromise<void> &promise, const Worki QMutexLocker l(&modelManager->m_mutex); for (const auto &path : paths) { Utils::FilePath cPath = path.path().cleanPath(); - if (!forceRescan && modelManager->m_scannedPaths.contains(cPath)) + if (!forceRescan && !Utils::insert(modelManager->m_scannedPaths, cPath)) continue; pathsToScan.append({cPath, 0, path.language()}); - modelManager->m_scannedPaths.insert(cPath); } } const int maxScanDepth = 5; |