|
Envision
A visual programming IDE for object-oriented languages
|
creates and stores all MetaDefinitions that are not x-Macro MetaDefinitions. More...
Public Member Functions | |
| StandardMetaDefinitions (ClangHelpers &clang, const MacroDefinitions &definitionManager, MacroExpansions ¯oExpansions) | |
| OOModel::MetaDefinition * | createMetaDef (const clang::MacroDirective *md) |
| void | createMetaDefinitionBody (OOModel::MetaDefinition *metaDef, QList< Model::Node * > nodes, MacroExpansion *expansion, NodeToCloneMap &mapping, QList< MacroArgumentInfo > &arguments) |
| OOModel::MetaDefinition * | metaDefinition (const clang::MacroDirective *md) |
Private Member Functions | |
| void | childrenUnownedByExpansion (Model::Node *node, MacroExpansion *expansion, NodeToCloneMap &mapping, QList< Model::Node * > &result) |
| return all children of node that do not belong to expansion. More... | |
| void | insertArgumentSplices (NodeToCloneMap &mapping, NodeToCloneMap &childMapping, QList< MacroArgumentInfo > &arguments) |
| insert splices for all nodes in childMapping that are a macro argument. More... | |
| void | insertChildMetaCalls (MacroExpansion *expansion, NodeToCloneMap &childMapping) |
| insert all non-xMacro child meta calls into metaDef. More... | |
| bool | removeUnownedNodes (Model::Node *cloned, MacroExpansion *expansion, NodeToCloneMap &mapping) |
| remove all children of node that do not belong to expansion. More... | |
Private Attributes | |
| ClangHelpers & | clang_ |
| const MacroDefinitions & | definitionManager_ |
| MacroExpansions & | macroExpansions_ |
| QHash< QString, OOModel::MetaDefinition * > | standardMetaDefinitions_ |
creates and stores all MetaDefinitions that are not x-Macro MetaDefinitions.
processes all syntactically complete macro definitions.
| CppImport::StandardMetaDefinitions::StandardMetaDefinitions | ( | ClangHelpers & | clang, |
| const MacroDefinitions & | definitionManager, | ||
| MacroExpansions & | macroExpansions | ||
| ) |
|
private |
return all children of node that do not belong to expansion.
| OOModel::MetaDefinition * CppImport::StandardMetaDefinitions::createMetaDef | ( | const clang::MacroDirective * | md | ) |
| void CppImport::StandardMetaDefinitions::createMetaDefinitionBody | ( | OOModel::MetaDefinition * | metaDef, |
| QList< Model::Node * > | nodes, | ||
| MacroExpansion * | expansion, | ||
| NodeToCloneMap & | mapping, | ||
| QList< MacroArgumentInfo > & | arguments | ||
| ) |
|
private |
insert splices for all nodes in childMapping that are a macro argument.
|
private |
insert all non-xMacro child meta calls into metaDef.
| OOModel::MetaDefinition * CppImport::StandardMetaDefinitions::metaDefinition | ( | const clang::MacroDirective * | md | ) |
|
private |
remove all children of node that do not belong to expansion.
return true if node itself does not belong to expansion.
|
private |
|
private |
|
private |
|
private |