MCPcopy Create free account
hub / github.com/KDAB/GammaRay / findDependenciesFor

Method findDependenciesFor

core/bindingaggregator.cpp:47–67  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

45}
46
47std::vector<std::unique_ptr<BindingNode>> BindingAggregator::findDependenciesFor(BindingNode *node)
48{
49 std::vector<std::unique_ptr<BindingNode>> allDependencies;
50 if (node->isPartOfBindingLoop())
51 return allDependencies;
52
53 for (const auto &provider : *s_providers()) {
54 auto providerDependencies = provider->findDependenciesFor(node);
55 for (auto &&providerDependency : providerDependencies) {
56 providerDependency->dependencies() = findDependenciesFor(providerDependency.get());
57 allDependencies.push_back(std::move(providerDependency));
58 }
59 }
60 std::sort(
61 allDependencies.begin(),
62 allDependencies.end(),
63 [](const std::unique_ptr<BindingNode> &a, const std::unique_ptr<BindingNode> &b) {
64 return a->object() < b->object() || (a->object() == b->object() && a->propertyIndex() < b->propertyIndex());
65 });
66 return allDependencies;
67}
68
69std::vector<std::unique_ptr<BindingNode>> BindingAggregator::bindingTreeForObject(QObject *obj)
70{

Callers

nothing calls this directly

Calls 7

isPartOfBindingLoopMethod · 0.80
dependenciesMethod · 0.80
endMethod · 0.80
propertyIndexMethod · 0.80
getMethod · 0.45
beginMethod · 0.45
objectMethod · 0.45

Tested by

no test coverage detected