diff options
Diffstat (limited to 'sources/shiboken2/ApiExtractor/parser/codemodel.h')
-rw-r--r-- | sources/shiboken2/ApiExtractor/parser/codemodel.h | 65 |
1 files changed, 41 insertions, 24 deletions
diff --git a/sources/shiboken2/ApiExtractor/parser/codemodel.h b/sources/shiboken2/ApiExtractor/parser/codemodel.h index 811cfec3e..2aaea1f78 100644 --- a/sources/shiboken2/ApiExtractor/parser/codemodel.h +++ b/sources/shiboken2/ApiExtractor/parser/codemodel.h @@ -35,7 +35,6 @@ #include "codemodel_enums.h" #include <QtCore/QHash> -#include <QtCore/QList> #include <QtCore/QSet> #include <QtCore/QString> #include <QtCore/QStringList> @@ -57,6 +56,10 @@ public: enum FunctionType { Normal, + Constructor, + CopyConstructor, + MoveConstructor, + Destructor, Signal, Slot }; @@ -158,21 +161,18 @@ public: m_arrayElements = arrayElements; } - QList<TypeInfo> arguments() const - { - return m_arguments; - } + QVector<TypeInfo> arguments() const { return m_arguments; } - void setArguments(const QList<TypeInfo> &arguments); + void setArguments(const QVector<TypeInfo> &arguments); void addArgument(const TypeInfo &arg) { m_arguments.append(arg); } - bool operator==(const TypeInfo &other); + bool operator==(const TypeInfo &other) const; - bool operator!=(const TypeInfo &other) + bool operator!=(const TypeInfo &other) const { return !(*this == other); } @@ -193,7 +193,7 @@ private: QStringList m_qualifiedName; QStringList m_arrayElements; - QList<TypeInfo> m_arguments; + QVector<TypeInfo> m_arguments; union { uint flags; @@ -320,7 +320,7 @@ public: FunctionModelItem declaredFunction(FunctionModelItem item); #ifndef QT_NO_DEBUG_STREAM - void formatDebug(QDebug &d) const Q_DECL_OVERRIDE; + void formatDebug(QDebug &d) const override; #endif protected: @@ -349,16 +349,21 @@ class _ClassModelItem: public _ScopeModelItem public: DECLARE_MODEL_NODE(Class) + struct BaseClass + { + QString name; + CodeModel::AccessPolicy accessPolicy = CodeModel::Public; + }; + explicit _ClassModelItem(CodeModel *model, int kind = __node_kind) : _ScopeModelItem(model, kind), m_classType(CodeModel::Class) {} explicit _ClassModelItem(CodeModel *model, const QString &name, int kind = __node_kind) : _ScopeModelItem(model, name, kind), m_classType(CodeModel::Class) {} ~_ClassModelItem(); - QStringList baseClasses() const; + QVector<BaseClass> baseClasses() const { return m_baseClasses; } - void setBaseClasses(const QStringList &baseClasses); - void addBaseClass(const QString &baseClass); + void addBaseClass(const QString &name, CodeModel::AccessPolicy accessPolicy); TemplateParameterList templateParameters() const; void setTemplateParameters(const TemplateParameterList &templateParameters); @@ -371,16 +376,20 @@ public: void addPropertyDeclaration(const QString &propertyDeclaration); QStringList propertyDeclarations() const { return m_propertyDeclarations; } + bool isFinal() const { return m_final; } + void setFinal(bool f) { m_final = f; } + #ifndef QT_NO_DEBUG_STREAM - void formatDebug(QDebug &d) const Q_DECL_OVERRIDE; + void formatDebug(QDebug &d) const override; #endif private: - QStringList m_baseClasses; + QVector<BaseClass> m_baseClasses; TemplateParameterList m_templateParameters; CodeModel::ClassType m_classType; QStringList m_propertyDeclarations; + bool m_final = false; }; class _NamespaceModelItem: public _ScopeModelItem @@ -395,14 +404,14 @@ public: ~_NamespaceModelItem(); NamespaceList namespaces() const { return m_namespaces; } - QSet<NamespaceModelItem> uniqueNamespaces() const { return m_namespaces.toSet(); } + QSet<NamespaceModelItem> uniqueNamespaces() const; void addNamespace(NamespaceModelItem item); NamespaceModelItem findNamespace(const QString &name) const; #ifndef QT_NO_DEBUG_STREAM - void formatDebug(QDebug &d) const Q_DECL_OVERRIDE; + void formatDebug(QDebug &d) const override; #endif private: @@ -442,7 +451,7 @@ public: void setDefaultValueExpression(const QString &expr) { m_defaultValueExpression = expr; } #ifndef QT_NO_DEBUG_STREAM - void formatDebug(QDebug &d) const Q_DECL_OVERRIDE; + void formatDebug(QDebug &d) const override; #endif private: @@ -496,7 +505,7 @@ public: void setType(const TypeInfo &type); #ifndef QT_NO_DEBUG_STREAM - void formatDebug(QDebug &d) const Q_DECL_OVERRIDE; + void formatDebug(QDebug &d) const override; #endif private: @@ -540,6 +549,12 @@ public: bool isVirtual() const; void setVirtual(bool isVirtual); + bool isOverride() const; + void setOverride(bool o); + + bool isFinal() const; + void setFinal(bool f); + bool isInline() const; void setInline(bool isInline); @@ -558,7 +573,7 @@ public: bool isSimilar(FunctionModelItem other) const; #ifndef QT_NO_DEBUG_STREAM - void formatDebug(QDebug &d) const Q_DECL_OVERRIDE; + void formatDebug(QDebug &d) const override; #endif private: @@ -567,6 +582,8 @@ private: union { struct { uint m_isVirtual: 1; + uint m_isOverride: 1; + uint m_isFinal: 1; uint m_isInline: 1; uint m_isAbstract: 1; uint m_isExplicit: 1; @@ -602,7 +619,7 @@ public: void setType(const TypeInfo &type); #ifndef QT_NO_DEBUG_STREAM - void formatDebug(QDebug &d) const Q_DECL_OVERRIDE; + void formatDebug(QDebug &d) const override; #endif private: @@ -629,7 +646,7 @@ public: void setAnonymous(bool anonymous); #ifndef QT_NO_DEBUG_STREAM - void formatDebug(QDebug &d) const Q_DECL_OVERRIDE; + void formatDebug(QDebug &d) const override; #endif private: @@ -653,7 +670,7 @@ public: void setValue(const QString &value); #ifndef QT_NO_DEBUG_STREAM - void formatDebug(QDebug &d) const Q_DECL_OVERRIDE; + void formatDebug(QDebug &d) const override; #endif private: @@ -678,7 +695,7 @@ public: void setDefaultValue(bool defaultValue); #ifndef QT_NO_DEBUG_STREAM - void formatDebug(QDebug &d) const Q_DECL_OVERRIDE; + void formatDebug(QDebug &d) const override; #endif private: |