From 1d044f467070a040713c9566a8a8de3a56c571e7 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 14 Oct 2020 09:29:55 +0200 Subject: shiboken2: Add a disable-wrapper attribute for complex types Make it possible to disable the generation of a C++ wrapper in case that poses some problem. Task-number: PYSIDE-1202 Change-Id: Id0d557e4d4a57cf537be8fb398161aea3a16e174 Reviewed-by: Christian Tismer --- sources/shiboken2/generator/shiboken/shibokengenerator.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'sources/shiboken2/generator') diff --git a/sources/shiboken2/generator/shiboken/shibokengenerator.cpp b/sources/shiboken2/generator/shiboken/shibokengenerator.cpp index c097f4355..5382b3a9f 100644 --- a/sources/shiboken2/generator/shiboken/shibokengenerator.cpp +++ b/sources/shiboken2/generator/shiboken/shibokengenerator.cpp @@ -300,8 +300,11 @@ QString ShibokenGenerator::translateTypeForWrapperMethod(const AbstractMetaType bool ShibokenGenerator::shouldGenerateCppWrapper(const AbstractMetaClass *metaClass) const { - if (metaClass->isNamespace() || (metaClass->attributes() & AbstractMetaAttributes::FinalCppClass)) + if (metaClass->isNamespace() + || metaClass->attributes().testFlag(AbstractMetaAttributes::FinalCppClass) + || metaClass->typeEntry()->typeFlags().testFlag(ComplexTypeEntry::DisableWrapper)) { return false; + } bool result = metaClass->isPolymorphic() || metaClass->hasVirtualDestructor(); if (avoidProtectedHack()) { result = result || metaClass->hasProtectedFields() || metaClass->hasProtectedDestructor(); -- cgit v1.2.3