diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-11-10 10:16:09 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-11-11 17:06:51 +0000 |
commit | e720169ff6cb840dbd5a89f22f4d5e2e2b36bf17 (patch) | |
tree | 04d6d45b539b2e4a2ed596c3145ec56cbbf48b2b /sources/shiboken6/ApiExtractor/abstractmetalang.h | |
parent | 381ae9c30149fe7cfffdf79cfd7f1d12449474b6 (diff) |
shiboken6: Port AbstractMetaEnum/Value to use QSharedDataPointer
Change the client code to store it by value. For the various find()
and traverseEnum() functions, use a std::optional to replace the pointer.
Change-Id: Ie4e671bf95e569741fa3c9a399bfe239ceac0dec
Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/shiboken6/ApiExtractor/abstractmetalang.h')
-rw-r--r-- | sources/shiboken6/ApiExtractor/abstractmetalang.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/sources/shiboken6/ApiExtractor/abstractmetalang.h b/sources/shiboken6/ApiExtractor/abstractmetalang.h index 111552432..8de86ed2a 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 "abstractmetaenum.h" #include "abstractmetafield.h" #include "enclosingclassmixin.h" #include "documentation.h" @@ -170,11 +171,12 @@ public: std::optional<AbstractMetaField> findField(const QString &name) const; const AbstractMetaEnumList &enums() const { return m_enums; } + AbstractMetaEnumList &enums() { return m_enums; } void setEnums(const AbstractMetaEnumList &enums) { m_enums = enums; } - void addEnum(AbstractMetaEnum *e) { m_enums << e; } + void addEnum(const AbstractMetaEnum &e) { m_enums << e; } - AbstractMetaEnum *findEnum(const QString &enumName); - AbstractMetaEnumValue *findEnumValue(const QString &enumName); + std::optional<AbstractMetaEnum> findEnum(const QString &enumName) const; + std::optional<AbstractMetaEnumValue> findEnumValue(const QString &enumName) const; void getEnumsToBeGenerated(AbstractMetaEnumList *enumList) const; void getEnumsFromInvisibleNamespacesToBeGenerated(AbstractMetaEnumList *enumList) const; @@ -338,10 +340,10 @@ public: const QString &name); static AbstractMetaClass *findClass(const AbstractMetaClassList &classes, const TypeEntry* typeEntry); - static AbstractMetaEnumValue *findEnumValue(const AbstractMetaClassList &classes, - const QString &string); - static AbstractMetaEnum *findEnum(const AbstractMetaClassList &classes, - const EnumTypeEntry *entry); + static std::optional<AbstractMetaEnumValue> findEnumValue(const AbstractMetaClassList &classes, + const QString &string); + static std::optional<AbstractMetaEnum> findEnum(const AbstractMetaClassList &classes, + const EnumTypeEntry *entry); SourceLocation sourceLocation() const; void setSourceLocation(const SourceLocation &sourceLocation); |