diff options
Diffstat (limited to 'src/libs/cplusplus/NamePrettyPrinter.cpp')
-rw-r--r-- | src/libs/cplusplus/NamePrettyPrinter.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/libs/cplusplus/NamePrettyPrinter.cpp b/src/libs/cplusplus/NamePrettyPrinter.cpp index 5d9c5770e0..6195302178 100644 --- a/src/libs/cplusplus/NamePrettyPrinter.cpp +++ b/src/libs/cplusplus/NamePrettyPrinter.cpp @@ -80,8 +80,13 @@ void NamePrettyPrinter::visit(const TemplateNameId *name) if (index != 0) _name += QLatin1String(", "); - FullySpecifiedType argTy = name->templateArgumentAt(index); - QString arg = overview()->prettyType(argTy); + TemplateArgument templArg = name->templateArgumentAt(index); + QString arg; + if (templArg.type().isValid()) + arg = overview()->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); else |