aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6/ApiExtractor/abstractmetalang.h
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2020-11-10 08:33:01 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2020-11-10 10:03:21 +0000
commit1ef022dc40a859390182a2bfaac311ee1843d9a2 (patch)
treead52ddd71ea4ad3fcb81b68dff21476457aa7742 /sources/shiboken6/ApiExtractor/abstractmetalang.h
parent3464f53cb98cbd70a4e46a5c2f4c59a0c8cb16a0 (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.h6
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; }