diff options
Diffstat (limited to 'src/lib/corelib/language/moduleproviderinfo.h')
-rw-r--r-- | src/lib/corelib/language/moduleproviderinfo.h | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/lib/corelib/language/moduleproviderinfo.h b/src/lib/corelib/language/moduleproviderinfo.h index 8ed6f008d..c35ed220a 100644 --- a/src/lib/corelib/language/moduleproviderinfo.h +++ b/src/lib/corelib/language/moduleproviderinfo.h @@ -83,18 +83,25 @@ public: QualifiedId name; QVariantMap config; QString providerFile; + bool isEager{true}; QStringList searchPaths; + QHash<QString, QStringList> searchPathsByModule; bool transientOutput = false; // Not to be serialized. }; -using ModuleProviderInfoList = std::vector<ModuleProviderInfo>; +using ModuleProvidersCacheKey = std::tuple< + QString /*name*/, + QString /*moduleName*/, + QVariantMap /*config*/, + QVariantMap /*qbsModule*/, + int /*lookup*/ +>; +using ModuleProvidersCache = QHash<ModuleProvidersCacheKey, ModuleProviderInfo>; // Persistent info stored between sessions -struct StoredModuleProviderInfo +class StoredModuleProviderInfo { - using CacheKey = std::tuple<QString /*name*/, QVariantMap /*config*/, int /*lookup*/>; - using ModuleProvidersCache = QHash<CacheKey, ModuleProviderInfo>; - +public: ModuleProvidersCache providers; template<PersistentPool::OpType opType> void completeSerializationOp(PersistentPool &pool) |