CppEditor: Properly handle function types as template arguments

... when creating getters and setters.

Fixes: QTCREATORBUG-27133
Change-Id: Ia77147a270fb1229c765ff9d5f03aa243d51fe97
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Christian Kandeler
2022-04-05 15:38:56 +02:00
parent f27c4214f8
commit 3cdec51eaf
3 changed files with 44 additions and 3 deletions

View File

@@ -84,10 +84,13 @@ void NamePrettyPrinter::visit(const TemplateNameId *name)
TemplateArgument templArg = name->templateArgumentAt(index);
QString arg;
if (templArg.type().isValid())
arg = overview()->prettyType(templArg.type());
else if (const NumericLiteral *num = templArg.numericLiteral())
if (templArg.type().isValid()) {
Overview o = *_overview;
o.showReturnTypes = true;
arg = o.prettyType(templArg.type());
} else if (const NumericLiteral *num = templArg.numericLiteral()) {
arg = QString::fromLatin1(num->chars(), num->size());
}
if (arg.isEmpty())
_name += QString::fromLatin1("_Tp%1").arg(index + 1);