aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/ApiExtractor/parser/codemodel.h
diff options
context:
space:
mode:
Diffstat (limited to 'sources/shiboken2/ApiExtractor/parser/codemodel.h')
-rw-r--r--sources/shiboken2/ApiExtractor/parser/codemodel.h65
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: