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 |