diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-09-13 08:56:09 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-09-13 11:11:34 +0200 |
commit | a89915c271c9da86fc0e9ba89552c1678449d6c4 (patch) | |
tree | 1846f9f2db9713e6a1775421925afb7f91eee7f9 /sources | |
parent | 7ac7e8f34750202948117a2a3bd716b7ceef43f7 (diff) |
Remove SbkObjectType from the API
Leave only a deprecated typedef.
Complements a4311711eb89e3f9833a05edf3debdf7563a104f.
Task-number: PYSIDE-535
Change-Id: Icab9e82e7bff99363c01e471db1c84ee8d6c0b6b
Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources')
-rw-r--r-- | sources/pyside6/PySide6/QtQml/pysideqmlregistertype.cpp | 4 | ||||
-rw-r--r-- | sources/pyside6/libpyside/pyside.cpp | 8 | ||||
-rw-r--r-- | sources/pyside6/libpyside/pyside.h | 8 | ||||
-rw-r--r-- | sources/pyside6/libpyside/pysidesignal.cpp | 6 | ||||
-rw-r--r-- | sources/pyside6/libpyside/pysidesignal.h | 2 | ||||
-rw-r--r-- | sources/shiboken6/generator/shiboken/cppgenerator.cpp | 10 | ||||
-rw-r--r-- | sources/shiboken6/libshiboken/basewrapper.cpp | 58 | ||||
-rw-r--r-- | sources/shiboken6/libshiboken/basewrapper.h | 52 | ||||
-rw-r--r-- | sources/shiboken6/libshiboken/basewrapper_p.h | 16 | ||||
-rw-r--r-- | sources/shiboken6/libshiboken/bindingmanager.cpp | 22 | ||||
-rw-r--r-- | sources/shiboken6/libshiboken/bindingmanager.h | 4 | ||||
-rw-r--r-- | sources/shiboken6/libshiboken/pep384impl.cpp | 10 | ||||
-rw-r--r-- | sources/shiboken6/libshiboken/sbkconverter.cpp | 24 | ||||
-rw-r--r-- | sources/shiboken6/libshiboken/sbkconverter.h | 24 | ||||
-rw-r--r-- | sources/shiboken6/libshiboken/sbkenum.cpp | 2 | ||||
-rw-r--r-- | sources/shiboken6/libshiboken/sbkenum.h | 2 | ||||
-rw-r--r-- | sources/shiboken6/libshiboken/sbkpython.h | 2 |
17 files changed, 127 insertions, 127 deletions
diff --git a/sources/pyside6/PySide6/QtQml/pysideqmlregistertype.cpp b/sources/pyside6/PySide6/QtQml/pysideqmlregistertype.cpp index 817396b4b..82824c77a 100644 --- a/sources/pyside6/PySide6/QtQml/pysideqmlregistertype.cpp +++ b/sources/pyside6/PySide6/QtQml/pysideqmlregistertype.cpp @@ -128,7 +128,7 @@ int PySide::qmlRegisterType(PyObject *pyObj, const char *uri, int versionMajor, QQmlPrivate::StaticCastSelector<QObject, QQmlPropertyValueInterceptor>::cast(); int objectSize = static_cast<int>(PySide::getSizeOfQObject( - reinterpret_cast<SbkObjectType *>(pyObj))); + reinterpret_cast<PyTypeObject *>(pyObj))); type.objectSize = objectSize; type.create = creatable ? createInto : nullptr; type.noCreationReason = noCreationReason; @@ -247,7 +247,7 @@ int PySide::qmlRegisterSingletonType(PyObject *pyObj, const char *uri, int versi AutoDecRef retVal(PyObject_CallObject(callback, args)); - SbkObjectType *qjsvalueType = SbkPySide6_QtQmlTypes[SBK_QJSVALUE_IDX]; + PyTypeObject *qjsvalueType = SbkPySide6_QtQmlTypes[SBK_QJSVALUE_IDX]; // Make sure the callback returns something we can convert, else the entire application will crash. if (retVal.isNull() || diff --git a/sources/pyside6/libpyside/pyside.cpp b/sources/pyside6/libpyside/pyside.cpp index 59b7f54e9..4fc29597f 100644 --- a/sources/pyside6/libpyside/pyside.cpp +++ b/sources/pyside6/libpyside/pyside.cpp @@ -218,12 +218,12 @@ void destroyQCoreApplication() Py_DECREF(MakeQAppWrapper(nullptr)); } -std::size_t getSizeOfQObject(SbkObjectType *type) +std::size_t getSizeOfQObject(PyTypeObject *type) { return retrieveTypeUserData(type)->cppObjSize; } -void initDynamicMetaObject(SbkObjectType *type, const QMetaObject *base, std::size_t cppObjSize) +void initDynamicMetaObject(PyTypeObject *type, const QMetaObject *base, std::size_t cppObjSize) { //create DynamicMetaObject based on python type auto userData = new TypeUserData(reinterpret_cast<PyTypeObject *>(type), base, cppObjSize); @@ -265,7 +265,7 @@ const QMetaObject *retrieveMetaObject(PyObject *pyObj) return retrieveMetaObject(pyTypeObj); } -void initQObjectSubType(SbkObjectType *type, PyObject *args, PyObject * /* kwds */) +void initQObjectSubType(PyTypeObject *type, PyObject *args, PyObject * /* kwds */) { PyTypeObject *qObjType = Shiboken::Conversions::getPythonTypeObject("QObject*"); QByteArray className(Shiboken::String::toCString(PyTuple_GET_ITEM(args, 0))); @@ -446,7 +446,7 @@ PyTypeObject *getTypeForQObject(const QObject *cppSelf) return nullptr; } -PyObject *getWrapperForQObject(QObject *cppSelf, SbkObjectType *sbk_type) +PyObject *getWrapperForQObject(QObject *cppSelf, PyTypeObject *sbk_type) { PyObject *pyOut = reinterpret_cast<PyObject *>(Shiboken::BindingManager::instance().retrieveWrapper(cppSelf)); if (pyOut) { diff --git a/sources/pyside6/libpyside/pyside.h b/sources/pyside6/libpyside/pyside.h index b74cc8414..0362351ea 100644 --- a/sources/pyside6/libpyside/pyside.h +++ b/sources/pyside6/libpyside/pyside.h @@ -95,13 +95,13 @@ template<typename T> struct initQtMetaType<T, false> { }; -PYSIDE_API void initDynamicMetaObject(SbkObjectType *type, const QMetaObject *base, +PYSIDE_API void initDynamicMetaObject(PyTypeObject *type, const QMetaObject *base, std::size_t cppObjSize); -PYSIDE_API void initQObjectSubType(SbkObjectType *type, PyObject *args, PyObject *kwds); +PYSIDE_API void initQObjectSubType(PyTypeObject *type, PyObject *args, PyObject *kwds); PYSIDE_API void initQApp(); /// Return the size in bytes of a type that inherits QObject. -PYSIDE_API std::size_t getSizeOfQObject(SbkObjectType *type); +PYSIDE_API std::size_t getSizeOfQObject(PyTypeObject *type); /* Check if a PyTypeObject or its bases contains a QObject * \param pyType is the PyTypeObject to check @@ -143,7 +143,7 @@ PYSIDE_API bool inherits(PyTypeObject *self, const char *class_name); PYSIDE_API void *nextQObjectMemoryAddr(); PYSIDE_API void setNextQObjectMemoryAddr(void *addr); -PYSIDE_API PyObject *getWrapperForQObject(QObject *cppSelf, SbkObjectType *sbk_type); +PYSIDE_API PyObject *getWrapperForQObject(QObject *cppSelf, PyTypeObject *sbk_type); /// Return the best-matching type for a QObject (Helper for QObject.findType()) /// \param cppSelf QObject instance diff --git a/sources/pyside6/libpyside/pysidesignal.cpp b/sources/pyside6/libpyside/pysidesignal.cpp index 3a3b52c2a..c565ca99a 100644 --- a/sources/pyside6/libpyside/pysidesignal.cpp +++ b/sources/pyside6/libpyside/pysidesignal.cpp @@ -777,7 +777,7 @@ QByteArray getTypeName(PyObject *type) if (PyType_Check(type)) { if (PyType_IsSubtype(reinterpret_cast<PyTypeObject *>(type), reinterpret_cast<PyTypeObject *>(SbkObject_TypeF()))) { - auto objType = reinterpret_cast<SbkObjectType *>(type); + auto objType = reinterpret_cast<PyTypeObject *>(type); return Shiboken::ObjectType::getOriginalName(objType); } // Translate python types to Qt names @@ -940,7 +940,7 @@ static typename T::value_type join(T t, const char *sep) return res; } -static void _addSignalToWrapper(SbkObjectType *wrapperType, const char *signalName, PySideSignal *signal) +static void _addSignalToWrapper(PyTypeObject *wrapperType, const char *signalName, PySideSignal *signal) { auto typeDict = wrapperType->tp_dict; PyObject *homonymousMethod; @@ -963,7 +963,7 @@ static PyObject *buildQtCompatible(const QByteArray &signature) return Shiboken::String::fromStringAndSize(ba, ba.size()); } -void registerSignals(SbkObjectType *pyObj, const QMetaObject *metaObject) +void registerSignals(PyTypeObject *pyObj, const QMetaObject *metaObject) { using SignalSigMap = QHash<QByteArray, QList<SignalSignature> >; SignalSigMap signalsFound; diff --git a/sources/pyside6/libpyside/pysidesignal.h b/sources/pyside6/libpyside/pysidesignal.h index edef37af1..9127c81aa 100644 --- a/sources/pyside6/libpyside/pysidesignal.h +++ b/sources/pyside6/libpyside/pysidesignal.h @@ -91,7 +91,7 @@ PYSIDE_API bool checkInstanceType(PyObject *pyObj); /** * Register all C++ signals of a QObject on Python type. */ -PYSIDE_API void registerSignals(SbkObjectType *pyObj, const QMetaObject *metaObject); +PYSIDE_API void registerSignals(PyTypeObject *pyObj, const QMetaObject *metaObject); /** * This function creates a Signal object which stays attached to QObject class based on a list of QMetaMethods diff --git a/sources/shiboken6/generator/shiboken/cppgenerator.cpp b/sources/shiboken6/generator/shiboken/cppgenerator.cpp index 32c82f2cb..66e8de04e 100644 --- a/sources/shiboken6/generator/shiboken/cppgenerator.cpp +++ b/sources/shiboken6/generator/shiboken/cppgenerator.cpp @@ -2702,7 +2702,7 @@ void CppGenerator::writePythonToCppTypeConversion(TextStream &s, if (!defaultValue.isEmpty()) s << "if (" << pythonToCppFunc << ") {\n" << indent; - s << "if (Shiboken::Conversions::isImplicitConversion(reinterpret_cast<SbkObjectType *>(" + s << "if (Shiboken::Conversions::isImplicitConversion(reinterpret_cast<PyTypeObject *>(" << cpythonTypeNameExt(type) << "), " << pythonToCppFunc << "))\n" << indent << pythonToCppFunc << '(' << pyIn << ", &" << cppOutAux << ");\n" << outdent << "else\n" << indent @@ -4035,7 +4035,7 @@ void CppGenerator::writeSpecialCastFunction(TextStream &s, const AbstractMetaCla { QString className = metaClass->qualifiedCppName(); s << "static void * " << cpythonSpecialCastFunctionName(metaClass) - << "(void *obj, SbkObjectType *desiredType)\n{\n" << indent + << "(void *obj, PyTypeObject *desiredType)\n{\n" << indent << "auto me = reinterpret_cast< ::" << className << " *>(obj);\n"; bool firstClass = true; const AbstractMetaClassList &allAncestors = metaClass->allTypeSystemAncestors(); @@ -4425,8 +4425,8 @@ void CppGenerator::writeClassDefinition(TextStream &s, const QString typePtr = QLatin1String("_") + className + QLatin1String("_Type"); - s << "static SbkObjectType *" << typePtr << " = nullptr;\n" - << "static SbkObjectType *" << className << "_TypeF(void)\n" + s << "static PyTypeObject *" << typePtr << " = nullptr;\n" + << "static PyTypeObject *" << className << "_TypeF(void)\n" << "{\n" << indent << "return " << typePtr << ";\n" << outdent << "}\n\nstatic PyType_Slot " << className << "_slots[] = {\n" << indent << "{Py_tp_base, nullptr}, // inserted by introduceWrapperType\n" @@ -5809,7 +5809,7 @@ void CppGenerator::writeTypeDiscoveryFunction(TextStream &s, const AbstractMetaC QString polymorphicExpr = metaClass->typeEntry()->polymorphicIdValue(); s << "static void *" << cpythonBaseName(metaClass) - << "_typeDiscovery(void *cptr, SbkObjectType *instanceType)\n{\n" << indent; + << "_typeDiscovery(void *cptr, PyTypeObject *instanceType)\n{\n" << indent; if (!polymorphicExpr.isEmpty()) { polymorphicExpr = polymorphicExpr.replace(QLatin1String("%1"), diff --git a/sources/shiboken6/libshiboken/basewrapper.cpp b/sources/shiboken6/libshiboken/basewrapper.cpp index 4ee2eda23..af3fabd16 100644 --- a/sources/shiboken6/libshiboken/basewrapper.cpp +++ b/sources/shiboken6/libshiboken/basewrapper.cpp @@ -249,7 +249,7 @@ static const char *SbkObject_SignatureStrings[] = { "Shiboken.Object(self)", nullptr}; // Sentinel -SbkObjectType *SbkObject_TypeF(void) +PyTypeObject *SbkObject_TypeF(void) { static PyTypeObject *type = nullptr; if (!type) { @@ -544,7 +544,7 @@ static PyObject *SbkObjectTypeTpNew(PyTypeObject *metatype, PyObject *args, PyOb // PYSIDE-1463: Prevent feature switching while in the creation process auto saveFeature = initSelectableFeature(nullptr); - for (SbkObjectType *base : bases) { + for (PyTypeObject *base : bases) { sotp = PepType_SOTP(base); if (sotp->subtype_init) sotp->subtype_init(newType, args, kwds); @@ -722,25 +722,25 @@ bool walkThroughClassHierarchy(PyTypeObject *currentType, HierarchyVisitor *visi HierarchyVisitor::HierarchyVisitor() = default; HierarchyVisitor::~HierarchyVisitor() = default; -bool BaseCountVisitor::visit(SbkObjectType *) +bool BaseCountVisitor::visit(PyTypeObject *) { m_count++; return false; } -bool BaseAccumulatorVisitor::visit(SbkObjectType *node) +bool BaseAccumulatorVisitor::visit(PyTypeObject *node) { m_bases.push_back(node); return false; } -bool GetIndexVisitor::visit(SbkObjectType *node) +bool GetIndexVisitor::visit(PyTypeObject *node) { m_index++; return PyType_IsSubtype(node, m_desiredType); } -bool DtorAccumulatorVisitor::visit(SbkObjectType *node) +bool DtorAccumulatorVisitor::visit(PyTypeObject *node) { auto *sotp = PepType_SOTP(node); m_entries.push_back(DestructorEntry{sotp->cpp_dtor, @@ -802,7 +802,7 @@ class FindBaseTypeVisitor : public HierarchyVisitor public: explicit FindBaseTypeVisitor(PyTypeObject *typeToFind) : m_typeToFind(typeToFind) {} - bool visit(SbkObjectType *node) override + bool visit(PyTypeObject *node) override { return node == m_typeToFind; } @@ -859,24 +859,24 @@ bool canCallConstructor(PyTypeObject *myType, PyTypeObject *ctorType) return true; } -bool hasCast(SbkObjectType *type) +bool hasCast(PyTypeObject *type) { return PepType_SOTP(type)->mi_specialcast != nullptr; } -void *cast(SbkObjectType *sourceType, SbkObject *obj, PyTypeObject *pyTargetType) +void *cast(PyTypeObject *sourceType, SbkObject *obj, PyTypeObject *pyTargetType) { auto *sotp = PepType_SOTP(sourceType); return sotp->mi_specialcast(Object::cppPointer(obj, pyTargetType), pyTargetType); } -void setCastFunction(SbkObjectType *type, SpecialCastFunction func) +void setCastFunction(PyTypeObject *type, SpecialCastFunction func) { auto *sotp = PepType_SOTP(type); sotp->mi_specialcast = func; } -void setOriginalName(SbkObjectType *type, const char *name) +void setOriginalName(PyTypeObject *type, const char *name) { auto *sotp = PepType_SOTP(type); if (sotp->original_name) @@ -884,17 +884,17 @@ void setOriginalName(SbkObjectType *type, const char *name) sotp->original_name = strdup(name); } -const char *getOriginalName(SbkObjectType *type) +const char *getOriginalName(PyTypeObject *type) { return PepType_SOTP(type)->original_name; } -void setTypeDiscoveryFunctionV2(SbkObjectType *type, TypeDiscoveryFuncV2 func) +void setTypeDiscoveryFunctionV2(PyTypeObject *type, TypeDiscoveryFuncV2 func) { PepType_SOTP(type)->type_discovery = func; } -void copyMultipleInheritance(SbkObjectType *type, SbkObjectType *other) +void copyMultipleInheritance(PyTypeObject *type, PyTypeObject *other) { auto *sotp_type = PepType_SOTP(type); auto *sotp_other = PepType_SOTP(other); @@ -903,28 +903,28 @@ void copyMultipleInheritance(SbkObjectType *type, SbkObjectType *other) sotp_type->mi_specialcast = sotp_other->mi_specialcast; } -void setMultipleInheritanceFunction(SbkObjectType *type, MultipleInheritanceInitFunction function) +void setMultipleInheritanceFunction(PyTypeObject *type, MultipleInheritanceInitFunction function) { PepType_SOTP(type)->mi_init = function; } -MultipleInheritanceInitFunction getMultipleInheritanceFunction(SbkObjectType *type) +MultipleInheritanceInitFunction getMultipleInheritanceFunction(PyTypeObject *type) { return PepType_SOTP(type)->mi_init; } -void setDestructorFunction(SbkObjectType *type, ObjectDestructor func) +void setDestructorFunction(PyTypeObject *type, ObjectDestructor func) { PepType_SOTP(type)->cpp_dtor = func; } -SbkObjectType * +PyTypeObject * introduceWrapperType(PyObject *enclosingObject, const char *typeName, const char *originalName, PyType_Spec *typeSpec, ObjectDestructor cppObjDtor, - SbkObjectType *baseType, + PyTypeObject *baseType, PyObject *baseTypes, unsigned wrapperFlags) { @@ -969,17 +969,17 @@ introduceWrapperType(PyObject *enclosingObject, return type; } -void setSubTypeInitHook(SbkObjectType *type, SubTypeInitHook func) +void setSubTypeInitHook(PyTypeObject *type, SubTypeInitHook func) { PepType_SOTP(type)->subtype_init = func; } -void *getTypeUserData(SbkObjectType *type) +void *getTypeUserData(PyTypeObject *type) { return PepType_SOTP(type)->user_data; } -void setTypeUserData(SbkObjectType *type, void *userData, DeleteUserDataFunc d_func) +void setTypeUserData(PyTypeObject *type, void *userData, DeleteUserDataFunc d_func) { auto *sotp = PepType_SOTP(type); sotp->user_data = userData; @@ -987,9 +987,9 @@ void setTypeUserData(SbkObjectType *type, void *userData, DeleteUserDataFunc d_f } // Try to find the exact type of cptr. -SbkObjectType *typeForTypeName(const char *typeName) +PyTypeObject *typeForTypeName(const char *typeName) { - SbkObjectType *result{}; + PyTypeObject *result{}; if (typeName) { if (PyTypeObject *pyType = Shiboken::Conversions::getPythonTypeObject(typeName)) result = pyType; @@ -997,7 +997,7 @@ SbkObjectType *typeForTypeName(const char *typeName) return result; } -bool hasSpecialCastFunction(SbkObjectType *sbkType) +bool hasSpecialCastFunction(PyTypeObject *sbkType) { const auto *d = PepType_SOTP(sbkType); return d != nullptr && d->mi_specialcast != nullptr; @@ -1347,7 +1347,7 @@ bool isValid(PyObject *pyObj, bool throwPyError) } SbkObject *findColocatedChild(SbkObject *wrapper, - const SbkObjectType *instanceType) + const PyTypeObject *instanceType) { // Degenerate case, wrapper is the correct wrapper. if (reinterpret_cast<const void *>(Py_TYPE(wrapper)) == reinterpret_cast<const void *>(instanceType)) @@ -1373,7 +1373,7 @@ SbkObject *findColocatedChild(SbkObject *wrapper, return nullptr; } -PyObject *newObject(SbkObjectType *instanceType, +PyObject *newObject(PyTypeObject *instanceType, void *cptr, bool hasOwnership, bool isExactType, @@ -1381,7 +1381,7 @@ PyObject *newObject(SbkObjectType *instanceType, { // Try to find the exact type of cptr. if (!isExactType) { - if (SbkObjectType *exactType = ObjectType::typeForTypeName(typeName)) + if (PyTypeObject *exactType = ObjectType::typeForTypeName(typeName)) instanceType = exactType; else instanceType = BindingManager::instance().resolveType(&cptr, instanceType); @@ -1683,7 +1683,7 @@ std::string info(SbkObject *self) std::ostringstream s; if (self->d && self->d->cptr) { - std::vector<SbkObjectType *> bases; + std::vector<PyTypeObject *> bases; if (ObjectType::isUserType(Py_TYPE(self))) bases = getCppBaseClasses(Py_TYPE(self)); else diff --git a/sources/shiboken6/libshiboken/basewrapper.h b/sources/shiboken6/libshiboken/basewrapper.h index 9e2183ec8..3fc25a15e 100644 --- a/sources/shiboken6/libshiboken/basewrapper.h +++ b/sources/shiboken6/libshiboken/basewrapper.h @@ -80,16 +80,16 @@ typedef int *(*MultipleInheritanceInitFunction)(const void *); * part of a multiple inheritance hierarchy. * The implementation of this function is auto generated by the generator and you don't need to care about it. */ -typedef void *(*SpecialCastFunction)(void *, SbkObjectType *); -typedef SbkObjectType *(*TypeDiscoveryFunc)(void *, SbkObjectType *); -typedef void *(*TypeDiscoveryFuncV2)(void *, SbkObjectType *); +typedef void *(*SpecialCastFunction)(void *, PyTypeObject *); +typedef PyTypeObject *(*TypeDiscoveryFunc)(void *, PyTypeObject *); +typedef void *(*TypeDiscoveryFuncV2)(void *, PyTypeObject *); // Used in userdata dealloc function typedef void (*DeleteUserDataFunc)(void *); typedef void (*ObjectDestructor)(void *); -typedef void (*SubTypeInitHook)(SbkObjectType *, PyObject *, PyObject *); +typedef void (*SubTypeInitHook)(PyTypeObject *, PyObject *, PyObject *); /// PYSIDE-1019: Set the function to select the current feature. /// Return value is the previous content. @@ -112,7 +112,7 @@ typedef void(*DestroyQAppHook)(); LIBSHIBOKEN_API void setDestroyQApplication(DestroyQAppHook func); extern LIBSHIBOKEN_API PyTypeObject *SbkObjectType_TypeF(void); -extern LIBSHIBOKEN_API SbkObjectType *SbkObject_TypeF(void); +extern LIBSHIBOKEN_API PyTypeObject *SbkObject_TypeF(void); struct SbkObjectTypePrivate; @@ -194,25 +194,25 @@ LIBSHIBOKEN_API bool canCallConstructor(PyTypeObject *myType, PyTypeObject *ctor * \returns true if a call to ObjectType::cast() is needed to obtain the correct * C++ pointer for Python objects of type \p type. */ -LIBSHIBOKEN_API bool hasCast(SbkObjectType *type); +LIBSHIBOKEN_API bool hasCast(PyTypeObject *type); /** * Cast the C++ pointer held by a Python object \p obj of type \p sourceType, * to a C++ pointer of a C++ class indicated by type \p targetType. * \returns The cast C++ pointer. */ -LIBSHIBOKEN_API void *cast(SbkObjectType *sourceType, SbkObject *obj, PyTypeObject *targetType); +LIBSHIBOKEN_API void *cast(PyTypeObject *sourceType, SbkObject *obj, PyTypeObject *targetType); /// Set the C++ cast function for \p type. -LIBSHIBOKEN_API void setCastFunction(SbkObjectType *type, SpecialCastFunction func); +LIBSHIBOKEN_API void setCastFunction(PyTypeObject *type, SpecialCastFunction func); -LIBSHIBOKEN_API void setOriginalName(SbkObjectType *self, const char *name); -LIBSHIBOKEN_API const char *getOriginalName(SbkObjectType *self); +LIBSHIBOKEN_API void setOriginalName(PyTypeObject *self, const char *name); +LIBSHIBOKEN_API const char *getOriginalName(PyTypeObject *self); -LIBSHIBOKEN_API void setTypeDiscoveryFunctionV2(SbkObjectType *self, TypeDiscoveryFuncV2 func); -LIBSHIBOKEN_API void copyMultipleInheritance(SbkObjectType *self, SbkObjectType *other); -LIBSHIBOKEN_API void setMultipleInheritanceFunction(SbkObjectType *self, MultipleInheritanceInitFunction func); -LIBSHIBOKEN_API MultipleInheritanceInitFunction getMultipleInheritanceFunction(SbkObjectType *self); +LIBSHIBOKEN_API void setTypeDiscoveryFunctionV2(PyTypeObject *self, TypeDiscoveryFuncV2 func); +LIBSHIBOKEN_API void copyMultipleInheritance(PyTypeObject *self, PyTypeObject *other); +LIBSHIBOKEN_API void setMultipleInheritanceFunction(PyTypeObject *self, MultipleInheritanceInitFunction func); +LIBSHIBOKEN_API MultipleInheritanceInitFunction getMultipleInheritanceFunction(PyTypeObject *self); -LIBSHIBOKEN_API void setDestructorFunction(SbkObjectType *self, ObjectDestructor func); +LIBSHIBOKEN_API void setDestructorFunction(PyTypeObject *self, ObjectDestructor func); enum WrapperFlags { @@ -237,12 +237,12 @@ enum WrapperFlags * wrapper type. * \returns true if the initialization went fine, false otherwise. */ -LIBSHIBOKEN_API SbkObjectType *introduceWrapperType(PyObject *enclosingObject, +LIBSHIBOKEN_API PyTypeObject *introduceWrapperType(PyObject *enclosingObject, const char *typeName, const char *originalName, PyType_Spec *typeSpec, ObjectDestructor cppObjDtor, - SbkObjectType *baseType, + PyTypeObject *baseType, PyObject *baseTypes, unsigned wrapperFlags = 0); @@ -253,28 +253,28 @@ LIBSHIBOKEN_API SbkObjectType *introduceWrapperType(PyObject *enclosingObject, * The hook gets 3 params, they are: The new type being created, args and kwds. The last two are the very * same got from tp_new. */ -LIBSHIBOKEN_API void setSubTypeInitHook(SbkObjectType *self, SubTypeInitHook func); +LIBSHIBOKEN_API void setSubTypeInitHook(PyTypeObject *self, SubTypeInitHook func); /** * Get the user data previously set by Shiboken::Object::setTypeUserData */ -LIBSHIBOKEN_API void *getTypeUserData(SbkObjectType *self); -LIBSHIBOKEN_API void setTypeUserData(SbkObjectType *self, void *userData, DeleteUserDataFunc d_func); +LIBSHIBOKEN_API void *getTypeUserData(PyTypeObject *self); +LIBSHIBOKEN_API void setTypeUserData(PyTypeObject *self, void *userData, DeleteUserDataFunc d_func); /** - * Return an instance of SbkObjectType for a C++ type name as determined by + * Return an instance of PyTypeObject for a C++ type name as determined by * typeinfo().name(). * \param typeName Type name * \since 5.12 */ -LIBSHIBOKEN_API SbkObjectType *typeForTypeName(const char *typeName); +LIBSHIBOKEN_API PyTypeObject *typeForTypeName(const char *typeName); /** - * Returns whether SbkObjectType has a special cast function (multiple inheritance) + * Returns whether PyTypeObject has a special cast function (multiple inheritance) * \param sbkType Sbk type * \since 5.12 */ -LIBSHIBOKEN_API bool hasSpecialCastFunction(SbkObjectType *sbkType); +LIBSHIBOKEN_API bool hasSpecialCastFunction(PyTypeObject *sbkType); } namespace Object { @@ -304,7 +304,7 @@ LIBSHIBOKEN_API Py_hash_t hash(PyObject *pyObj); * Find a child of given wrapper having same address having the specified type. */ LIBSHIBOKEN_API SbkObject *findColocatedChild(SbkObject *wrapper, - const SbkObjectType *instanceType); + const PyTypeObject *instanceType); /** * Bind a C++ object to Python. @@ -315,7 +315,7 @@ LIBSHIBOKEN_API SbkObject *findColocatedChild(SbkObject *wrapper, * and as fallback. * \param typeName If non-null, this will be used as helper to find the correct Python type for this object. */ -LIBSHIBOKEN_API PyObject *newObject(SbkObjectType *instanceType, +LIBSHIBOKEN_API PyObject *newObject(PyTypeObject *instanceType, void *cptr, bool hasOwnership = true, bool isExactType = false, diff --git a/sources/shiboken6/libshiboken/basewrapper_p.h b/sources/shiboken6/libshiboken/basewrapper_p.h index c565e32c5..a832620d6 100644 --- a/sources/shiboken6/libshiboken/basewrapper_p.h +++ b/sources/shiboken6/libshiboken/basewrapper_p.h @@ -146,7 +146,7 @@ struct SbkObjectTypePrivate /// Type user data void *user_data; DeleteUserDataFunc d_func; - void (*subtype_init)(SbkObjectType *, PyObject *, PyObject *); + void (*subtype_init)(PyTypeObject *, PyObject *, PyObject *); const char **propertyStrings; }; @@ -185,13 +185,13 @@ public: HierarchyVisitor(); virtual ~HierarchyVisitor(); - virtual bool visit(SbkObjectType *node) = 0; // return true to terminate + virtual bool visit(PyTypeObject *node) = 0; // return true to terminate }; class BaseCountVisitor : public HierarchyVisitor { public: - bool visit(SbkObjectType *) override; + bool visit(PyTypeObject *) override; int count() const { return m_count; } @@ -202,9 +202,9 @@ private: class BaseAccumulatorVisitor : public HierarchyVisitor { public: - using Result = std::vector<SbkObjectType *>; + using Result = std::vector<PyTypeObject *>; - bool visit(SbkObjectType *node) override; + bool visit(PyTypeObject *node) override; Result bases() const { return m_bases; } @@ -217,7 +217,7 @@ class GetIndexVisitor : public HierarchyVisitor public: explicit GetIndexVisitor(PyTypeObject *desiredType) : m_desiredType(desiredType) {} - bool visit(SbkObjectType *node) override; + bool visit(PyTypeObject *node) override; int index() const { return m_index; } @@ -233,7 +233,7 @@ class DtorAccumulatorVisitor : public HierarchyVisitor public: explicit DtorAccumulatorVisitor(SbkObject *pyObj) : m_pyObject(pyObj) {} - bool visit(SbkObjectType *node) override; + bool visit(PyTypeObject *node) override; using DestructorEntries = std::vector<DestructorEntry>; @@ -266,7 +266,7 @@ inline int getNumberOfCppBaseClasses(PyTypeObject *baseType) return visitor.count(); } -inline std::vector<SbkObjectType *> getCppBaseClasses(PyTypeObject *baseType) +inline std::vector<PyTypeObject *> getCppBaseClasses(PyTypeObject *baseType) { BaseAccumulatorVisitor visitor; walkThroughClassHierarchy(baseType, &visitor); diff --git a/sources/shiboken6/libshiboken/bindingmanager.cpp b/sources/shiboken6/libshiboken/bindingmanager.cpp index 13b33942b..20b331bde 100644 --- a/sources/shiboken6/libshiboken/bindingmanager.cpp +++ b/sources/shiboken6/libshiboken/bindingmanager.cpp @@ -59,14 +59,14 @@ using WrapperMap = std::unordered_map<const void *, SbkObject *>; class Graph { public: - using NodeList = std::vector<SbkObjectType *>; - using Edges = std::unordered_map<SbkObjectType *, NodeList>; + using NodeList = std::vector<PyTypeObject *>; + using Edges = std::unordered_map<PyTypeObject *, NodeList>; Edges m_edges; Graph() = default; - void addEdge(SbkObjectType *from, SbkObjectType *to) + void addEdge(PyTypeObject *from, PyTypeObject *to) { m_edges[from].push_back(to); } @@ -81,7 +81,7 @@ public: for (auto i = m_edges.begin(), end = m_edges.end(); i != end; ++i) { auto *node1 = i->first; const NodeList &nodeList = i->second; - for (const SbkObjectType *o : nodeList) { + for (const PyTypeObject *o : nodeList) { auto *node2 = o; file << '"' << node2->tp_name << "\" -> \"" << node1->tp_name << "\"\n"; @@ -91,13 +91,13 @@ public: } #endif - SbkObjectType *identifyType(void **cptr, SbkObjectType *type, SbkObjectType *baseType) const + PyTypeObject *identifyType(void **cptr, PyTypeObject *type, PyTypeObject *baseType) const { auto edgesIt = m_edges.find(type); if (edgesIt != m_edges.end()) { const NodeList &adjNodes = m_edges.find(type)->second; - for (SbkObjectType *node : adjNodes) { - SbkObjectType *newType = identifyType(cptr, node, baseType); + for (PyTypeObject *node : adjNodes) { + PyTypeObject *newType = identifyType(cptr, node, baseType); if (newType) return newType; } @@ -108,7 +108,7 @@ public: typeFound = sotp->type_discovery(*cptr, baseType); if (typeFound) { // This "typeFound != type" is needed for backwards compatibility with old modules using a newer version of - // libshiboken because old versions of type_discovery function used to return a SbkObjectType *instead of + // libshiboken because old versions of type_discovery function used to return a PyTypeObject *instead of // a possible variation of the C++ instance pointer (*cptr). if (typeFound != type) *cptr = typeFound; @@ -367,14 +367,14 @@ PyObject *BindingManager::getOverride(const void *cptr, return nullptr; } -void BindingManager::addClassInheritance(SbkObjectType *parent, SbkObjectType *child) +void BindingManager::addClassInheritance(PyTypeObject *parent, PyTypeObject *child) { m_d->classHierarchy.addEdge(parent, child); } -SbkObjectType *BindingManager::resolveType(void **cptr, SbkObjectType *type) +PyTypeObject *BindingManager::resolveType(void **cptr, PyTypeObject *type) { - SbkObjectType *identifiedType = m_d->classHierarchy.identifyType(cptr, type, type); + PyTypeObject *identifiedType = m_d->classHierarchy.identifyType(cptr, type, type); return identifiedType ? identifiedType : type; } diff --git a/sources/shiboken6/libshiboken/bindingmanager.h b/sources/shiboken6/libshiboken/bindingmanager.h index ab0ad79de..bd87bc636 100644 --- a/sources/shiboken6/libshiboken/bindingmanager.h +++ b/sources/shiboken6/libshiboken/bindingmanager.h @@ -74,7 +74,7 @@ public: SbkObject *retrieveWrapper(const void *cptr); PyObject *getOverride(const void *cptr, PyObject *nameCache[], const char *methodName); - void addClassInheritance(SbkObjectType *parent, SbkObjectType *child); + void addClassInheritance(PyTypeObject *parent, PyTypeObject *child); /** * Try to find the correct type of *cptr knowing that it's at least of type \p type. * In case of multiple inheritance this function may change the contents of cptr. @@ -82,7 +82,7 @@ public: * \param type type of *cptr * \warning This function is slow, use it only as last resort. */ - SbkObjectType *resolveType(void **cptr, SbkObjectType *type); + PyTypeObject *resolveType(void **cptr, PyTypeObject *type); std::set<PyObject *> getAllPyObjects(); diff --git a/sources/shiboken6/libshiboken/pep384impl.cpp b/sources/shiboken6/libshiboken/pep384impl.cpp index 8ec562a78..2722510af 100644 --- a/sources/shiboken6/libshiboken/pep384impl.cpp +++ b/sources/shiboken6/libshiboken/pep384impl.cpp @@ -825,13 +825,13 @@ init_PepRuntime() */ /* - * SbkObjectType extender + * PyTypeObject extender */ -static std::unordered_map<SbkObjectType *, SbkObjectTypePrivate > SOTP_extender{}; -static thread_local SbkObjectType *SOTP_key{}; +static std::unordered_map<PyTypeObject *, SbkObjectTypePrivate > SOTP_extender{}; +static thread_local PyTypeObject *SOTP_key{}; static thread_local SbkObjectTypePrivate *SOTP_value{}; -SbkObjectTypePrivate *PepType_SOTP(SbkObjectType *sbkType) +SbkObjectTypePrivate *PepType_SOTP(PyTypeObject *sbkType) { if (sbkType == SOTP_key) return SOTP_value; @@ -845,7 +845,7 @@ SbkObjectTypePrivate *PepType_SOTP(SbkObjectType *sbkType) return SOTP_value; } -void PepType_SOTP_delete(SbkObjectType *sbkType) +void PepType_SOTP_delete(PyTypeObject *sbkType) { SOTP_extender.erase(sbkType); SOTP_key = nullptr; diff --git a/sources/shiboken6/libshiboken/sbkconverter.cpp b/sources/shiboken6/libshiboken/sbkconverter.cpp index 983a1deb5..8fefb35cb 100644 --- a/sources/shiboken6/libshiboken/sbkconverter.cpp +++ b/sources/shiboken6/libshiboken/sbkconverter.cpp @@ -127,7 +127,7 @@ SbkConverter *createConverterObject(PyTypeObject *type, return converter; } -SbkConverter *createConverter(SbkObjectType *type, +SbkConverter *createConverter(PyTypeObject *type, PythonToCppFunc toCppPointerConvFunc, IsConvertibleToCppFunc toCppPointerCheckFunc, CppToPythonFunc pointerToPythonFunc, @@ -173,7 +173,7 @@ void addPythonToCppValueConversion(SbkConverter *converter, converter->toCppConversions.push_back(std::make_pair(isConvertibleToCppFunc, pythonToCppFunc)); } -void addPythonToCppValueConversion(SbkObjectType *type, +void addPythonToCppValueConversion(PyTypeObject *type, PythonToCppFunc pythonToCppFunc, IsConvertibleToCppFunc isConvertibleToCppFunc) { @@ -181,7 +181,7 @@ void addPythonToCppValueConversion(SbkObjectType *type, addPythonToCppValueConversion(sotp->converter, pythonToCppFunc, isConvertibleToCppFunc); } -PyObject *pointerToPython(SbkObjectType *type, const void *cppIn) +PyObject *pointerToPython(PyTypeObject *type, const void *cppIn) { auto *sotp = PepType_SOTP(type); return pointerToPython(sotp->converter, cppIn); @@ -200,7 +200,7 @@ PyObject *pointerToPython(const SbkConverter *converter, const void *cppIn) return converter->pointerToPython(cppIn); } -PyObject *referenceToPython(SbkObjectType *type, const void *cppIn) +PyObject *referenceToPython(PyTypeObject *type, const void *cppIn) { auto *sotp = PepType_SOTP(type); return referenceToPython(sotp->converter, cppIn); @@ -235,7 +235,7 @@ static inline PyObject *CopyCppToPython(const SbkConverter *converter, const voi return converter->copyToPython(cppIn); } -PyObject *copyToPython(SbkObjectType *type, const void *cppIn) +PyObject *copyToPython(PyTypeObject *type, const void *cppIn) { auto *sotp = PepType_SOTP(type); return CopyCppToPython(sotp->converter, cppIn); @@ -246,7 +246,7 @@ PyObject *copyToPython(const SbkConverter *converter, const void *cppIn) return CopyCppToPython(converter, cppIn); } -PythonToCppFunc isPythonToCppPointerConvertible(SbkObjectType *type, PyObject *pyIn) +PythonToCppFunc isPythonToCppPointerConvertible(PyTypeObject *type, PyObject *pyIn) { assert(pyIn); auto *sotp = PepType_SOTP(type); @@ -263,7 +263,7 @@ static inline PythonToCppFunc IsPythonToCppConvertible(const SbkConverter *conve return nullptr; } -PythonToCppFunc isPythonToCppValueConvertible(SbkObjectType *type, PyObject *pyIn) +PythonToCppFunc isPythonToCppValueConvertible(PyTypeObject *type, PyObject *pyIn) { auto *sotp = PepType_SOTP(type); return IsPythonToCppConvertible(sotp->converter, pyIn); @@ -285,7 +285,7 @@ PythonToCppFunc isPythonToCppConvertible(const SbkArrayConverter *converter, return nullptr; } -PythonToCppFunc isPythonToCppReferenceConvertible(SbkObjectType *type, PyObject *pyIn) +PythonToCppFunc isPythonToCppReferenceConvertible(PyTypeObject *type, PyObject *pyIn) { if (pyIn != Py_None) { PythonToCppFunc toCpp = isPythonToCppPointerConvertible(type, pyIn); @@ -312,7 +312,7 @@ void *cppPointer(PyTypeObject *desiredType, SbkObject *pyIn) return Object::cppPointer(pyIn, desiredType); } -void pythonToCppPointer(SbkObjectType *type, PyObject *pyIn, void *cppOut) +void pythonToCppPointer(PyTypeObject *type, PyObject *pyIn, void *cppOut) { assert(type); assert(pyIn); @@ -342,7 +342,7 @@ static void _pythonToCppCopy(const SbkConverter *converter, PyObject *pyIn, void toCpp(pyIn, cppOut); } -void pythonToCppCopy(SbkObjectType *type, PyObject *pyIn, void *cppOut) +void pythonToCppCopy(PyTypeObject *type, PyObject *pyIn, void *cppOut) { assert(type); auto *sotp = PepType_SOTP(type); @@ -354,7 +354,7 @@ void pythonToCppCopy(const SbkConverter *converter, PyObject *pyIn, void *cppOut _pythonToCppCopy(converter, pyIn, cppOut); } -bool isImplicitConversion(SbkObjectType *type, PythonToCppFunc toCppFunc) +bool isImplicitConversion(PyTypeObject *type, PythonToCppFunc toCppFunc) { auto *sotp = PepType_SOTP(type); // This is the Object Type or Value Type conversion that only @@ -432,7 +432,7 @@ bool convertibleSequenceTypes(const SbkConverter *converter, PyObject *pyIn) } return true; } -bool convertibleSequenceTypes(SbkObjectType *type, PyObject *pyIn) +bool convertibleSequenceTypes(PyTypeObject *type, PyObject *pyIn) { assert(type); auto *sotp = PepType_SOTP(type); diff --git a/sources/shiboken6/libshiboken/sbkconverter.h b/sources/shiboken6/libshiboken/sbkconverter.h index 43f0643b4..5b25a8918 100644 --- a/sources/shiboken6/libshiboken/sbkconverter.h +++ b/sources/shiboken6/libshiboken/sbkconverter.h @@ -149,7 +149,7 @@ private: * \param copyToPythonFunc Function to convert a C++ object to a Python \p type, copying the object. * \returns The new converter referred by the wrapper \p type. */ -LIBSHIBOKEN_API SbkConverter *createConverter(SbkObjectType *type, +LIBSHIBOKEN_API SbkConverter *createConverter(PyTypeObject *type, PythonToCppFunc toCppPointerConvFunc, IsConvertibleToCppFunc toCppPointerCheckFunc, CppToPythonFunc pointerToPythonFunc, @@ -180,7 +180,7 @@ LIBSHIBOKEN_API void setPythonToCppPointerFunctions(SbkConverter *converter, LIBSHIBOKEN_API void addPythonToCppValueConversion(SbkConverter *converter, PythonToCppFunc pythonToCppFunc, IsConvertibleToCppFunc isConvertibleToCppFunc); -LIBSHIBOKEN_API void addPythonToCppValueConversion(SbkObjectType *type, +LIBSHIBOKEN_API void addPythonToCppValueConversion(PyTypeObject *type, PythonToCppFunc pythonToCppFunc, IsConvertibleToCppFunc isConvertibleToCppFunc); @@ -193,7 +193,7 @@ LIBSHIBOKEN_API void addPythonToCppValueConversion(SbkObjectType *type, * TYPE *var; * PyObject *pyVar = pointerToPython(SBKTYPE, &var); */ -LIBSHIBOKEN_API PyObject *pointerToPython(SbkObjectType *type, const void *cppIn); +LIBSHIBOKEN_API PyObject *pointerToPython(PyTypeObject *type, const void *cppIn); LIBSHIBOKEN_API PyObject *pointerToPython(const SbkConverter *converter, const void *cppIn); /** @@ -205,7 +205,7 @@ LIBSHIBOKEN_API PyObject *pointerToPython(const SbkConverter *converter, const v * TYPE &var = SOMETHING; * PyObject *pyVar = referenceToPython(SBKTYPE, &var); */ -LIBSHIBOKEN_API PyObject *referenceToPython(SbkObjectType *type, const void *cppIn); +LIBSHIBOKEN_API PyObject *referenceToPython(PyTypeObject *type, const void *cppIn); LIBSHIBOKEN_API PyObject *referenceToPython(const SbkConverter *converter, const void *cppIn); /** @@ -215,7 +215,7 @@ LIBSHIBOKEN_API PyObject *referenceToPython(const SbkConverter *converter, const * TYPE var; * PyObject *pyVar = copyToPython(SBKTYPE, &var); */ -LIBSHIBOKEN_API PyObject *copyToPython(SbkObjectType *type, const void *cppIn); +LIBSHIBOKEN_API PyObject *copyToPython(PyTypeObject *type, const void *cppIn); LIBSHIBOKEN_API PyObject *copyToPython(const SbkConverter *converter, const void *cppIn); // Python -> C++ --------------------------------------------------------------------------- @@ -224,7 +224,7 @@ LIBSHIBOKEN_API PyObject *copyToPython(const SbkConverter *converter, const void * Returns a Python to C++ conversion function if the Python object is convertible to a C++ pointer. * It returns NULL if the Python object is not convertible to \p type. */ -LIBSHIBOKEN_API PythonToCppFunc isPythonToCppPointerConvertible(SbkObjectType *type, PyObject *pyIn); +LIBSHIBOKEN_API PythonToCppFunc isPythonToCppPointerConvertible(PyTypeObject *type, PyObject *pyIn); /** * Returns a Python to C++ conversion function if the Python object is convertible to a C++ value. @@ -232,7 +232,7 @@ LIBSHIBOKEN_API PythonToCppFunc isPythonToCppPointerConvertible(SbkObjectType *t * convert the object to the expected \p type. * It returns NULL if the Python object is not convertible to \p type. */ -LIBSHIBOKEN_API PythonToCppFunc isPythonToCppValueConvertible(SbkObjectType *type, PyObject *pyIn); +LIBSHIBOKEN_API PythonToCppFunc isPythonToCppValueConvertible(PyTypeObject *type, PyObject *pyIn); /** * Returns a Python to C++ conversion function if the Python object is convertible to a C++ reference. @@ -240,7 +240,7 @@ LIBSHIBOKEN_API PythonToCppFunc isPythonToCppValueConvertible(SbkObjectType *typ * or a new C++ value if it must be a implicit conversion. * It returns NULL if the Python object is not convertible to \p type. */ -LIBSHIBOKEN_API PythonToCppFunc isPythonToCppReferenceConvertible(SbkObjectType *type, PyObject *pyIn); +LIBSHIBOKEN_API PythonToCppFunc isPythonToCppReferenceConvertible(PyTypeObject *type, PyObject *pyIn); /// This is the same as isPythonToCppValueConvertible function. LIBSHIBOKEN_API PythonToCppFunc isPythonToCppConvertible(const SbkConverter *converter, PyObject *pyIn); @@ -255,11 +255,11 @@ LIBSHIBOKEN_API PythonToCppFunc isPythonToCppConvertible(const SbkArrayConverter LIBSHIBOKEN_API void *cppPointer(PyTypeObject *desiredType, SbkObject *pyIn); /// Converts a Python object \p pyIn to C++ and stores the result in the C++ pointer passed in \p cppOut. -LIBSHIBOKEN_API void pythonToCppPointer(SbkObjectType *type, PyObject *pyIn, void *cppOut); +LIBSHIBOKEN_API void pythonToCppPointer(PyTypeObject *type, PyObject *pyIn, void *cppOut); LIBSHIBOKEN_API void pythonToCppPointer(const SbkConverter *converter, PyObject *pyIn, void *cppOut); /// Converts a Python object \p pyIn to C++, and copies the result in the C++ variable passed in \p cppOut. -LIBSHIBOKEN_API void pythonToCppCopy(SbkObjectType *type, PyObject *pyIn, void *cppOut); +LIBSHIBOKEN_API void pythonToCppCopy(PyTypeObject *type, PyObject *pyIn, void *cppOut); LIBSHIBOKEN_API void pythonToCppCopy(const SbkConverter *converter, PyObject *pyIn, void *cppOut); /** @@ -273,7 +273,7 @@ LIBSHIBOKEN_API void nonePythonToCppNullPtr(PyObject *, void *cppOut); * It is used when C++ expects a reference argument, so it may be the same object received * from Python, or another created through implicit conversion. */ -LIBSHIBOKEN_API bool isImplicitConversion(SbkObjectType *type, PythonToCppFunc toCpp); +LIBSHIBOKEN_API bool isImplicitConversion(PyTypeObject *type, PythonToCppFunc toCpp); /// Registers a converter with a type name that may be used to retrieve the converter. LIBSHIBOKEN_API void registerConverterName(SbkConverter *converter, const char *typeName); @@ -291,7 +291,7 @@ LIBSHIBOKEN_API bool checkSequenceTypes(PyTypeObject *type, PyObject *pyIn); LIBSHIBOKEN_API bool convertibleSequenceTypes(const SbkConverter *converter, PyObject *pyIn); /// Returns true if a Python sequence is comprised of objects of a type convertible to \p type. -LIBSHIBOKEN_API bool convertibleSequenceTypes(SbkObjectType *type, PyObject *pyIn); +LIBSHIBOKEN_API bool convertibleSequenceTypes(PyTypeObject *type, PyObject *pyIn); /// Returns true if a Python sequence can be converted to a C++ pair. LIBSHIBOKEN_API bool checkPairTypes(PyTypeObject *firstType, PyTypeObject *secondType, PyObject *pyIn); diff --git a/sources/shiboken6/libshiboken/sbkenum.cpp b/sources/shiboken6/libshiboken/sbkenum.cpp index 3789fe298..aaa070704 100644 --- a/sources/shiboken6/libshiboken/sbkenum.cpp +++ b/sources/shiboken6/libshiboken/sbkenum.cpp @@ -491,7 +491,7 @@ PyTypeObject *createGlobalEnum(PyObject *module, const char *name, const char *f return enumType; } -PyTypeObject *createScopedEnum(SbkObjectType *scope, const char *name, const char *fullName, const char *cppName, PyTypeObject *flagsType) +PyTypeObject *createScopedEnum(PyTypeObject *scope, const char *name, const char *fullName, const char *cppName, PyTypeObject *flagsType) { PyTypeObject *enumType = createEnum(fullName, cppName, flagsType); if (enumType && PyDict_SetItemString(scope->tp_dict, name, diff --git a/sources/shiboken6/libshiboken/sbkenum.h b/sources/shiboken6/libshiboken/sbkenum.h index f97997ae0..4ec79b923 100644 --- a/sources/shiboken6/libshiboken/sbkenum.h +++ b/sources/shiboken6/libshiboken/sbkenum.h @@ -83,7 +83,7 @@ namespace Enum const char *cppName, PyTypeObject *flagsType = nullptr); /// This function does the same as createGlobalEnum, but adds the enum to a Shiboken type or namespace. - LIBSHIBOKEN_API PyTypeObject *createScopedEnum(SbkObjectType *scope, + LIBSHIBOKEN_API PyTypeObject *createScopedEnum(PyTypeObject *scope, const char *name, const char *fullName, const char *cppName, diff --git a/sources/shiboken6/libshiboken/sbkpython.h b/sources/shiboken6/libshiboken/sbkpython.h index d74918b62..cef9f81a6 100644 --- a/sources/shiboken6/libshiboken/sbkpython.h +++ b/sources/shiboken6/libshiboken/sbkpython.h @@ -107,6 +107,6 @@ extern "C" { #undef Py_TPFLAGS_HAVE_VERSION_TAG #define Py_TPFLAGS_HAVE_VERSION_TAG (0) -using SbkObjectType = PyTypeObject; // FIXME PYSIDE 7 remove +using SbkObjectType [[deprecated]] = PyTypeObject; // FIXME PYSIDE 7 remove #endif |