aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/tests/libsample
diff options
context:
space:
mode:
Diffstat (limited to 'sources/shiboken2/tests/libsample')
-rw-r--r--sources/shiboken2/tests/libsample/abstract.h1
-rw-r--r--sources/shiboken2/tests/libsample/derived.cpp6
-rw-r--r--sources/shiboken2/tests/libsample/derived.h19
-rw-r--r--sources/shiboken2/tests/libsample/functions.cpp41
-rw-r--r--sources/shiboken2/tests/libsample/functions.h11
-rw-r--r--sources/shiboken2/tests/libsample/multiple_derived.h10
-rw-r--r--sources/shiboken2/tests/libsample/objecttype.h10
-rw-r--r--sources/shiboken2/tests/libsample/objecttypelayout.h4
-rw-r--r--sources/shiboken2/tests/libsample/photon.h2
-rw-r--r--sources/shiboken2/tests/libsample/samplenamespace.h4
-rw-r--r--sources/shiboken2/tests/libsample/virtualmethods.cpp19
-rw-r--r--sources/shiboken2/tests/libsample/virtualmethods.h18
12 files changed, 127 insertions, 18 deletions
diff --git a/sources/shiboken2/tests/libsample/abstract.h b/sources/shiboken2/tests/libsample/abstract.h
index 77a43f3d1..f31870522 100644
--- a/sources/shiboken2/tests/libsample/abstract.h
+++ b/sources/shiboken2/tests/libsample/abstract.h
@@ -102,6 +102,7 @@ protected:
unsigned int bitField: 1;
private:
+ virtual void pureVirtualPrivate() = 0;
int m_id;
};
#endif // ABSTRACT_H
diff --git a/sources/shiboken2/tests/libsample/derived.cpp b/sources/shiboken2/tests/libsample/derived.cpp
index 00ac8ebe5..9552a2a8c 100644
--- a/sources/shiboken2/tests/libsample/derived.cpp
+++ b/sources/shiboken2/tests/libsample/derived.cpp
@@ -103,6 +103,8 @@ struct SecretClass : public Abstract {
virtual void* pureVirtualReturningVoidPtr() { return 0; }
virtual PrintFormat returnAnEnum() { return Short; }
void hideFunction(HideType*){};
+private:
+ virtual void pureVirtualPrivate() {}
};
Abstract* Derived::triggerImpossibleTypeDiscovery()
@@ -117,3 +119,7 @@ Abstract* Derived::triggerAnotherImpossibleTypeDiscovery()
{
return new AnotherSecretClass;
}
+
+void Derived::pureVirtualPrivate()
+{
+}
diff --git a/sources/shiboken2/tests/libsample/derived.h b/sources/shiboken2/tests/libsample/derived.h
index 5c57e4691..84c502566 100644
--- a/sources/shiboken2/tests/libsample/derived.h
+++ b/sources/shiboken2/tests/libsample/derived.h
@@ -53,13 +53,13 @@ public:
};
Derived(int id = -1);
- virtual ~Derived();
- virtual void pureVirtual();
- virtual void* pureVirtualReturningVoidPtr();
- virtual void unpureVirtual();
+ ~Derived() override;
+ void pureVirtual() override;
+ void* pureVirtualReturningVoidPtr() override;
+ void unpureVirtual() override;
- virtual PrintFormat returnAnEnum() { return Short; }
- virtual Type type() const { return TpDerived; }
+ PrintFormat returnAnEnum() override { return Short; }
+ Type type() const override { return TpDerived; }
// factory method
static Abstract* createObject();
@@ -83,10 +83,13 @@ public:
static Abstract* triggerImpossibleTypeDiscovery();
static Abstract* triggerAnotherImpossibleTypeDiscovery();
- void hideFunction(HideType*) {}
+ void hideFunction(HideType*) override {}
protected:
const char* getClassName() { return className(); }
- virtual const char* className() { return "Derived"; }
+ virtual const char* className() override { return "Derived"; }
+
+private:
+ void pureVirtualPrivate() override;
};
#endif // DERIVED_H
diff --git a/sources/shiboken2/tests/libsample/functions.cpp b/sources/shiboken2/tests/libsample/functions.cpp
index 4a15cdae8..bf73d5ed7 100644
--- a/sources/shiboken2/tests/libsample/functions.cpp
+++ b/sources/shiboken2/tests/libsample/functions.cpp
@@ -28,7 +28,9 @@
#include "functions.h"
#include <string.h>
+#include <algorithm>
#include <iostream>
+#include <numeric>
using namespace std;
@@ -197,6 +199,45 @@ acceptOddBoolReference(OddBool& x)
return x;
}
+int sumIntArray(int array[4])
+{
+ return std::accumulate(array, array + 4, 0);
+}
+
+double sumDoubleArray(double array[4])
+{
+ return std::accumulate(array, array + 4, double(0));
+}
+
+int sumIntMatrix(int m[2][3])
+{
+ int result = 0;
+ for (int r = 0; r < 2; ++r) {
+ for (int c = 0; c < 3; ++c)
+ result += m[r][c];
+ }
+ return result;
+}
+
+double sumDoubleMatrix(double m[2][3])
+{
+ double result = 0;
+ for (int r = 0; r < 2; ++r) {
+ for (int c = 0; c < 3; ++c)
+ result += m[r][c];
+ }
+ return result;
+}
+
+ArrayModifyTest::ArrayModifyTest()
+{
+}
+
+int ArrayModifyTest::sumIntArray(int n, int *array)
+{
+ return std::accumulate(array, array + n, 0);
+}
+
ClassWithFunctionPointer::ClassWithFunctionPointer()
{
callFunctionPointer(0, &ClassWithFunctionPointer::doNothing);
diff --git a/sources/shiboken2/tests/libsample/functions.h b/sources/shiboken2/tests/libsample/functions.h
index 89a175bc4..a53f97c6e 100644
--- a/sources/shiboken2/tests/libsample/functions.h
+++ b/sources/shiboken2/tests/libsample/functions.h
@@ -81,6 +81,17 @@ LIBSAMPLE_API double acceptDouble(double x);
LIBSAMPLE_API int acceptIntReference(int& x);
LIBSAMPLE_API OddBool acceptOddBoolReference(OddBool& x);
+LIBSAMPLE_API int sumIntArray(int array[4]);
+LIBSAMPLE_API double sumDoubleArray(double array[4]);
+LIBSAMPLE_API int sumIntMatrix(int m[2][3]);
+LIBSAMPLE_API double sumDoubleMatrix(double m[2][3]);
+
+class LIBSAMPLE_API ArrayModifyTest
+{
+public:
+ ArrayModifyTest();
+ int sumIntArray(int n, int *array);
+};
class LIBSAMPLE_API ClassWithFunctionPointer
{
diff --git a/sources/shiboken2/tests/libsample/multiple_derived.h b/sources/shiboken2/tests/libsample/multiple_derived.h
index 5825e59b4..7a130c6b5 100644
--- a/sources/shiboken2/tests/libsample/multiple_derived.h
+++ b/sources/shiboken2/tests/libsample/multiple_derived.h
@@ -58,11 +58,11 @@ class LIBSAMPLE_API MDerived1 : public Base1, public Base2
{
public:
MDerived1();
- virtual ~MDerived1() {}
+ ~MDerived1() override {}
- virtual int mderived1Method() { return m_value; }
- virtual int base1Method() { return Base1::base1Method() * 10; }
- virtual int base2Method() { return Base2::base2Method() * 10; }
+ int mderived1Method() { return m_value; }
+ int base1Method () override { return Base1::base1Method() * 10; }
+ int base2Method() override { return Base2::base2Method() * 10; }
inline Base1* castToBase1() { return (Base1*) this; }
inline Base2* castToBase2() { return (Base2*) this; }
@@ -71,7 +71,7 @@ public:
static MDerived1* transformFromBase2(Base2 *self);
private:
- virtual void publicMethod() {}
+ void publicMethod() override {}
int m_value;
};
diff --git a/sources/shiboken2/tests/libsample/objecttype.h b/sources/shiboken2/tests/libsample/objecttype.h
index 487472b0f..91fb45515 100644
--- a/sources/shiboken2/tests/libsample/objecttype.h
+++ b/sources/shiboken2/tests/libsample/objecttype.h
@@ -45,6 +45,12 @@ struct Event
SOME_EVENT,
ANY_EVENT
};
+
+ enum class EventTypeClass {
+ Value1,
+ Value2
+ };
+
Event(EventType eventType) : m_eventType(eventType) {}
EventType eventType() { return m_eventType; }
private:
@@ -167,8 +173,8 @@ class LIBSAMPLE_API ObjectTypeDerived: public ObjectType, public OtherBase {
public:
ObjectTypeDerived(): ObjectType(), OtherBase() {};
- virtual bool event(Event* event);
- virtual ~ObjectTypeDerived();
+ bool event(Event* event) override;
+ ~ObjectTypeDerived() override;
};
#endif // OBJECTTYPE_H
diff --git a/sources/shiboken2/tests/libsample/objecttypelayout.h b/sources/shiboken2/tests/libsample/objecttypelayout.h
index 3fa8b9dbf..8524c1989 100644
--- a/sources/shiboken2/tests/libsample/objecttypelayout.h
+++ b/sources/shiboken2/tests/libsample/objecttypelayout.h
@@ -41,10 +41,10 @@ public:
void addObject(ObjectType* obj);
std::list<ObjectType*> objects() const;
- virtual bool isLayoutType() { return true; }
+ bool isLayoutType() override { return true; }
inline static ObjectTypeLayout* create() { return new ObjectTypeLayout(); }
- virtual ObjectType* takeChild(const Str& name) { return ObjectType::takeChild(name); }
+ ObjectType* takeChild(const Str& name) override { return ObjectType::takeChild(name); }
private:
std::list<ObjectType*> m_objects;
diff --git a/sources/shiboken2/tests/libsample/photon.h b/sources/shiboken2/tests/libsample/photon.h
index d8b1be423..437ec1d9b 100644
--- a/sources/shiboken2/tests/libsample/photon.h
+++ b/sources/shiboken2/tests/libsample/photon.h
@@ -84,7 +84,7 @@ public:
static inline TemplateBase<CLASS_TYPE>* passPointerThrough(TemplateBase<CLASS_TYPE>* obj) { return obj; }
- virtual ClassType type() const { return CLASS_TYPE; }
+ ClassType type() const override { return CLASS_TYPE; }
static const ClassType staticType = CLASS_TYPE;
};
diff --git a/sources/shiboken2/tests/libsample/samplenamespace.h b/sources/shiboken2/tests/libsample/samplenamespace.h
index 3ce410941..93cafa29c 100644
--- a/sources/shiboken2/tests/libsample/samplenamespace.h
+++ b/sources/shiboken2/tests/libsample/samplenamespace.h
@@ -110,6 +110,10 @@ public:
NiceValue1, NiceValue2
};
+ enum class NiceEnumClass {
+ NiceClassValue1, NiceClassValue2
+ };
+
inline int someMethod(SomeInnerClass*) { return 0; }
virtual OkThisIsRecursiveEnough* someVirtualMethod(OkThisIsRecursiveEnough* arg) { return arg; }
};
diff --git a/sources/shiboken2/tests/libsample/virtualmethods.cpp b/sources/shiboken2/tests/libsample/virtualmethods.cpp
index 05b854e08..e0cba3a47 100644
--- a/sources/shiboken2/tests/libsample/virtualmethods.cpp
+++ b/sources/shiboken2/tests/libsample/virtualmethods.cpp
@@ -57,3 +57,22 @@ VirtualMethods::getMargins(int* left, int* top, int* right, int* bottom) const
*bottom = m_bottom;
}
+double VirtualDaughter2::virtualMethod0(Point pt, int val, Complex cpx, bool b)
+{
+ return 42 + VirtualMethods::virtualMethod0(pt, val, cpx, b);
+}
+
+int VirtualDaughter2::sum0(int a0, int a1, int a2)
+{
+ return 42 + VirtualMethods::sum0(a0, a1, a2);
+}
+
+double VirtualFinalDaughter::virtualMethod0(Point pt, int val, Complex cpx, bool b)
+{
+ return 42 + VirtualMethods::virtualMethod0(pt, val, cpx, b);
+}
+
+int VirtualFinalDaughter::sum0(int a0, int a1, int a2)
+{
+ return 42 + VirtualMethods::sum0(a0, a1, a2);
+}
diff --git a/sources/shiboken2/tests/libsample/virtualmethods.h b/sources/shiboken2/tests/libsample/virtualmethods.h
index 5754d0d5d..4ba3ad338 100644
--- a/sources/shiboken2/tests/libsample/virtualmethods.h
+++ b/sources/shiboken2/tests/libsample/virtualmethods.h
@@ -121,6 +121,24 @@ public:
VirtualDaughter(Str name) : VirtualMethods(name) {}
};
+class LIBSAMPLE_API VirtualDaughter2 : public VirtualMethods
+{
+public:
+ VirtualDaughter2() : VirtualMethods("VirtualDaughter2") {}
+
+ double virtualMethod0(Point pt, int val, Complex cpx, bool b) override;
+ int sum0(int a0, int a1, int a2) final;
+};
+
+class LIBSAMPLE_API VirtualFinalDaughter final : public VirtualMethods
+{
+public:
+ VirtualFinalDaughter() : VirtualMethods("VirtualFinalDaughter") {}
+
+ double virtualMethod0(Point pt, int val, Complex cpx, bool b) override;
+ int sum0(int a0, int a1, int a2) override;
+};
+
class LIBSAMPLE_API VirtualDtor
{
public: