diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-10-22 08:59:03 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-10-27 10:01:34 +0000 |
commit | 8b88410f9f9589235738bb26739d40af4447cc05 (patch) | |
tree | 19276bec219bf2a3c728fdced77b8fb3a45063fc /sources/shiboken2/ApiExtractor/tests/testabstractmetaclass.cpp | |
parent | 49bd2b28d4a666107d4d124b9a5cc9fbe88d8fe8 (diff) |
shiboken2: AbstractMetaArgument: use QSharedData[Pointer]
Similar to AbstractMetaType, AbstractMetaArgument was previously
kept as a raw pointer. The data were copied numerous times by
AbstractMetaArgument::copy() when adding the inherited functions to a
AbstractMetaClass.
Similar to what was done for AbstractMetaType in
6cad0686101b252cfdbd1a6768a2b02c39aa1d8a, change the type to be based
on QSharedData[Pointer]. It can then be passed around and treated like
a C++ value type, with Qt sharing the data when possible behind the
scenes.
* Remove inheritance from AbstractMetaVariable by moving
the fields over.
* Remove the unused field m_originalName.
Change-Id: Ic9e476ca71e163de131fbecc267d0a4e336cb0b9
Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/shiboken2/ApiExtractor/tests/testabstractmetaclass.cpp')
-rw-r--r-- | sources/shiboken2/ApiExtractor/tests/testabstractmetaclass.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sources/shiboken2/ApiExtractor/tests/testabstractmetaclass.cpp b/sources/shiboken2/ApiExtractor/tests/testabstractmetaclass.cpp index 19bfb8464..c33296885 100644 --- a/sources/shiboken2/ApiExtractor/tests/testabstractmetaclass.cpp +++ b/sources/shiboken2/ApiExtractor/tests/testabstractmetaclass.cpp @@ -242,8 +242,8 @@ void TestAbstractMetaClass::testDefaultValues() AbstractMetaClass* classA = AbstractMetaClass::findClass(classes, QLatin1String("A")); QCOMPARE(classA->queryFunctionsByName(QLatin1String("method")).count(), 1); AbstractMetaFunction* method = classA->queryFunctionsByName(QLatin1String("method")).constFirst(); - AbstractMetaArgument* arg = method->arguments().constFirst(); - QCOMPARE(arg->defaultValueExpression(), arg->originalDefaultValueExpression()); + const AbstractMetaArgument &arg = method->arguments().constFirst(); + QCOMPARE(arg.defaultValueExpression(), arg.originalDefaultValueExpression()); } void TestAbstractMetaClass::testModifiedDefaultValues() @@ -271,9 +271,9 @@ void TestAbstractMetaClass::testModifiedDefaultValues() AbstractMetaClass* classA = AbstractMetaClass::findClass(classes, QLatin1String("A")); QCOMPARE(classA->queryFunctionsByName(QLatin1String("method")).count(), 1); AbstractMetaFunction *method = classA->queryFunctionsByName(QLatin1String("method")).constFirst(); - AbstractMetaArgument *arg = method->arguments().constFirst(); - QCOMPARE(arg->defaultValueExpression(), QLatin1String("Hello")); - QCOMPARE(arg->originalDefaultValueExpression(), QLatin1String("A::B()")); + const AbstractMetaArgument &arg = method->arguments().constFirst(); + QCOMPARE(arg.defaultValueExpression(), QLatin1String("Hello")); + QCOMPARE(arg.originalDefaultValueExpression(), QLatin1String("A::B()")); } void TestAbstractMetaClass::testInnerClassOfAPolymorphicOne() |