diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2018-02-12 14:53:42 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2018-02-16 11:34:20 +0000 |
commit | bca41151f08e2b198bd6ac1da1603d6933c9166a (patch) | |
tree | 3d835697679d793ee5bc4434bf760929d50641fa /src/lib/corelib/buildgraph/transformer.cpp | |
parent | 21c5ea0f79ad0e89eaa29ab5b91387b8454c4e3e (diff) |
Get rid of redundancies between load() and store() methods
It's silly that we have to mention each serializable data member in
both the load and the store methods.
Instead, whenever possible, forward these methods to a template that calls
the right function in the persistence backend based on its parameter.
Change-Id: I00e2dee8cdf55405f447cee27190bc97df8673e3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib/corelib/buildgraph/transformer.cpp')
-rw-r--r-- | src/lib/corelib/buildgraph/transformer.cpp | 45 |
1 files changed, 3 insertions, 42 deletions
diff --git a/src/lib/corelib/buildgraph/transformer.cpp b/src/lib/corelib/buildgraph/transformer.cpp index d722bf52c..463bfcc49 100644 --- a/src/lib/corelib/buildgraph/transformer.cpp +++ b/src/lib/corelib/buildgraph/transformer.cpp @@ -45,7 +45,6 @@ #include <logging/translator.h> #include <tools/error.h> #include <tools/fileinfo.h> -#include <tools/persistence.h> #include <tools/scripttools.h> #include <tools/qbsassert.h> #include <tools/stringconstants.h> @@ -297,50 +296,12 @@ void Transformer::rescueChangeTrackingData(const TransformerConstPtr &other) void Transformer::load(PersistentPool &pool) { - pool.load(rule); - pool.load(inputs); - pool.load(outputs); - pool.load(explicitlyDependsOn); - pool.load(propertiesRequestedInPrepareScript); - pool.load(propertiesRequestedInCommands); - pool.load(propertiesRequestedFromArtifactInPrepareScript); - pool.load(propertiesRequestedFromArtifactInCommands); - pool.load(importedFilesUsedInPrepareScript); - pool.load(importedFilesUsedInCommands); - pool.load(depsRequestedInPrepareScript); - pool.load(depsRequestedInCommands); - pool.load(commands); - pool.load(artifactsMapRequestedInPrepareScript); - pool.load(artifactsMapRequestedInCommands); - pool.load(lastPrepareScriptExecutionTime); - pool.load(lastCommandExecutionTime); - pool.load(alwaysRun); - pool.load(prepareScriptNeedsChangeTracking); - pool.load(commandsNeedChangeTracking); + serializationOp<PersistentPool::Load>(pool); } -void Transformer::store(PersistentPool &pool) const +void Transformer::store(PersistentPool &pool) { - pool.store(rule); - pool.store(inputs); - pool.store(outputs); - pool.store(explicitlyDependsOn); - pool.store(propertiesRequestedInPrepareScript); - pool.store(propertiesRequestedInCommands); - pool.store(propertiesRequestedFromArtifactInPrepareScript); - pool.store(propertiesRequestedFromArtifactInCommands); - pool.store(importedFilesUsedInPrepareScript); - pool.store(importedFilesUsedInCommands); - pool.store(depsRequestedInPrepareScript); - pool.store(depsRequestedInCommands); - pool.store(commands); - pool.store(artifactsMapRequestedInPrepareScript); - pool.store(artifactsMapRequestedInCommands); - pool.store(lastPrepareScriptExecutionTime); - pool.store(lastCommandExecutionTime); - pool.store(alwaysRun); - pool.store(prepareScriptNeedsChangeTracking); - pool.store(commandsNeedChangeTracking); + serializationOp<PersistentPool::Store>(pool); } } // namespace Internal |