aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/generator/shiboken2/shibokengenerator.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2020-09-29 07:35:34 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2020-09-29 07:35:34 +0200
commit3bbcb7b0e6e0342569aa155d695bca46a7459eb0 (patch)
treee3675d77f409db4ecbc4f92cdfdbfa62763cb2d4 /sources/shiboken2/generator/shiboken2/shibokengenerator.cpp
parent9881b68c4c7bc1715cd266c41c63a3a918d83b07 (diff)
parent50247e7d4a67e892a85dff7472f889bac97c91c7 (diff)
Merge remote-tracking branch 'origin/5.15' into dev
Diffstat (limited to 'sources/shiboken2/generator/shiboken2/shibokengenerator.cpp')
-rw-r--r--sources/shiboken2/generator/shiboken2/shibokengenerator.cpp35
1 files changed, 29 insertions, 6 deletions
diff --git a/sources/shiboken2/generator/shiboken2/shibokengenerator.cpp b/sources/shiboken2/generator/shiboken2/shibokengenerator.cpp
index 418d3f529..825965b92 100644
--- a/sources/shiboken2/generator/shiboken2/shibokengenerator.cpp
+++ b/sources/shiboken2/generator/shiboken2/shibokengenerator.cpp
@@ -31,6 +31,7 @@
#include <abstractmetalang.h>
#include <messages.h>
#include "overloaddata.h"
+#include "propertyspec.h"
#include <reporthandler.h>
#include <typedatabase.h>
#include <abstractmetabuilder.h>
@@ -452,14 +453,38 @@ QString ShibokenGenerator::cpythonGetattroFunctionName(const AbstractMetaClass *
return cpythonBaseName(metaClass) + QLatin1String("_getattro");
}
+QString ShibokenGenerator::cpythonGetterFunctionName(const QString &name,
+ const AbstractMetaClass *enclosingClass)
+{
+ return cpythonBaseName(enclosingClass) + QStringLiteral("_get_") + name;
+}
+
+QString ShibokenGenerator::cpythonSetterFunctionName(const QString &name,
+ const AbstractMetaClass *enclosingClass)
+{
+ return cpythonBaseName(enclosingClass) + QStringLiteral("_set_") + name;
+}
+
QString ShibokenGenerator::cpythonGetterFunctionName(const AbstractMetaField *metaField)
{
- return QStringLiteral("%1_get_%2").arg(cpythonBaseName(metaField->enclosingClass()), metaField->name());
+ return cpythonGetterFunctionName(metaField->name(), metaField->enclosingClass());
}
QString ShibokenGenerator::cpythonSetterFunctionName(const AbstractMetaField *metaField)
{
- return QStringLiteral("%1_set_%2").arg(cpythonBaseName(metaField->enclosingClass()), metaField->name());
+ return cpythonSetterFunctionName(metaField->name(), metaField->enclosingClass());
+}
+
+QString ShibokenGenerator::cpythonGetterFunctionName(const QPropertySpec *property,
+ const AbstractMetaClass *metaClass)
+{
+ return cpythonGetterFunctionName(property->name(), metaClass);
+}
+
+QString ShibokenGenerator::cpythonSetterFunctionName(const QPropertySpec *property,
+ const AbstractMetaClass *metaClass)
+{
+ return cpythonSetterFunctionName(property->name(), metaClass);
}
static QString cpythonEnumFlagsName(const QString &moduleName,
@@ -1590,8 +1615,7 @@ AbstractMetaFunctionList ShibokenGenerator::filterFunctions(const AbstractMetaCl
ShibokenGenerator::ExtendedConverterData ShibokenGenerator::getExtendedConverters() const
{
ExtendedConverterData extConvs;
- const AbstractMetaClassList &classList = classes();
- for (const AbstractMetaClass *metaClass : classList) {
+ for (const AbstractMetaClass *metaClass : classes()) {
// Use only the classes for the current module.
if (!shouldGenerate(metaClass))
continue;
@@ -2622,8 +2646,7 @@ bool ShibokenGenerator::doSetup()
const ContainerTypeEntryList &containerTypeList = containerTypes();
for (const ContainerTypeEntry *type : containerTypeList)
getCode(snips, type);
- const AbstractMetaClassList &classList = classes();
- for (const AbstractMetaClass *metaClass : classList)
+ for (const AbstractMetaClass *metaClass : classes())
getCode(snips, metaClass->typeEntry());
const TypeSystemTypeEntry *moduleEntry = TypeDatabase::instance()->defaultTypeSystemType();