aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/ApiExtractor/typedatabase.h
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2018-07-20 14:52:21 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2018-09-05 11:10:28 +0000
commit2bfd1de3495b18c0ecc251260442a9a46009861e (patch)
tree73e8392e8f3059fac87bd80d59bccb4d6b74898c /sources/shiboken2/ApiExtractor/typedatabase.h
parent194df4ac3203546193dc7fb03267ede5d112009f (diff)
shiboken: Add a typedef typesystem entry
The intention is be able to specify typedef std::optional<int> OptionalInt in the typesystem file and generate code for it (without having a typedef in C++). Task-number: PYSIDE-725 Change-Id: I5847a3c3f68556ac1d0ea3635f65a29caa6cb208 Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/shiboken2/ApiExtractor/typedatabase.h')
-rw-r--r--sources/shiboken2/ApiExtractor/typedatabase.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/sources/shiboken2/ApiExtractor/typedatabase.h b/sources/shiboken2/ApiExtractor/typedatabase.h
index b37efedc8..42d41be46 100644
--- a/sources/shiboken2/ApiExtractor/typedatabase.h
+++ b/sources/shiboken2/ApiExtractor/typedatabase.h
@@ -95,6 +95,7 @@ public:
TypeEntry* findType(const QString& name) const;
const TypeEntryMultiMap &entries() const { return m_entries; }
+ const TypedefEntryMap &typedefEntries() const { return m_typedefEntries; }
PrimitiveTypeEntryList primitiveTypes() const;
@@ -113,7 +114,7 @@ public:
bool isReturnTypeRejected(const QString& className, const QString& typeName,
QString *reason = nullptr) const;
- void addType(TypeEntry* e);
+ bool addType(TypeEntry* e, QString *errorMessage = nullptr);
FlagsTypeEntry* findFlagsType(const QString& name) const;
void addFlagsType(FlagsTypeEntry* fte);
@@ -162,10 +163,12 @@ public:
#endif
private:
TypeEntryMultiMapConstIteratorRange findTypes(const QString &name) const;
+ TypeEntry *resolveTypeDefEntry(TypedefEntry *typedefEntry, QString *errorMessage);
bool m_suppressWarnings;
TypeEntryMultiMap m_entries;
TypeEntryMap m_flagsEntries;
+ TypedefEntryMap m_typedefEntries;
TemplateEntryMap m_templates;
QVector<QRegularExpression> m_suppressedWarnings;