aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sources/shiboken6/ApiExtractor/apiextractor.cpp22
-rw-r--r--sources/shiboken6/ApiExtractor/apiextractorresult.cpp36
-rw-r--r--sources/shiboken6/ApiExtractor/apiextractorresult.h14
-rw-r--r--sources/shiboken6/ApiExtractor/apiextractorresultdata_p.h28
4 files changed, 33 insertions, 67 deletions
diff --git a/sources/shiboken6/ApiExtractor/apiextractor.cpp b/sources/shiboken6/ApiExtractor/apiextractor.cpp
index b107dec02..0f7c97722 100644
--- a/sources/shiboken6/ApiExtractor/apiextractor.cpp
+++ b/sources/shiboken6/ApiExtractor/apiextractor.cpp
@@ -3,7 +3,6 @@
#include "apiextractor.h"
#include "apiextractorresult.h"
-#include "apiextractorresultdata_p.h"
#include "abstractmetaargument.h"
#include "abstractmetabuilder.h"
#include "abstractmetaenum.h"
@@ -300,17 +299,16 @@ std::optional<ApiExtractorResult> ApiExtractor::run(ApiExtractorFlags flags)
InstantiationCollectContext collectContext;
d->collectInstantiatedContainersAndSmartPointers(collectContext);
- auto *data = new ApiExtractorResultData;
-
- classListToCList(d->m_builder->takeClasses(), &data->m_metaClasses);
- classListToCList(d->m_builder->takeSmartPointers(), &data->m_smartPointers);
- data->m_globalFunctions = d->m_builder->globalFunctions();
- data->m_globalEnums = d->m_builder->globalEnums();
- data->m_enums = d->m_builder->typeEntryToEnumsHash();
- data->m_flags = flags;
- qSwap(data->m_instantiatedContainers, collectContext.instantiatedContainers);
- qSwap(data->m_instantiatedSmartPointers, collectContext.instantiatedSmartPointers);
- return ApiExtractorResult(data);
+ ApiExtractorResult result;
+ classListToCList(d->m_builder->takeClasses(), &result.m_metaClasses);
+ classListToCList(d->m_builder->takeSmartPointers(), &result.m_smartPointers);
+ result.m_globalFunctions = d->m_builder->globalFunctions();
+ result.m_globalEnums = d->m_builder->globalEnums();
+ result.m_enums = d->m_builder->typeEntryToEnumsHash();
+ result.m_flags = flags;
+ qSwap(result.m_instantiatedContainers, collectContext.instantiatedContainers);
+ qSwap(result.m_instantiatedSmartPointers, collectContext.instantiatedSmartPointers);
+ return result;
}
LanguageLevel ApiExtractor::languageLevel() const
diff --git a/sources/shiboken6/ApiExtractor/apiextractorresult.cpp b/sources/shiboken6/ApiExtractor/apiextractorresult.cpp
index b1a386ea6..40e8fb997 100644
--- a/sources/shiboken6/ApiExtractor/apiextractorresult.cpp
+++ b/sources/shiboken6/ApiExtractor/apiextractorresult.cpp
@@ -2,25 +2,13 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#include "apiextractorresult.h"
-#include "apiextractorresultdata_p.h"
#include "abstractmetalang.h"
#include "abstractmetaenum.h"
#include "enumtypeentry.h"
#include "flagstypeentry.h"
-ApiExtractorResultData::ApiExtractorResultData() = default;
-
-ApiExtractorResultData::~ApiExtractorResultData() = default;
-
-ApiExtractorResult::ApiExtractorResult() : d(new ApiExtractorResultData)
-{
-}
-
-ApiExtractorResult::ApiExtractorResult(ApiExtractorResultData *data) :
- d(data)
-{
-}
+ApiExtractorResult::ApiExtractorResult() = default;
ApiExtractorResult::ApiExtractorResult(const ApiExtractorResult &) = default;
@@ -34,42 +22,42 @@ ApiExtractorResult::~ApiExtractorResult() = default;
const AbstractMetaEnumList &ApiExtractorResult::globalEnums() const
{
- return d->m_globalEnums;
+ return m_globalEnums;
}
const AbstractMetaFunctionCList &ApiExtractorResult::globalFunctions() const
{
- return d->m_globalFunctions;
+ return m_globalFunctions;
}
const AbstractMetaClassCList &ApiExtractorResult::classes() const
{
- return d->m_metaClasses;
+ return m_metaClasses;
}
const AbstractMetaClassCList &ApiExtractorResult::smartPointers() const
{
- return d->m_smartPointers;
+ return m_smartPointers;
}
const AbstractMetaTypeList &ApiExtractorResult::instantiatedContainers() const
{
- return d->m_instantiatedContainers;
+ return m_instantiatedContainers;
}
const InstantiatedSmartPointers &ApiExtractorResult::instantiatedSmartPointers() const
{
- return d->m_instantiatedSmartPointers;
+ return m_instantiatedSmartPointers;
}
ApiExtractorFlags ApiExtractorResult::flags() const
{
- return d->m_flags;
+ return m_flags;
}
void ApiExtractorResult::setFlags(ApiExtractorFlags f)
{
- d->m_flags = f;
+ m_flags = f;
}
std::optional<AbstractMetaEnum>
@@ -77,8 +65,8 @@ std::optional<AbstractMetaEnum>
{
if (!typeEntry.isNull() && typeEntry->isFlags())
typeEntry = qSharedPointerCast<const FlagsTypeEntry>(typeEntry)->originator();
- const auto it = d->m_enums.constFind(typeEntry);
- if (it == d->m_enums.constEnd())
+ const auto it = m_enums.constFind(typeEntry);
+ if (it == m_enums.constEnd())
return {};
return it.value();
}
@@ -86,7 +74,7 @@ std::optional<AbstractMetaEnum>
AbstractMetaFunctionCList ApiExtractorResult::implicitConversions(const TypeEntryCPtr &type) const
{
if (type->isValue()) {
- if (auto metaClass = AbstractMetaClass::findClass(d->m_metaClasses, type))
+ if (auto metaClass = AbstractMetaClass::findClass(m_metaClasses, type))
return metaClass->implicitConversions();
}
return {};
diff --git a/sources/shiboken6/ApiExtractor/apiextractorresult.h b/sources/shiboken6/ApiExtractor/apiextractorresult.h
index 1e1858c81..69bc56516 100644
--- a/sources/shiboken6/ApiExtractor/apiextractorresult.h
+++ b/sources/shiboken6/ApiExtractor/apiextractorresult.h
@@ -9,7 +9,7 @@
#include "abstractmetalang_typedefs.h"
#include "typesystem_typedefs.h"
-#include <QtCore/QExplicitlySharedDataPointer>
+#include <QtCore/QHash>
#include <optional>
@@ -29,7 +29,6 @@ class ApiExtractorResult
{
public:
ApiExtractorResult();
- explicit ApiExtractorResult(ApiExtractorResultData *data);
ApiExtractorResult(const ApiExtractorResult &);
ApiExtractorResult &operator=(const ApiExtractorResult &);
ApiExtractorResult(ApiExtractorResult &&);
@@ -60,7 +59,16 @@ public:
void setFlags(ApiExtractorFlags f);
private:
- QExplicitlySharedDataPointer<ApiExtractorResultData> d;
+ AbstractMetaClassCList m_metaClasses;
+ AbstractMetaClassCList m_smartPointers;
+ AbstractMetaFunctionCList m_globalFunctions;
+ AbstractMetaEnumList m_globalEnums;
+ AbstractMetaTypeList m_instantiatedContainers;
+ InstantiatedSmartPointers m_instantiatedSmartPointers;
+ QHash<TypeEntryCPtr, AbstractMetaEnum> m_enums;
+ ApiExtractorFlags m_flags;
+
+ friend class ApiExtractor;
};
#endif // APIEXTRACTORRESULT_H
diff --git a/sources/shiboken6/ApiExtractor/apiextractorresultdata_p.h b/sources/shiboken6/ApiExtractor/apiextractorresultdata_p.h
deleted file mode 100644
index ba48bf41b..000000000
--- a/sources/shiboken6/ApiExtractor/apiextractorresultdata_p.h
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright (C) 2022 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
-
-#ifndef APIEXTRACTORRESULTDATA_P_H
-#define APIEXTRACTORRESULTDATA_P_H
-
-#include "apiextractorresult.h"
-
-#include <QtCore/QHash>
-#include <QtCore/QSharedData>
-
-class ApiExtractorResultData : public QSharedData
-{
-public:
- ApiExtractorResultData();
- ~ApiExtractorResultData();
-
- AbstractMetaClassCList m_metaClasses;
- AbstractMetaClassCList m_smartPointers;
- AbstractMetaFunctionCList m_globalFunctions;
- AbstractMetaEnumList m_globalEnums;
- AbstractMetaTypeList m_instantiatedContainers;
- InstantiatedSmartPointers m_instantiatedSmartPointers;
- QHash<TypeEntryCPtr, AbstractMetaEnum> m_enums;
- ApiExtractorFlags m_flags;
-};
-
-#endif // APIEXTRACTORRESULTDATA_P_H