diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-05-10 13:32:20 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-05-11 08:25:10 +0200 |
commit | dd6fe2dc99d9ac63ed0e8b454dd7258e17031794 (patch) | |
tree | 3bf335a696aa4a09d67e30624d047734dae37098 /sources | |
parent | aae2f599e8215e49747c9b5dce698d35b913c6c7 (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.cpp | 20 |
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 |