aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6/ApiExtractor/docparser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sources/shiboken6/ApiExtractor/docparser.cpp')
-rw-r--r--sources/shiboken6/ApiExtractor/docparser.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/sources/shiboken6/ApiExtractor/docparser.cpp b/sources/shiboken6/ApiExtractor/docparser.cpp
index ea3828a43..9d90d5fb2 100644
--- a/sources/shiboken6/ApiExtractor/docparser.cpp
+++ b/sources/shiboken6/ApiExtractor/docparser.cpp
@@ -9,7 +9,7 @@
#include "messages.h"
#include "modifications.h"
#include "reporthandler.h"
-#include "typesystem.h"
+#include "complextypeentry.h"
#include "xmlutils.h"
#include <QtCore/QBuffer>
@@ -84,6 +84,22 @@ bool DocParser::skipForQuery(const AbstractMetaFunctionCPtr &func)
usesRValueReference);
}
+DocModificationList DocParser::getDocModifications(const AbstractMetaClass* cppClass,
+ const AbstractMetaFunctionCPtr &func)
+{
+ auto *te = cppClass->typeEntry();
+ if (func.isNull())
+ return te->docModifications();
+
+ DocModificationList result = te->functionDocModifications();
+ const QString minimalSignature = func->minimalSignature();
+ const auto filter = [&minimalSignature](const DocModification &mod) {
+ return mod.signature() != minimalSignature;
+ };
+ result.erase(std::remove_if(result.begin(), result.end(), filter), result.end());
+ return result;
+}
+
AbstractMetaFunctionCList DocParser::documentableFunctions(const AbstractMetaClass *metaClass)
{
auto result = metaClass->functionsInTargetLang();