aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6/tests/libsample/derived.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sources/shiboken6/tests/libsample/derived.cpp')
-rw-r--r--sources/shiboken6/tests/libsample/derived.cpp88
1 files changed, 88 insertions, 0 deletions
diff --git a/sources/shiboken6/tests/libsample/derived.cpp b/sources/shiboken6/tests/libsample/derived.cpp
new file mode 100644
index 000000000..d20880431
--- /dev/null
+++ b/sources/shiboken6/tests/libsample/derived.cpp
@@ -0,0 +1,88 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
+
+#include "derived.h"
+
+#include <iostream>
+
+Derived::Derived(int id) noexcept : Abstract(id)
+{
+}
+
+Derived::~Derived() = default;
+
+Abstract *Derived::createObject()
+{
+ static int id = 100;
+ return new Derived(id++);
+}
+
+void Derived::pureVirtual()
+{
+}
+
+void *Derived::pureVirtualReturningVoidPtr()
+{
+ return nullptr;
+}
+
+void Derived::unpureVirtual()
+{
+}
+
+bool Derived::singleArgument(bool b)
+{
+ return !b;
+}
+
+double
+Derived::defaultValue(int n)
+{
+ return ((double) n) + 0.1;
+}
+
+OverloadedFuncEnum Derived::overloaded(int, int)
+{
+ return OverloadedFunc_ii;
+}
+
+OverloadedFuncEnum Derived::overloaded(double)
+{
+ return OverloadedFunc_d;
+}
+
+Derived::OtherOverloadedFuncEnum Derived::otherOverloaded(int, int, bool, double)
+{
+ return OtherOverloadedFunc_iibd;
+}
+
+Derived::OtherOverloadedFuncEnum Derived::otherOverloaded(int, double)
+{
+ return OtherOverloadedFunc_id;
+}
+
+struct SecretClass : public Abstract {
+ void pureVirtual() override {}
+ void *pureVirtualReturningVoidPtr() override { return nullptr; }
+ PrintFormat returnAnEnum() override { return Short; }
+ void hideFunction(HideType*) override {};
+private:
+ void pureVirtualPrivate() override {}
+};
+
+Abstract *Derived::triggerImpossibleTypeDiscovery()
+{
+ return new SecretClass;
+}
+
+struct AnotherSecretClass : public Derived {
+};
+
+Abstract *Derived::triggerAnotherImpossibleTypeDiscovery()
+{
+ return new AnotherSecretClass;
+}
+
+void Derived::pureVirtualPrivate()
+{
+}