diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-02-28 10:51:06 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-02-28 18:04:22 +0000 |
commit | 099f3f46ca9ec1362f211278df4b3e4949b0a339 (patch) | |
tree | 6580c38554168eabcaf2defb82d200bf4c841c1d /sources/shiboken2/ApiExtractor/abstractmetalang.h | |
parent | da7b579c1f0e40d5a895cc2b3a6cbf4ed88de890 (diff) |
shiboken: Add allow-thread attribute to type system and class entries
In the typesystem parser, add the allow-thread attribute to root and
complex type entry.
Rewrite the handling of allow-thread (cached) in AbstractMetaFunction
similar to the exception handling (store the modification in
AbstractMetaFunction and go down the class hierarchy if it is
unspecified).
Change-Id: I00e6e2ab25208fda63ec20522814cbfccbb8c42d
Fixes: PYSIDE-931
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources/shiboken2/ApiExtractor/abstractmetalang.h')
-rw-r--r-- | sources/shiboken2/ApiExtractor/abstractmetalang.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sources/shiboken2/ApiExtractor/abstractmetalang.h b/sources/shiboken2/ApiExtractor/abstractmetalang.h index 56b36b638..074adbe00 100644 --- a/sources/shiboken2/ApiExtractor/abstractmetalang.h +++ b/sources/shiboken2/ApiExtractor/abstractmetalang.h @@ -1096,6 +1096,8 @@ public: find(const AbstractMetaFunctionList &haystack, const QString &needle); // for the meta builder only + void setAllowThreadModification(TypeSystem::AllowThread am) + { m_allowThreadModification = am; } void setExceptionHandlingModification(TypeSystem::ExceptionHandling em) { m_exceptionHandlingModification = em; } @@ -1126,8 +1128,8 @@ private: uint m_explicit : 1; uint m_pointerOperator : 1; uint m_isCallOperator : 1; - mutable int m_cachedAllowThread = -1; ExceptionSpecification m_exceptionSpecification = ExceptionSpecification::Unknown; + TypeSystem::AllowThread m_allowThreadModification = TypeSystem::AllowThread::Unspecified; TypeSystem::ExceptionHandling m_exceptionHandlingModification = TypeSystem::ExceptionHandling::Unspecified; }; |