aboutsummaryrefslogtreecommitdiffstats
path: root/ApiExtractor/abstractmetalang.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ApiExtractor/abstractmetalang.cpp')
-rw-r--r--ApiExtractor/abstractmetalang.cpp26
1 files changed, 15 insertions, 11 deletions
diff --git a/ApiExtractor/abstractmetalang.cpp b/ApiExtractor/abstractmetalang.cpp
index cc3283a59..4b890a9d5 100644
--- a/ApiExtractor/abstractmetalang.cpp
+++ b/ApiExtractor/abstractmetalang.cpp
@@ -2644,7 +2644,8 @@ bool AbstractMetaType::isTargetLangFlags() const
*/
-AbstractMetaEnum *AbstractMetaClassList::findEnum(const EnumTypeEntry *entry) const
+AbstractMetaEnum *AbstractMetaClass::findEnum(const AbstractMetaClassList &classes,
+ const EnumTypeEntry *entry)
{
Q_ASSERT(entry->isEnum());
@@ -2662,7 +2663,7 @@ AbstractMetaEnum *AbstractMetaClassList::findEnum(const EnumTypeEntry *entry) co
className = TypeDatabase::globalNamespaceClassName(entry);
}
- AbstractMetaClass *metaClass = findClass(className);
+ AbstractMetaClass *metaClass = AbstractMetaClass::findClass(classes, className);
if (!metaClass) {
qCWarning(lcShiboken).noquote().nospace()
<< QStringLiteral("AbstractMeta::findEnum(), unknown class '%1' in '%2'")
@@ -2682,7 +2683,8 @@ AbstractMetaEnumValue *AbstractMetaEnumValueList::find(const QString &name) cons
return 0;
}
-AbstractMetaEnumValue *AbstractMetaClassList::findEnumValue(const QString &name) const
+AbstractMetaEnumValue *AbstractMetaClass::findEnumValue(const AbstractMetaClassList &classes,
+ const QString &name)
{
QStringList lst = name.split(QLatin1String("::"));
@@ -2690,12 +2692,12 @@ AbstractMetaEnumValue *AbstractMetaClassList::findEnumValue(const QString &name)
QString prefixName = lst.at(0);
QString enumName = lst.at(1);
- AbstractMetaClass* cl = findClass(prefixName);
+ AbstractMetaClass* cl = findClass(classes, prefixName);
if (cl)
return cl->findEnumValue(enumName, 0);
}
- foreach(AbstractMetaClass* metaClass, *this) {
+ foreach (AbstractMetaClass* metaClass, classes) {
foreach(AbstractMetaEnum* metaEnum, metaClass->enums()) {
AbstractMetaEnumValue* enumValue = metaClass->findEnumValue(name, metaEnum);
if (enumValue)
@@ -2713,22 +2715,23 @@ AbstractMetaEnumValue *AbstractMetaClassList::findEnumValue(const QString &name)
* C++, Target language base name or complete Target language package.class name.
*/
-AbstractMetaClass *AbstractMetaClassList::findClass(const QString &name) const
+AbstractMetaClass *AbstractMetaClass::findClass(const AbstractMetaClassList &classes,
+ const QString &name)
{
if (name.isEmpty())
return 0;
- foreach (AbstractMetaClass *c, *this) {
+ foreach (AbstractMetaClass *c, classes) {
if (c->qualifiedCppName() == name)
return c;
}
- foreach (AbstractMetaClass *c, *this) {
+ foreach (AbstractMetaClass *c, classes) {
if (c->fullName() == name)
return c;
}
- foreach (AbstractMetaClass *c, *this) {
+ foreach (AbstractMetaClass *c, classes) {
if (c->name() == name)
return c;
}
@@ -2736,9 +2739,10 @@ AbstractMetaClass *AbstractMetaClassList::findClass(const QString &name) const
return 0;
}
-AbstractMetaClass *AbstractMetaClassList::findClass(const TypeEntry* typeEntry) const
+AbstractMetaClass *AbstractMetaClass::findClass(const AbstractMetaClassList &classes,
+ const TypeEntry* typeEntry)
{
- foreach (AbstractMetaClass* c, *this) {
+ foreach (AbstractMetaClass* c, classes) {
if (c->typeEntry() == typeEntry)
return c;
}