diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-10-31 09:30:03 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-11-01 20:09:43 +0100 |
commit | 070b94ccf1d5cd55b001aee0ae9f7e93bb405cdd (patch) | |
tree | bb1d9d38b9659c9226e1ab4378362f4a9b86b609 /sources | |
parent | 4af52ffcfd89a636eff09a500836e14a7ad4d877 (diff) |
shiboken: Refactor lookForEnumsInClassesNotToBeGenerated()
Remove the recursion to the parent class which does not seem
to have any effect. Add a comment and simplify.
Task-number: PYSIDE-990
Task-number: PYSIDE-1074
Change-Id: I92ddb08e051853636d154541d805a54bdc7d3a87
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources')
-rw-r--r-- | sources/shiboken2/generator/shiboken2/shibokengenerator.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/sources/shiboken2/generator/shiboken2/shibokengenerator.cpp b/sources/shiboken2/generator/shiboken2/shibokengenerator.cpp index 67137369c..fd75c620e 100644 --- a/sources/shiboken2/generator/shiboken2/shibokengenerator.cpp +++ b/sources/shiboken2/generator/shiboken2/shibokengenerator.cpp @@ -324,18 +324,16 @@ bool ShibokenGenerator::shouldGenerateCppWrapper(const AbstractMetaClass *metaCl void ShibokenGenerator::lookForEnumsInClassesNotToBeGenerated(AbstractMetaEnumList &enumList, const AbstractMetaClass *metaClass) { - if (!metaClass) - return; - + Q_ASSERT(metaClass); + // if a scope is not to be generated, collect its enums into the parent scope if (metaClass->typeEntry()->codeGeneration() == TypeEntry::GenerateForSubclass) { const AbstractMetaEnumList &enums = metaClass->enums(); - for (const AbstractMetaEnum *metaEnum : enums) { - if (metaEnum->isPrivate() || metaEnum->typeEntry()->codeGeneration() == TypeEntry::GenerateForSubclass) - continue; - if (!enumList.contains(const_cast<AbstractMetaEnum *>(metaEnum))) - enumList.append(const_cast<AbstractMetaEnum *>(metaEnum)); + for (AbstractMetaEnum *metaEnum : enums) { + if (!metaEnum->isPrivate() && metaEnum->typeEntry()->generateCode() + && !enumList.contains(metaEnum)) { + enumList.append(metaEnum); + } } - lookForEnumsInClassesNotToBeGenerated(enumList, metaClass->enclosingClass()); } } |