aboutsummaryrefslogtreecommitdiffstats
path: root/sources
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2022-05-10 13:32:20 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2022-05-11 08:25:10 +0200
commitdd6fe2dc99d9ac63ed0e8b454dd7258e17031794 (patch)
tree3bf335a696aa4a09d67e30624d047734dae37098 /sources
parentaae2f599e8215e49747c9b5dce698d35b913c6c7 (diff)
shiboken6: Simplify code in HeaderGenerator::writeFunction()
Split the code paths for constructors and virtual functions. Pick-to: 6.3 Change-Id: If82bcbcb8a568acf01d5272bd409eb7f01a6d8a3 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources')
-rw-r--r--sources/shiboken6/generator/shiboken/headergenerator.cpp20
1 files changed, 9 insertions, 11 deletions
diff --git a/sources/shiboken6/generator/shiboken/headergenerator.cpp b/sources/shiboken6/generator/shiboken/headergenerator.cpp
index 4aafda5af..9465bce8c 100644
--- a/sources/shiboken6/generator/shiboken/headergenerator.cpp
+++ b/sources/shiboken6/generator/shiboken/headergenerator.cpp
@@ -273,18 +273,16 @@ void HeaderGenerator::writeFunction(TextStream &s, const AbstractMetaFunctionCPt
&& (func->isAbstract() || func->isVirtual()))
return;
- if (func->isConstructor() || func->isAbstract() || func->isVirtual()) {
- Options virtualOption = Generator::OriginalTypeDescription;
-
- const bool virtualFunc = func->isVirtual() || func->isAbstract();
- if (!virtualFunc && !func->hasSignatureModifications())
- virtualOption = Generator::NoOption;
-
- s << functionSignature(func, QString(), QString(), virtualOption);
+ if (func->functionType() == AbstractMetaFunction::ConstructorFunction) {
+ Options option = func->hasSignatureModifications()
+ ? Generator::OriginalTypeDescription : Generator::NoOption;
+ s << functionSignature(func, {}, {}, option) << ";\n";
+ return;
+ }
- if (virtualFunc)
- s << " override";
- s << ";\n";
+ if (func->isAbstract() || func->isVirtual()) {
+ s << functionSignature(func, {}, {}, Generator::OriginalTypeDescription)
+ << " override;\n";
// Check if this method hide other methods in base classes
for (const auto &f : func->ownerClass()->functions()) {
if (f != func