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
+3
View File
@@ -128,6 +128,7 @@ public:
std::vector<std::string> typedefs;
std::vector<std::string> builtinTypes;
std::vector<std::string> classes;
std::vector<std::string> unions;
std::vector<std::string> interfaces;
std::vector<std::string> enums;
std::vector<std::string> enumConstants;
@@ -171,6 +172,8 @@ private:
return &builtinTypes;
case SYMBOL_CLASS:
return &classes;
case SYMBOL_UNION:
return &unions;
case SYMBOL_INTERFACE:
return &interfaces;
case SYMBOL_ENUM: