aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/generator
diff options
context:
space:
mode:
authorRenato Araujo Oliveira Filho <renato.araujo@kdab.com>2020-04-15 14:10:43 -0300
committerRenato Araujo Oliveira Filho <renato.araujo@kdab.com>2020-09-02 10:48:05 -0300
commit61d1a5af4e6f17da32e302023b8a4358bccf5863 (patch)
treec8a11be5b2bb6699e8b595d587ba2a4ca169a3c3 /sources/shiboken2/generator
parentfc58517056f74a1f49674a81710cb0b07a8abf2e (diff)
Skip sphinx indexing for functions with multiple signatures
Avoid duplicate functions on sphinx index for functions with multiple signature Change-Id: I1394657ff6e1978f65bacbab617972d04cac8aaa Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/shiboken2/generator')
-rw-r--r--sources/shiboken2/generator/qtdoc/qtdocgenerator.cpp11
-rw-r--r--sources/shiboken2/generator/qtdoc/qtdocgenerator.h2
2 files changed, 9 insertions, 4 deletions
diff --git a/sources/shiboken2/generator/qtdoc/qtdocgenerator.cpp b/sources/shiboken2/generator/qtdoc/qtdocgenerator.cpp
index 4ddcae83b..a9413607d 100644
--- a/sources/shiboken2/generator/qtdoc/qtdocgenerator.cpp
+++ b/sources/shiboken2/generator/qtdoc/qtdocgenerator.cpp
@@ -1667,6 +1667,7 @@ void QtDocGenerator::generateClass(QTextStream &s, const GeneratorContext &class
writeFields(s, metaClass);
+ QStringList uniqueFunctions;
for (AbstractMetaFunction *func : qAsConst(functionList)) {
if (shouldSkip(func))
continue;
@@ -1676,7 +1677,8 @@ void QtDocGenerator::generateClass(QTextStream &s, const GeneratorContext &class
else
s << ".. method:: ";
- writeFunction(s, metaClass, func);
+ writeFunction(s, metaClass, func, !uniqueFunctions.contains(func->name()));
+ uniqueFunctions.append(func->name());
}
writeInjectDocumentation(s, TypeSystem::DocModificationAppend, metaClass, nullptr);
@@ -2104,12 +2106,15 @@ void QtDocGenerator::writeFunctionParametersType(QTextStream &s, const AbstractM
}
void QtDocGenerator::writeFunction(QTextStream& s, const AbstractMetaClass* cppClass,
- const AbstractMetaFunction* func)
+ const AbstractMetaFunction* func, bool indexed)
{
- s << functionSignature(cppClass, func) << "\n\n";
+ s << functionSignature(cppClass, func);
{
Indentation indentation(INDENT);
+ if (!indexed)
+ s << QLatin1Char('\n') << INDENT << QLatin1String(":noindex:");
+ s << "\n\n";
writeFunctionParametersType(s, cppClass, func);
const auto version = versionOf(func->typeEntry());
if (!version.isNull())
diff --git a/sources/shiboken2/generator/qtdoc/qtdocgenerator.h b/sources/shiboken2/generator/qtdoc/qtdocgenerator.h
index e4067cc6f..468abd599 100644
--- a/sources/shiboken2/generator/qtdoc/qtdocgenerator.h
+++ b/sources/shiboken2/generator/qtdoc/qtdocgenerator.h
@@ -252,7 +252,7 @@ private:
void writeArguments(QTextStream &s, const AbstractMetaClass *cppClass, const AbstractMetaFunction *func);
QString functionSignature(const AbstractMetaClass* cppClass, const AbstractMetaFunction* func);
void writeFunction(QTextStream& s, const AbstractMetaClass* cppClass,
- const AbstractMetaFunction* func);
+ const AbstractMetaFunction* func, bool indexed = true);
void writeFunctionParametersType(QTextStream &s, const AbstractMetaClass *cppClass,
const AbstractMetaFunction* func);
void writeFunctionList(QTextStream& s, const AbstractMetaClass* cppClass);