aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6/ApiExtractor/abstractmetalang.h
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2020-11-10 10:16:09 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2020-11-11 17:06:51 +0000
commite720169ff6cb840dbd5a89f22f4d5e2e2b36bf17 (patch)
tree04d6d45b539b2e4a2ed596c3145ec56cbbf48b2b /sources/shiboken6/ApiExtractor/abstractmetalang.h
parent381ae9c30149fe7cfffdf79cfd7f1d12449474b6 (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.h16
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);