aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6/ApiExtractor/qtdocparser.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2022-09-05 10:48:26 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2022-09-05 16:00:13 +0200
commit4727e8890aa20346872f405a1993f33fd343af31 (patch)
treeb9f19277b6b6b8ec7c3027139f8b2f3e3ea76bcf /sources/shiboken6/ApiExtractor/qtdocparser.cpp
parentb1bd0cceddb44e41e26018bb40ec110abb8bddf1 (diff)
shiboken6: Split the document modifications in ComplexTypeEntry
Split into function modifications (with signature) with a new accessor and let the old accessor return the class modifications only. Add a helper function DocParser::getDocModifications() to retrieve the modifications. Task-number: PYSIDE-2025 Change-Id: I1f8b3eb0cfa4b121910329cd76b0a67559d76fca Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/shiboken6/ApiExtractor/qtdocparser.cpp')
-rw-r--r--sources/shiboken6/ApiExtractor/qtdocparser.cpp34
1 files changed, 10 insertions, 24 deletions
diff --git a/sources/shiboken6/ApiExtractor/qtdocparser.cpp b/sources/shiboken6/ApiExtractor/qtdocparser.cpp
index b20a53632..7f189b5ad 100644
--- a/sources/shiboken6/ApiExtractor/qtdocparser.cpp
+++ b/sources/shiboken6/ApiExtractor/qtdocparser.cpp
@@ -99,25 +99,19 @@ static QString formatFunctionArgTypeQuery(const AbstractMetaType &metaType)
return result;
}
-QString QtDocParser::queryFunctionDocumentation(const QString &sourceFileName,
- const ClassDocumentation &classDocumentation,
- const AbstractMetaClass* metaClass,
- const AbstractMetaFunctionCPtr &func,
- const DocModificationList &signedModifs,
- QString *errorMessage)
+QString QtDocParser::functionDocumentation(const QString &sourceFileName,
+ const ClassDocumentation &classDocumentation,
+ const AbstractMetaClass* metaClass,
+ const AbstractMetaFunctionCPtr &func,
+ QString *errorMessage)
{
errorMessage->clear();
- DocModificationList funcModifs;
- for (const DocModification &funcModif : signedModifs) {
- if (funcModif.signature() == func->minimalSignature())
- funcModifs.append(funcModif);
- }
-
const QString docString =
queryFunctionDocumentation(sourceFileName, classDocumentation, metaClass,
func, errorMessage);
+ const auto funcModifs = DocParser::getDocModifications(metaClass, func);
return docString.isEmpty() || funcModifs.isEmpty()
? docString : applyDocModifications(funcModifs, docString);
}
@@ -253,16 +247,8 @@ void QtDocParser::fillDocumentation(AbstractMetaClass* metaClass)
return;
}
- DocModificationList signedModifs, classModifs;
- const DocModificationList &mods = metaClass->typeEntry()->docModifications();
- for (const DocModification &docModif : mods) {
- if (docModif.signature().isEmpty())
- classModifs.append(docModif);
- else
- signedModifs.append(docModif);
- }
-
- QString docString = applyDocModifications(mods, classDocumentation.description);
+ QString docString = applyDocModifications(metaClass->typeEntry()->docModifications(),
+ classDocumentation.description);
if (docString.isEmpty()) {
QString className = metaClass->name();
@@ -281,8 +267,8 @@ void QtDocParser::fillDocumentation(AbstractMetaClass* metaClass)
const auto &funcs = DocParser::documentableFunctions(metaClass);
for (const auto &func : funcs) {
const QString detailed =
- queryFunctionDocumentation(sourceFileName, classDocumentation,
- metaClass, func, signedModifs, &errorMessage);
+ functionDocumentation(sourceFileName, classDocumentation,
+ metaClass, func, &errorMessage);
if (!errorMessage.isEmpty())
qCWarning(lcShibokenDoc, "%s", qPrintable(errorMessage));
const Documentation documentation(detailed, {});