aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6/ApiExtractor/tests/testnamespace.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2020-11-27 17:11:47 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2020-11-30 15:53:54 +0000
commit30cdcd7b8e7f70bf6b64450ca622dd4494e3a0ea (patch)
tree044002feaeb24281e9000648a1342073701ee29c /sources/shiboken6/ApiExtractor/tests/testnamespace.cpp
parentf4fd97655f20e2ce4d24704056b7a7a9ab9db355 (diff)
shiboken6: Store AbstractMetaFunction using a QSharedPointer
Store the list functions (global / class member) as a QList<QSharedPointer<const AbstractMetaFunction> instead of a raw pointer list. This makes passing around function lists easier and solves the memory leaks caused by mixing cloned and unmodified functions while collecting the overload lists in the generators. - Change the function signatures accordingly - Add a qSharedPointerConstCast() for non-const access. - Restructure the traversing of added functions in the AbstractMetaBuilder - Remove some unused typedefs and functions unearthed by the change Change-Id: I08a6c5243750e3eb3813bc3f7172899ad2b13e22 Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/shiboken6/ApiExtractor/tests/testnamespace.cpp')
-rw-r--r--sources/shiboken6/ApiExtractor/tests/testnamespace.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/sources/shiboken6/ApiExtractor/tests/testnamespace.cpp b/sources/shiboken6/ApiExtractor/tests/testnamespace.cpp
index 7f0addd6b..99aabe780 100644
--- a/sources/shiboken6/ApiExtractor/tests/testnamespace.cpp
+++ b/sources/shiboken6/ApiExtractor/tests/testnamespace.cpp
@@ -57,8 +57,8 @@ void NamespaceTest::testNamespaceMembers()
QVERIFY(ns);
auto metaEnum = ns->findEnum(QLatin1String("Option"));
QVERIFY(metaEnum.has_value());
- const AbstractMetaFunction* func = ns->findFunction(QLatin1String("foo"));
- QVERIFY(func);
+ const auto func = ns->findFunction(QLatin1String("foo"));
+ QVERIFY(!func.isNull());
}
void NamespaceTest::testNamespaceInnerClassMembers()
@@ -89,8 +89,8 @@ void NamespaceTest::testNamespaceInnerClassMembers()
QVERIFY(ins);
const AbstractMetaClass *sc = AbstractMetaClass::findClass(classes, QLatin1String("OuterNamespace::InnerNamespace::SomeClass"));
QVERIFY(sc);
- const AbstractMetaFunction* meth = sc->findFunction(QLatin1String("method"));
- QVERIFY(meth);
+ const auto meth = sc->findFunction(QLatin1String("method"));
+ QVERIFY(!meth.isNull());
}
QTEST_APPLESS_MAIN(NamespaceTest)