aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/ApiExtractor/apiextractor.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2018-09-28 08:36:19 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2018-09-28 11:45:00 +0000
commit2f548c62d50b49e193c9f7575fa6a4601b697609 (patch)
tree042722f87bfbfb00740e0a43719298088e421482 /sources/shiboken2/ApiExtractor/apiextractor.cpp
parent2e2c845c28bdde8b5350d933910b8e2969776260 (diff)
shiboken: Refactor finding of enums
In the AbstractMetaBuilder, change the list of enums into a QHash with the type entry as key since that is mostly used for searching. Streamline and simplify the search functionality accordingly. Task-number: PYSIDE-817 Change-Id: I205cad1f90bc26511ea6b6e9b76ddb1bae544cf1 Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/shiboken2/ApiExtractor/apiextractor.cpp')
-rw-r--r--sources/shiboken2/ApiExtractor/apiextractor.cpp34
1 files changed, 1 insertions, 33 deletions
diff --git a/sources/shiboken2/ApiExtractor/apiextractor.cpp b/sources/shiboken2/ApiExtractor/apiextractor.cpp
index 80ffc3910..775485c81 100644
--- a/sources/shiboken2/ApiExtractor/apiextractor.cpp
+++ b/sources/shiboken2/ApiExtractor/apiextractor.cpp
@@ -177,41 +177,9 @@ static const AbstractMetaEnum* findEnumOnClasses(AbstractMetaClassList metaClass
return result;
}
-const AbstractMetaEnum* ApiExtractor::findAbstractMetaEnum(const EnumTypeEntry* typeEntry) const
-{
- if (!typeEntry)
- return 0;
- const AbstractMetaEnumList &globalEnums = m_builder->globalEnums();
- for (AbstractMetaEnum* metaEnum : globalEnums) {
- if (metaEnum->typeEntry() == typeEntry)
- return metaEnum;
- }
- return findEnumOnClasses(m_builder->classes(), typeEntry);
-}
-
const AbstractMetaEnum* ApiExtractor::findAbstractMetaEnum(const TypeEntry* typeEntry) const
{
- if (!typeEntry)
- return 0;
- if (typeEntry->isFlags())
- return findAbstractMetaEnum(static_cast<const FlagsTypeEntry*>(typeEntry));
- if (typeEntry->isEnum())
- return findAbstractMetaEnum(static_cast<const EnumTypeEntry*>(typeEntry));
- return 0;
-}
-
-const AbstractMetaEnum* ApiExtractor::findAbstractMetaEnum(const FlagsTypeEntry* typeEntry) const
-{
- if (!typeEntry)
- return 0;
- return findAbstractMetaEnum(typeEntry->originator());
-}
-
-const AbstractMetaEnum* ApiExtractor::findAbstractMetaEnum(const AbstractMetaType* metaType) const
-{
- if (!metaType)
- return 0;
- return findAbstractMetaEnum(metaType->typeEntry());
+ return m_builder->findEnum(typeEntry);
}
int ApiExtractor::classCount() const