diff options
author | Denis Shienkov <denis.shienkov@gmail.com> | 2022-01-17 22:17:58 +0300 |
---|---|---|
committer | Denis Shienkov <denis.shienkov@gmail.com> | 2022-01-27 14:06:28 +0000 |
commit | d3e44609fd28268b525d12853e90b53d9e3f2183 (patch) | |
tree | b569ed52fe947984a985950aff117306137e63bc /src/lib/corelib/language/projectresolver.cpp | |
parent | 249c5ab3b4c3d1c68b294ff93ec8089f85728051 (diff) |
Use std::transform where it is possible
... to unify and simplify a code.
Change-Id: Ia493c5f428c1da4df3c8623e448be8ac72fd4f44
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/lib/corelib/language/projectresolver.cpp')
-rw-r--r-- | src/lib/corelib/language/projectresolver.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/lib/corelib/language/projectresolver.cpp b/src/lib/corelib/language/projectresolver.cpp index 83f42e4e2..68430d175 100644 --- a/src/lib/corelib/language/projectresolver.cpp +++ b/src/lib/corelib/language/projectresolver.cpp @@ -646,8 +646,7 @@ static QualifiedIdSet propertiesToEvaluate(std::deque<QualifiedId> initialProps, const auto insertResult = allProperties.insert(prop); if (!insertResult.second) continue; - for (const QualifiedId &directDep : deps.value(prop)) - remainingProps.push_back(directDep); + transform(deps.value(prop), remainingProps, [](const QualifiedId &id) { return id; }); } return allProperties; } @@ -1103,8 +1102,11 @@ void ProjectResolver::resolveExport(Item *exportItem, ProjectContext *) return p1.fullName < p2.fullName; }; std::sort(exportedModule.m_properties.begin(), exportedModule.m_properties.end(), cmpFunc); - for (const Item * const child : exportItem->children()) - exportedModule.children.push_back(resolveExportChild(child, exportedModule)); + + transform(exportItem->children(), exportedModule.children, + [&exportedModule, this](const auto &child) { + return resolveExportChild(child, exportedModule); }); + for (const JsImport &jsImport : exportItem->file()->jsImports()) { if (usesImport(exportedModule, jsImport.scopeName)) { exportedModule.importStatements << getLineAtLocation(jsImport.location, @@ -1130,13 +1132,13 @@ std::unique_ptr<ExportedItem> ProjectResolver::resolveExportChild(const Item *it // the original type name. exportedItem->name = item->typeName(); - for (const Item * const child : item->children()) - exportedItem->children.push_back(resolveExportChild(child, module)); + transform(item->children(), exportedItem->children, [&module, this](const auto &child) { + return resolveExportChild(child, module); }); + setupExportedProperties(item, QString(), exportedItem->properties); return exportedItem; } - QString ProjectResolver::sourceCodeAsFunction(const JSSourceValueConstPtr &value, const PropertyDeclaration &decl) const { |