logic: add storage transformation to merge anonymous types and the respective typedef

* moved storage related classes to data/storage folder
* implemented recording c++ unions as NODE_UNION instead of just using NODE_TYPE
* added transformation to merge anonymous classes/structs/enums/unions and typedef nodes
* added tests for this transformation
* added setting for enabling/disabling this transformation
This commit is contained in:
malte_langkabel
2017-07-18 15:14:43 +02:00
parent e536f20e36
commit cad595a32c
76 changed files with 524 additions and 96 deletions
@@ -0,0 +1,16 @@
#include "data/storage/migration/SqliteStorageMigrationLambda.h"
SqliteStorageMigrationLambda::SqliteStorageMigrationLambda(std::function<void(const SqliteStorageMigration*, SqliteStorage*)> m_lambda)
: m_lambda(m_lambda)
{
}
SqliteStorageMigrationLambda::~SqliteStorageMigrationLambda()
{
}
void SqliteStorageMigrationLambda::apply(SqliteStorage* migratable) const
{
m_lambda(this, migratable);
}