aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2021-09-06 14:17:15 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2021-09-07 14:38:37 +0200
commit3d2b4c9954207f1995c60eff27ea5a08ec02f950 (patch)
treeac6981be9473c24bcf4ffe76af3e04210e623b0f
parent5013f3376cf7bf57eb6003fc4453baefe9060dc5 (diff)
shiboken6: Clean up OverloadData
- Remove unused code - Streamline some functions - Remove fixups of the min/max arguments that were apparently workarounds for issues fixed by 7c122a523d48f56b5a958219a4e3dc6cbc4750d Change-Id: Ie600894ec1fc999f439894f36619aaa3f4f4e31a Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
-rw-r--r--sources/shiboken6/generator/shiboken/overloaddata.cpp63
-rw-r--r--sources/shiboken6/generator/shiboken/overloaddata.h7
2 files changed, 10 insertions, 60 deletions
diff --git a/sources/shiboken6/generator/shiboken/overloaddata.cpp b/sources/shiboken6/generator/shiboken/overloaddata.cpp
index 3be14dc9a..5cf3b3f0c 100644
--- a/sources/shiboken6/generator/shiboken/overloaddata.cpp
+++ b/sources/shiboken6/generator/shiboken/overloaddata.cpp
@@ -463,10 +463,6 @@ OverloadData::OverloadData(const AbstractMetaFunctionCList &overloads,
// Sort the overload possibilities so that the overload decisor code goes for the most
// important cases first, based on the topological order of the implicit conversions
sortNextOverloads();
-
- // Fix minArgs
- if (minArgs() > maxArgs())
- m_headOverloadData->m_minArgs = maxArgs();
}
OverloadData::OverloadData(OverloadData *headOverloadData, const AbstractMetaFunctionCPtr &func,
@@ -483,13 +479,6 @@ void OverloadData::addOverload(const AbstractMetaFunctionCPtr &func)
{
int origNumArgs = func->arguments().size();
int removed = numberOfRemovedArguments(func);
- int numArgs = origNumArgs - removed;
-
- if (numArgs > m_headOverloadData->m_maxArgs)
- m_headOverloadData->m_maxArgs = numArgs;
-
- if (numArgs < m_headOverloadData->m_minArgs)
- m_headOverloadData->m_minArgs = numArgs;
for (int i = 0; m_headOverloadData->m_minArgs > 0 && i < origNumArgs; i++) {
if (func->argumentRemoved(i + 1))
@@ -538,22 +527,19 @@ OverloadData *OverloadData::addOverloadData(const AbstractMetaFunctionCPtr &func
return overloadData;
}
-QStringList OverloadData::returnTypes() const
+bool OverloadData::hasNonVoidReturnType() const
{
- QSet<QString> retTypes;
for (const auto &func : m_overloads) {
- if (!func->typeReplaced(0).isEmpty())
- retTypes << func->typeReplaced(0);
- else if (!func->argumentRemoved(0))
- retTypes << func->type().cppSignature();
+ const QString typeReplaced = func->typeReplaced(0);
+ if (typeReplaced.isEmpty()) {
+ if (!func->argumentRemoved(0) && !func->type().isVoid())
+ return true;
+ } else {
+ if (typeReplaced != u"void")
+ return true;
+ }
}
- return retTypes.values();
-}
-
-bool OverloadData::hasNonVoidReturnType() const
-{
- QStringList retTypes = returnTypes();
- return !retTypes.contains(QLatin1String("void")) || retTypes.size() > 1;
+ return false;
}
bool OverloadData::hasVarargs() const
@@ -566,15 +552,6 @@ bool OverloadData::hasVarargs() const
return false;
}
-bool OverloadData::hasAllowThread() const
-{
- for (const auto &func : m_overloads) {
- if (func->allowThread())
- return true;
- }
- return false;
-}
-
bool OverloadData::hasStaticFunction(const AbstractMetaFunctionCList &overloads)
{
for (const auto &func : overloads) {
@@ -661,26 +638,6 @@ const AbstractMetaArgument *OverloadData::argument(const AbstractMetaFunctionCPt
return &func->arguments().at(m_argPos + removed);
}
-OverloadDataList OverloadData::overloadDataOnPosition(OverloadData *overloadData, int argPos) const
-{
- OverloadDataList overloadDataList;
- if (overloadData->argPos() == argPos) {
- overloadDataList.append(overloadData);
- } else if (overloadData->argPos() < argPos) {
- const OverloadDataList &data = overloadData->nextOverloadData();
- for (OverloadData *pd : data)
- overloadDataList += overloadDataOnPosition(pd, argPos);
- }
- return overloadDataList;
-}
-
-OverloadDataList OverloadData::overloadDataOnPosition(int argPos) const
-{
- OverloadDataList overloadDataList;
- overloadDataList += overloadDataOnPosition(m_headOverloadData, argPos);
- return overloadDataList;
-}
-
bool OverloadData::nextArgumentHasDefaultValue() const
{
for (OverloadData *overloadData : m_nextOverloadData) {
diff --git a/sources/shiboken6/generator/shiboken/overloaddata.h b/sources/shiboken6/generator/shiboken/overloaddata.h
index c4d7e6b51..ae7d91715 100644
--- a/sources/shiboken6/generator/shiboken/overloaddata.h
+++ b/sources/shiboken6/generator/shiboken/overloaddata.h
@@ -52,18 +52,12 @@ public:
const AbstractMetaType &argType() const { return m_argType; }
- /// Returns a string list containing all the possible return types (including void) for the current OverloadData.
- QStringList returnTypes() const;
-
/// Returns true if any of the overloads for the current OverloadData has a return type different from void.
bool hasNonVoidReturnType() const;
/// Returns true if any of the overloads for the current OverloadData has a varargs argument.
bool hasVarargs() const;
- /// Returns true if any of the overloads for the current OverloadData allows threads when called.
- bool hasAllowThread() const;
-
/// Returns true if any of the overloads for the current OverloadData is static.
bool hasStaticFunction() const;
@@ -146,7 +140,6 @@ private:
bool sortByOverloadNumberModification();
int functionNumber(const AbstractMetaFunctionCPtr &func) const;
- OverloadDataList overloadDataOnPosition(OverloadData *overloadData, int argPos) const;
AbstractMetaType m_argType;
QString m_argTypeReplaced;