aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/buildgraph/buildgraphnode.h
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2017-12-01 09:40:19 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2017-12-06 11:49:41 +0000
commit2299a79c1ada2696807f40d54da958837ecffbba (patch)
treed50c1c0b200376f32637bf074aecf2fcc4538b4c /src/lib/corelib/buildgraph/buildgraphnode.h
parent3b41dd8d70897900bb8e988732bf37b94a165e0b (diff)
Get rid of the PersistentObject class
Our serialization requirements are fully served by the template mechanism; there is no need to put an inheritance-based approach on top of it. Now there is no more virtual inheritance, which allowed us to get rid of one more dynamic_cast. According to our benchmarker, build graph loading has become about 3% faster. Change-Id: If2f5080f74a0ef972a575ac2798f9d94a7f3b519 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Diffstat (limited to 'src/lib/corelib/buildgraph/buildgraphnode.h')
-rw-r--r--src/lib/corelib/buildgraph/buildgraphnode.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/lib/corelib/buildgraph/buildgraphnode.h b/src/lib/corelib/buildgraph/buildgraphnode.h
index a942c208c..ec2cddff4 100644
--- a/src/lib/corelib/buildgraph/buildgraphnode.h
+++ b/src/lib/corelib/buildgraph/buildgraphnode.h
@@ -42,7 +42,6 @@
#include "nodeset.h"
#include <language/forward_decls.h>
-#include <tools/persistentobject.h>
#include <tools/weakpointer.h>
namespace qbs {
@@ -50,7 +49,7 @@ namespace Internal {
class BuildGraphVisitor;
-class BuildGraphNode : public virtual PersistentObject
+class BuildGraphNode
{
friend NodeSet;
public:
@@ -83,11 +82,12 @@ public:
bool isBuilt() const { return buildState == Built; }
+ virtual void load(PersistentPool &pool);
+ virtual void store(PersistentPool &pool) const;
+
protected:
explicit BuildGraphNode();
void acceptChildren(BuildGraphVisitor *visitor);
- void load(PersistentPool &pool);
- void store(PersistentPool &pool) const;
};
} // namespace Internal