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 |