aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/ApiExtractor/abstractmetalang.h
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2019-02-28 10:51:06 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2019-02-28 18:04:22 +0000
commit099f3f46ca9ec1362f211278df4b3e4949b0a339 (patch)
tree6580c38554168eabcaf2defb82d200bf4c841c1d /sources/shiboken2/ApiExtractor/abstractmetalang.h
parentda7b579c1f0e40d5a895cc2b3a6cbf4ed88de890 (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.h4
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;
};