aboutsummaryrefslogtreecommitdiffstats
path: root/sources
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2019-10-31 09:30:03 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2019-11-01 20:09:43 +0100
commit070b94ccf1d5cd55b001aee0ae9f7e93bb405cdd (patch)
treebb1d9d38b9659c9226e1ab4378362f4a9b86b609 /sources
parent4af52ffcfd89a636eff09a500836e14a7ad4d877 (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.cpp16
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());
}
}