diff options
Diffstat (limited to 'sources/shiboken2/ApiExtractor')
-rw-r--r-- | sources/shiboken2/ApiExtractor/typesystem.h | 3 | ||||
-rw-r--r-- | sources/shiboken2/ApiExtractor/typesystemparser.cpp | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/sources/shiboken2/ApiExtractor/typesystem.h b/sources/shiboken2/ApiExtractor/typesystem.h index 4d0a23ca1..8d8d60f3f 100644 --- a/sources/shiboken2/ApiExtractor/typesystem.h +++ b/sources/shiboken2/ApiExtractor/typesystem.h @@ -1219,7 +1219,8 @@ class ComplexTypeEntry : public TypeEntry { public: enum TypeFlag { - Deprecated = 0x4 + Deprecated = 0x4, + NoOverrideCaching = 0x8 }; Q_DECLARE_FLAGS(TypeFlags, TypeFlag) diff --git a/sources/shiboken2/ApiExtractor/typesystemparser.cpp b/sources/shiboken2/ApiExtractor/typesystemparser.cpp index 0bb56f0fe..5252ac00a 100644 --- a/sources/shiboken2/ApiExtractor/typesystemparser.cpp +++ b/sources/shiboken2/ApiExtractor/typesystemparser.cpp @@ -60,6 +60,7 @@ static inline QString untilAttribute() { return QStringLiteral("until"); } static inline QString defaultSuperclassAttribute() { return QStringLiteral("default-superclass"); } static inline QString deleteInMainThreadAttribute() { return QStringLiteral("delete-in-main-thread"); } static inline QString deprecatedAttribute() { return QStringLiteral("deprecated"); } +static inline QString noOverrideCachingAttribute() { return QStringLiteral("no-override-caching"); } static inline QString exceptionHandlingAttribute() { return QStringLiteral("exception-handling"); } static inline QString extensibleAttribute() { return QStringLiteral("extensible"); } static inline QString flagsAttribute() { return QStringLiteral("flags"); } @@ -1476,6 +1477,9 @@ void TypeSystemParser::applyComplexTypeAttributes(const QXmlStreamReader &reader } else if (name == deprecatedAttribute()) { if (convertBoolean(attributes->takeAt(i).value(), deprecatedAttribute(), false)) ctype->setTypeFlags(ctype->typeFlags() | ComplexTypeEntry::Deprecated); + } else if (name == noOverrideCachingAttribute()) { + if (convertBoolean(attributes->takeAt(i).value(), noOverrideCachingAttribute(), false)) + ctype->setTypeFlags(ctype->typeFlags() | ComplexTypeEntry::NoOverrideCaching); } else if (name == deleteInMainThreadAttribute()) { if (convertBoolean(attributes->takeAt(i).value(), deleteInMainThreadAttribute(), false)) ctype->setDeleteInMainThread(true); |