diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-11-10 08:33:01 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-11-10 10:03:21 +0000 |
commit | 1ef022dc40a859390182a2bfaac311ee1843d9a2 (patch) | |
tree | ad52ddd71ea4ad3fcb81b68dff21476457aa7742 /sources/shiboken6/ApiExtractor/abstractmetalang.h | |
parent | 3464f53cb98cbd70a4e46a5c2f4c59a0c8cb16a0 (diff) |
shiboken6: Port AbstractMetaField to use QSharedDataPointer
Fold AbstractMetaVariable into AbstractMetaField and use a
QSharedDataPointer for it. Change the client code to store it by value.
For the find() and traverseField() functions, use a std::optional to
replace the pointer.
Change-Id: Ibaa301b9aaae8851fcaa077327235cc5aaad7342
Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/shiboken6/ApiExtractor/abstractmetalang.h')
-rw-r--r-- | sources/shiboken6/ApiExtractor/abstractmetalang.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sources/shiboken6/ApiExtractor/abstractmetalang.h b/sources/shiboken6/ApiExtractor/abstractmetalang.h index 51e63a33d..111552432 100644 --- a/sources/shiboken6/ApiExtractor/abstractmetalang.h +++ b/sources/shiboken6/ApiExtractor/abstractmetalang.h @@ -31,6 +31,7 @@ #include "abstractmetalang_typedefs.h" #include "abstractmetaattributes.h" +#include "abstractmetafield.h" #include "enclosingclassmixin.h" #include "documentation.h" #include "sourcelocation.h" @@ -162,10 +163,11 @@ public: bool hasLogicalOperatorOverload() const; const AbstractMetaFieldList &fields() const { return m_fields; } + AbstractMetaFieldList &fields() { return m_fields; } void setFields(const AbstractMetaFieldList &fields) { m_fields = fields; } - void addField(AbstractMetaField *field) { m_fields << field; } + void addField(const AbstractMetaField &field) { m_fields << field; } - AbstractMetaField *findField(const QString &name) const; + std::optional<AbstractMetaField> findField(const QString &name) const; const AbstractMetaEnumList &enums() const { return m_enums; } void setEnums(const AbstractMetaEnumList &enums) { m_enums = enums; } |