diff options
Diffstat (limited to 'src/lib/corelib/language/item.h')
-rw-r--r-- | src/lib/corelib/language/item.h | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/lib/corelib/language/item.h b/src/lib/corelib/language/item.h index aadf2516b..93b1f963a 100644 --- a/src/lib/corelib/language/item.h +++ b/src/lib/corelib/language/item.h @@ -85,11 +85,25 @@ public: Item *item = nullptr; ProductContext *product = nullptr; // Set if and only if the dep is a product. - // All items that declared an explicit dependency on this module. Can contain any + // All the sites that declared an explicit dependency on this module. Can contain any // number of module instances and at most one product. using ParametersWithPriority = std::pair<QVariantMap, int>; - using LoadingItemInfo = std::pair<Item *, ParametersWithPriority>; - std::vector<LoadingItemInfo> loadingItems; + struct LoadContext { + LoadContext(Item *loadingItem, + const ParametersWithPriority ¶meters) + : loadingItem(loadingItem), parameters(parameters) {} + LoadContext(Item *loadingItem, ParametersWithPriority &¶meters) + : loadingItem(loadingItem), parameters(std::move(parameters)) {} + + LoadContext(const LoadContext &) = default; + LoadContext(LoadContext &&) = default; + LoadContext &operator=(const LoadContext &) = default; + LoadContext &operator=(LoadContext &&) = default; + + Item *loadingItem; + ParametersWithPriority parameters; + }; + std::vector<LoadContext> loadContexts; QVariantMap parameters; VersionRange versionRange; |