aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6/generator
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2024-01-02 15:52:42 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2024-01-05 20:36:16 +0100
commitd5b63f884fce402adb4065cd5f1ab4186d67ce18 (patch)
tree039ac0e462d021872a7f0eccedfc01bf3feb3553 /sources/shiboken6/generator
parent19cf526aaa2f1652e07bfcd61b652fa217529893 (diff)
Documentation: Fix doc modifications for added constructors
Doc modifications for added constructors were not generated at all. Extract a helper function writeFunctionDocumentation() for this and use that from writeFunction() and writeConstructors(). This requires making some methods const. Task-number: PYSIDE-1106 Pick-to: 6.6 Change-Id: I5c13891d51a4a3011c30cfccc5b5a3ea925e6d9d Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Diffstat (limited to 'sources/shiboken6/generator')
-rw-r--r--sources/shiboken6/generator/qtdoc/qtdocgenerator.cpp26
-rw-r--r--sources/shiboken6/generator/qtdoc/qtdocgenerator.h7
2 files changed, 22 insertions, 11 deletions
diff --git a/sources/shiboken6/generator/qtdoc/qtdocgenerator.cpp b/sources/shiboken6/generator/qtdoc/qtdocgenerator.cpp
index 03b894df4..bd4f8c064 100644
--- a/sources/shiboken6/generator/qtdoc/qtdocgenerator.cpp
+++ b/sources/shiboken6/generator/qtdoc/qtdocgenerator.cpp
@@ -568,7 +568,7 @@ void QtDocGenerator::writeConstructors(TextStream &s, const AbstractMetaClassCPt
s << '\n';
for (const auto &func : constructors)
- writeFormattedDetailedText(s, func->documentation(), scope);
+ writeFunctionDocumentation(s, func, DocParser::getDocModifications(func, cppClass), scope);
}
QString QtDocGenerator::formatArgs(const AbstractMetaFunctionCPtr &func)
@@ -703,7 +703,7 @@ bool QtDocGenerator::writeDocModifications(TextStream &s,
bool QtDocGenerator::writeInjectDocumentation(TextStream &s,
TypeSystem::DocModificationMode mode,
- const AbstractMetaClassCPtr &cppClass)
+ const AbstractMetaClassCPtr &cppClass) const
{
const bool didSomething =
writeDocModifications(s, DocParser::getDocModifications(cppClass),
@@ -722,7 +722,7 @@ bool QtDocGenerator::writeInjectDocumentation(TextStream &s,
TypeSystem::DocModificationMode mode,
const DocModificationList &modifications,
const AbstractMetaFunctionCPtr &func,
- const QString &scope)
+ const QString &scope) const
{
const bool didSomething = writeDocModifications(s, modifications, mode, scope);
s << '\n';
@@ -905,12 +905,7 @@ void QtDocGenerator::writeFunction(TextStream &s, const AbstractMetaFunctionCPtr
s << rstDeprecationNote("function");
}
- writeInjectDocumentation(s, TypeSystem::DocModificationPrepend, modifications, func, scope);
- if (!writeInjectDocumentation(s, TypeSystem::DocModificationReplace, modifications, func, scope)) {
- writeFormattedBriefText(s, func->documentation(), scope);
- writeFormattedDetailedText(s, func->documentation(), scope);
- }
- writeInjectDocumentation(s, TypeSystem::DocModificationAppend, modifications, func, scope);
+ writeFunctionDocumentation(s, func, modifications, scope);
if (auto propIndex = func->propertySpecIndex(); propIndex >= 0) {
const QString name = cppClass->propertySpecs().at(propIndex).name();
@@ -926,6 +921,19 @@ void QtDocGenerator::writeFunction(TextStream &s, const AbstractMetaFunctionCPtr
}
}
+void QtDocGenerator::writeFunctionDocumentation(TextStream &s, const AbstractMetaFunctionCPtr &func,
+ const DocModificationList &modifications,
+ const QString &scope) const
+
+{
+ writeInjectDocumentation(s, TypeSystem::DocModificationPrepend, modifications, func, scope);
+ if (!writeInjectDocumentation(s, TypeSystem::DocModificationReplace, modifications, func, scope)) {
+ writeFormattedBriefText(s, func->documentation(), scope);
+ writeFormattedDetailedText(s, func->documentation(), scope);
+ }
+ writeInjectDocumentation(s, TypeSystem::DocModificationAppend, modifications, func, scope);
+}
+
static QString fileNameToToEntry(const QString &fileName)
{
constexpr auto rstSuffix = ".rst"_L1;
diff --git a/sources/shiboken6/generator/qtdoc/qtdocgenerator.h b/sources/shiboken6/generator/qtdoc/qtdocgenerator.h
index dd5bf772b..3820ce38b 100644
--- a/sources/shiboken6/generator/qtdoc/qtdocgenerator.h
+++ b/sources/shiboken6/generator/qtdoc/qtdocgenerator.h
@@ -69,6 +69,9 @@ private:
void writeFunction(TextStream &s, const AbstractMetaFunctionCPtr &func,
const AbstractMetaClassCPtr &cppClass = {},
const QString &scope = {}, bool indexed = true);
+ void writeFunctionDocumentation(TextStream &s, const AbstractMetaFunctionCPtr &func,
+ const DocModificationList &modifications,
+ const QString &scope) const;
void writeFunctionParametersType(TextStream &s, const AbstractMetaClassCPtr &cppClass,
const AbstractMetaFunctionCPtr &func) const;
static void writeFunctionToc(TextStream &s, const QString &title,
@@ -96,11 +99,11 @@ private:
const QString &scope = {}) const;
bool writeInjectDocumentation(TextStream &s, TypeSystem::DocModificationMode mode,
- const AbstractMetaClassCPtr &cppClass);
+ const AbstractMetaClassCPtr &cppClass) const;
bool writeInjectDocumentation(TextStream &s, TypeSystem::DocModificationMode mode,
const DocModificationList &modifications,
const AbstractMetaFunctionCPtr &func,
- const QString &scope = {});
+ const QString &scope = {}) const;
bool writeDocModifications(TextStream &s, const DocModificationList &mods,
TypeSystem::DocModificationMode mode,
const QString &scope = {}) const;