aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2023-12-14 10:43:54 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2023-12-14 15:58:17 +0100
commitcbbee78a5fdba727b0bd5774a2f4606156a16e15 (patch)
treefdf8502b46b563f56a08a946f790deb336c740cc
parent58aaf9e521c1dfa526ceab0526c38c992a43c754 (diff)
Silence documentation warnings about not finding signals in webxml files
Do not propagate the base class signal functions in the meta builder. Task-number: PYSIDE-1106 Pick-to: 6.6 Change-Id: If721f11841b4b0bd5c40bda982a12cbc07c317ac Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
-rw-r--r--sources/shiboken6/ApiExtractor/abstractmetalang.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/sources/shiboken6/ApiExtractor/abstractmetalang.cpp b/sources/shiboken6/ApiExtractor/abstractmetalang.cpp
index d049c578a..572b4f99d 100644
--- a/sources/shiboken6/ApiExtractor/abstractmetalang.cpp
+++ b/sources/shiboken6/ApiExtractor/abstractmetalang.cpp
@@ -1447,6 +1447,11 @@ void AbstractMetaClassPrivate::addUsingConstructors(const AbstractMetaClassPtr &
}
}
+static inline bool isSignal(const AbstractMetaFunctionCPtr &f)
+{
+ return f->isSignal();
+}
+
void AbstractMetaClass::fixFunctions(const AbstractMetaClassPtr &klass)
{
auto *d = klass->d.data();
@@ -1483,6 +1488,10 @@ void AbstractMetaClass::fixFunctions(const AbstractMetaClassPtr &klass)
*superClass -= AbstractMetaClass::FinalInTargetLang;
}
superFuncs = superClass->queryFunctions(FunctionQueryOption::ClassImplements);
+ // We are not interested in signals as no bindings are generated for them;
+ // they cause documentation warnings.
+ superFuncs.erase(std::remove_if(superFuncs.begin(), superFuncs.end(), isSignal),
+ superFuncs.end());
const auto virtuals = superClass->queryFunctions(FunctionQueryOption::VirtualInCppFunctions);
superFuncs += virtuals;