|
Envision
A visual programming IDE for object-oriented languages
|
provides the interface to generate all sorts of MetaDefinitions during macro import. More...
Public Member Functions | |
| AllMetaDefinitions (OOModel::Project *root, ClangHelpers &clangHelper, const MacroDefinitions ¯oDefinitions, MacroExpansions ¯oExpansions) | |
| void | createMetaDef (QList< Model::Node * > nodes, MacroExpansion *expansion, NodeToCloneMap &mapping, QList< MacroArgumentInfo > &arguments) |
| void | handleXMacros () |
Private Member Functions | |
| void | applyPartialBeginSpecializationTransformation (MacroExpansion *hExpansion, MacroExpansion *cppExpansion) |
| MacroExpansion * | basePartialBegin (MacroExpansion *partialBeginExpansion) |
| OOModel::MetaDefinition * | createXMacroMetaDef (MacroExpansion *hExpansion, MacroExpansion *cppExpansion) |
| void | handlePartialBeginSpecialization (OOModel::MetaDefinition *metaDef, MacroExpansion *expansion, MacroExpansion *beginChild) |
| MacroExpansion * | matchingXMacroExpansion (Model::Node *node) |
| void | mergeClasses (OOModel::Class *merged, OOModel::Class *mergee) |
| OOModel::Declaration * | metaDefinitionParent (const clang::MacroDirective *md) |
| MacroExpansion * | partialBeginChild (MacroExpansion *expansion) |
| OOModel::MetaDefinition * | xMacroMetaDefinition (const clang::MacroDirective *md) |
Private Attributes | |
| ClangHelpers & | clang_ |
| const MacroDefinitions & | macroDefinitions_ |
| MacroExpansions & | macroExpansions_ |
| OOModel::Project * | root_ {} |
| QHash< QString, Model::List * > | specializations_ |
| QSet< OOModel::MetaCallExpression * > | specialized_ |
| StandardMetaDefinitions | standardMetaDefinitions_ |
| QHash< QString, OOModel::MetaDefinition * > | xMacrometaDefinitions_ |
provides the interface to generate all sorts of MetaDefinitions during macro import.
processes special macro types (partial begin macro specialization, x-Macro). complete syntactic macros are processed in the child component StandardMetaDefinitions. creates and stores x-Macro MetaDefinitions.
| CppImport::AllMetaDefinitions::AllMetaDefinitions | ( | OOModel::Project * | root, |
| ClangHelpers & | clangHelper, | ||
| const MacroDefinitions & | macroDefinitions, | ||
| MacroExpansions & | macroExpansions | ||
| ) |
|
private |
|
private |
| void CppImport::AllMetaDefinitions::createMetaDef | ( | QList< Model::Node * > | nodes, |
| MacroExpansion * | expansion, | ||
| NodeToCloneMap & | mapping, | ||
| QList< MacroArgumentInfo > & | arguments | ||
| ) |
|
private |
|
private |
| void CppImport::AllMetaDefinitions::handleXMacros | ( | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |