diff options
Diffstat (limited to 'sources/shiboken2/ApiExtractor/typesystem.h')
-rw-r--r-- | sources/shiboken2/ApiExtractor/typesystem.h | 54 |
1 files changed, 26 insertions, 28 deletions
diff --git a/sources/shiboken2/ApiExtractor/typesystem.h b/sources/shiboken2/ApiExtractor/typesystem.h index 62d348f69..2f534c93d 100644 --- a/sources/shiboken2/ApiExtractor/typesystem.h +++ b/sources/shiboken2/ApiExtractor/typesystem.h @@ -40,6 +40,7 @@ #include <QtCore/QStringList> #include <QtCore/QMap> #include <QtCore/QVector> +#include <QtCore/QVersionNumber> //Used to identify the conversion rule to avoid break API #define TARGET_CONVERSION_RULE_FLAG "0" @@ -415,7 +416,7 @@ struct AddedFunction }; /// Creates a new AddedFunction with a signature and a return type. - explicit AddedFunction(QString signature, QString returnType, double vr); + explicit AddedFunction(QString signature, const QString &returnType); AddedFunction() = default; /// Returns the function name. @@ -466,15 +467,10 @@ struct AddedFunction return m_isStatic; } - double version() const - { - return m_version; - } private: QString m_name; QVector<TypeInfo> m_arguments; TypeInfo m_returnType; - double m_version = 0; Access m_access = Protected; bool m_isConst = false; bool m_isStatic = false; @@ -573,7 +569,7 @@ public: }; Q_ENUM(CodeGeneration) - explicit TypeEntry(const QString &name, Type t, double vr); + explicit TypeEntry(const QString &name, Type t, const QVersionNumber &vr); virtual ~TypeEntry(); @@ -867,7 +863,7 @@ public: return !m_conversionRule.isEmpty(); } - double version() const + QVersionNumber version() const { return m_version; } @@ -903,13 +899,13 @@ private: QHash<QString, bool> m_includesUsed; QString m_conversionRule; bool m_stream = false; - double m_version; + QVersionNumber m_version; }; class TypeSystemTypeEntry : public TypeEntry { public: - explicit TypeSystemTypeEntry(const QString &name, double vr); + explicit TypeSystemTypeEntry(const QString &name, const QVersionNumber &vr); }; class VoidTypeEntry : public TypeEntry @@ -927,7 +923,7 @@ public: class TemplateArgumentEntry : public TypeEntry { public: - explicit TemplateArgumentEntry(const QString &name, double vr); + explicit TemplateArgumentEntry(const QString &name, const QVersionNumber &vr); int ordinal() const { @@ -945,7 +941,7 @@ private: class ArrayTypeEntry : public TypeEntry { public: - explicit ArrayTypeEntry(const TypeEntry *nested_type, double vr); + explicit ArrayTypeEntry(const TypeEntry *nested_type, const QVersionNumber &vr); void setNestedTypeEntry(TypeEntry *nested) { @@ -967,7 +963,7 @@ private: class PrimitiveTypeEntry : public TypeEntry { public: - explicit PrimitiveTypeEntry(const QString &name, double vr); + explicit PrimitiveTypeEntry(const QString &name, const QVersionNumber &vr); QString targetLangName() const override; void setTargetLangName(const QString &targetLangName) @@ -1051,7 +1047,8 @@ public: EnumClass // C++ 11 : enum class Foo { value1, value2 } }; - explicit EnumTypeEntry(const QString &nspace, const QString &enumName, double vr); + explicit EnumTypeEntry(const QString &nspace, const QString &enumName, + const QVersionNumber &vr); QString targetLangPackage() const override; void setTargetLangPackage(const QString &package); @@ -1164,7 +1161,7 @@ private: class EnumValueTypeEntry : public TypeEntry { public: - explicit EnumValueTypeEntry(const QString& name, const QString& value, const EnumTypeEntry* enclosingEnum, double vr); + explicit EnumValueTypeEntry(const QString& name, const QString& value, const EnumTypeEntry* enclosingEnum, const QVersionNumber &vr); QString value() const { return m_value; } const EnumTypeEntry* enclosingEnum() const { return m_enclosingEnum; } @@ -1176,7 +1173,7 @@ private: class FlagsTypeEntry : public TypeEntry { public: - explicit FlagsTypeEntry(const QString &name, double vr); + explicit FlagsTypeEntry(const QString &name, const QVersionNumber &vr); QString qualifiedTargetLangName() const override; QString targetLangName() const override; @@ -1240,7 +1237,7 @@ public: Unknown }; - explicit ComplexTypeEntry(const QString &name, Type t, double vr); + explicit ComplexTypeEntry(const QString &name, Type t, const QVersionNumber &vr); bool isComplex() const override; @@ -1458,7 +1455,7 @@ public: }; Q_ENUM(Type) - explicit ContainerTypeEntry(const QString &name, Type type, double vr); + explicit ContainerTypeEntry(const QString &name, Type type, const QVersionNumber &vr); Type type() const { @@ -1501,7 +1498,7 @@ public: const QString &getterName, const QString &smartPointerType, const QString &refCountMethodName, - double vr); + const QVersionNumber &vr); QString getter() const { @@ -1522,28 +1519,28 @@ private: class NamespaceTypeEntry : public ComplexTypeEntry { public: - explicit NamespaceTypeEntry(const QString &name, double vr); + explicit NamespaceTypeEntry(const QString &name, const QVersionNumber &vr); }; class ValueTypeEntry : public ComplexTypeEntry { public: - explicit ValueTypeEntry(const QString &name, double vr); + explicit ValueTypeEntry(const QString &name, const QVersionNumber &vr); bool isValue() const override; bool isNativeIdBased() const override; protected: - explicit ValueTypeEntry(const QString &name, Type t, double vr); + explicit ValueTypeEntry(const QString &name, Type t, const QVersionNumber &vr); }; class StringTypeEntry : public ValueTypeEntry { public: - explicit StringTypeEntry(const QString &name, double vr); + explicit StringTypeEntry(const QString &name, const QVersionNumber &vr); QString targetLangApiName() const override; QString targetLangName() const override; @@ -1555,7 +1552,7 @@ public: class CharTypeEntry : public ValueTypeEntry { public: - explicit CharTypeEntry(const QString &name, double vr); + explicit CharTypeEntry(const QString &name, const QVersionNumber &vr); QString targetLangApiName() const override; QString targetLangName() const override; @@ -1567,7 +1564,7 @@ public: class VariantTypeEntry: public ValueTypeEntry { public: - explicit VariantTypeEntry(const QString &name, double vr); + explicit VariantTypeEntry(const QString &name, const QVersionNumber &vr); QString targetLangApiName() const override; QString targetLangName() const override; @@ -1580,7 +1577,7 @@ public: class InterfaceTypeEntry : public ComplexTypeEntry { public: - explicit InterfaceTypeEntry(const QString &name, double vr); + explicit InterfaceTypeEntry(const QString &name, const QVersionNumber &vr); static QString interfaceName(const QString &name) { @@ -1607,7 +1604,8 @@ private: class FunctionTypeEntry : public TypeEntry { public: - explicit FunctionTypeEntry(const QString& name, const QString& signature, double vr); + explicit FunctionTypeEntry(const QString& name, const QString& signature, + const QVersionNumber &vr); void addSignature(const QString& signature) { m_signatures << signature; @@ -1629,7 +1627,7 @@ private: class ObjectTypeEntry : public ComplexTypeEntry { public: - explicit ObjectTypeEntry(const QString &name, double vr); + explicit ObjectTypeEntry(const QString &name, const QVersionNumber &vr); InterfaceTypeEntry *designatedInterface() const override; void setDesignatedInterface(InterfaceTypeEntry *entry) |