diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-04-01 15:55:44 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-04-03 18:07:51 +0000 |
commit | 6ae9396660800f67bc95d19e5e5fd326ea268190 (patch) | |
tree | 67f0d23d115a6f829a6b59450fc33cf6a2139454 /sources/shiboken2/generator/shiboken2 | |
parent | 1d7af0b25ac241a95e33bd46561033d0b33b9013 (diff) |
shiboken: Search for classes by type entry instead of name
Searching by name is more efficient and has problems when extending
namespaces. Search by type entry instead where possible.
Change-Id: I131329a6648bb7f0a02cba08a5fbbc0531e0c51f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources/shiboken2/generator/shiboken2')
-rw-r--r-- | sources/shiboken2/generator/shiboken2/cppgenerator.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sources/shiboken2/generator/shiboken2/cppgenerator.cpp b/sources/shiboken2/generator/shiboken2/cppgenerator.cpp index 2fedf9ae1..79129d6b8 100644 --- a/sources/shiboken2/generator/shiboken2/cppgenerator.cpp +++ b/sources/shiboken2/generator/shiboken2/cppgenerator.cpp @@ -3076,7 +3076,7 @@ QString CppGenerator::argumentNameFromIndex(const AbstractMetaFunction* func, in AbstractMetaType *returnType = getTypeWithoutContainer(funcType); if (returnType) { pyArgName = QLatin1String(PYTHON_RETURN_VAR); - *wrappedClass = AbstractMetaClass::findClass(classes(), returnType->typeEntry()->name()); + *wrappedClass = AbstractMetaClass::findClass(classes(), returnType->typeEntry()); } else { QString message = QLatin1String("Invalid Argument index (0, return value) on function modification: ") + (funcType ? funcType->name() : QLatin1String("void")) + QLatin1Char(' '); @@ -3090,7 +3090,7 @@ QString CppGenerator::argumentNameFromIndex(const AbstractMetaFunction* func, in AbstractMetaType* argType = getTypeWithoutContainer(func->arguments().at(realIndex)->type()); if (argType) { - *wrappedClass = AbstractMetaClass::findClass(classes(), argType->typeEntry()->name()); + *wrappedClass = AbstractMetaClass::findClass(classes(), argType->typeEntry()); if (argIndex == 1 && !func->isConstructor() && OverloadData::isSingleArgument(getFunctionGroups(func->implementingClass())[func->name()])) |