summaryrefslogtreecommitdiff
path: root/src/expr/node_manager.cpp
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2016-10-31 10:45:27 -0500
committerajreynol <andrew.j.reynolds@gmail.com>2016-10-31 10:45:27 -0500
commit3506b13f4d298095e8405b32b05e838f17dbe809 (patch)
tree96cfbaabd076c54f367cbc8b3d3560f5acda1f2b /src/expr/node_manager.cpp
parentb1dea08db5a965d8d9d6f38bd05c280a8a126352 (diff)
Minor refactoring in preparation for datatypes node cycle breaking.
Diffstat (limited to 'src/expr/node_manager.cpp')
-rw-r--r--src/expr/node_manager.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/expr/node_manager.cpp b/src/expr/node_manager.cpp
index f7e76c06b..af4f89da1 100644
--- a/src/expr/node_manager.cpp
+++ b/src/expr/node_manager.cpp
@@ -176,6 +176,13 @@ NodeManager::~NodeManager() {
d_tt_cache.d_children.clear();
d_rt_cache.d_children.clear();
+ for( std::vector<Datatype*>::iterator datatype_iter = d_ownedDatatypes.begin(), datatype_end = d_ownedDatatypes.end();
+ datatype_iter != datatype_end; ++datatype_iter) {
+ Datatype* datatype = *datatype_iter;
+ delete datatype;
+ }
+ d_ownedDatatypes.clear();
+
Assert(!d_attrManager->inGarbageCollection() );
while(!d_zombies.empty()) {
reclaimZombies();
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback