diff --git a/language/duchain/identifier.h b/language/duchain/identifier.h --- a/language/duchain/identifier.h +++ b/language/duchain/identifier.h @@ -191,7 +191,7 @@ void clearTemplateIdentifiers(); void setTemplateIdentifiers(const QList& templateIdentifiers); - QString toString() const; + QString toString(bool addTemplateIdentifiers = true) const; bool operator==(const Identifier& rhs) const; bool operator!=(const Identifier& rhs) const; @@ -297,8 +297,8 @@ */ void setIsExpression(bool); - QString toString(bool ignoreExplicitlyGlobal = false) const; - QStringList toStringList() const; + QString toString(bool ignoreExplicitlyGlobal = false, bool addTemplateIdentifiers = true) const; + QStringList toStringList(bool addTemplateIdentifiers = true) const; QualifiedIdentifier operator+(const QualifiedIdentifier& rhs) const; QualifiedIdentifier& operator+=(const QualifiedIdentifier& rhs); diff --git a/language/duchain/identifier.cpp b/language/duchain/identifier.cpp --- a/language/duchain/identifier.cpp +++ b/language/duchain/identifier.cpp @@ -588,11 +588,11 @@ dd->templateIdentifiersList.append(id); } -QString Identifier::toString() const +QString Identifier::toString(bool addTemplateIdentifiers) const { QString ret = identifier().str(); - if (templateIdentifiersCount()) { + if (addTemplateIdentifiers && templateIdentifiersCount()) { ret.append("< "); for (uint i = 0; i < templateIdentifiersCount(); ++i) { ret.append(templateIdentifier(i).toString()); @@ -772,25 +772,25 @@ delete dd; } -QStringList QualifiedIdentifier::toStringList() const +QStringList QualifiedIdentifier::toStringList(bool addTemplateIdentifiers) const { QStringList ret; ret.reserve(explicitlyGlobal() + count()); if (explicitlyGlobal()) ret.append(QString()); if(m_index) { FOREACH_FUNCTION_STATIC(const IndexedIdentifier& index, cd->identifiers) - ret << index.identifier().toString(); + ret << index.identifier().toString(addTemplateIdentifiers); }else{ FOREACH_FUNCTION_STATIC(const IndexedIdentifier& index, dd->identifiers) - ret << index.identifier().toString(); + ret << index.identifier().toString(addTemplateIdentifiers); } return ret; } -QString QualifiedIdentifier::toString(bool ignoreExplicitlyGlobal) const +QString QualifiedIdentifier::toString(bool ignoreExplicitlyGlobal, bool addTemplateIdentifiers) const { const QString doubleColon = QStringLiteral("::"); @@ -807,7 +807,7 @@ else first = false; - ret += index.identifier().toString(); + ret += index.identifier().toString(addTemplateIdentifiers); } }else{ FOREACH_FUNCTION_STATIC(const IndexedIdentifier& index, dd->identifiers) @@ -817,7 +817,7 @@ else first = false; - ret += index.identifier().toString(); + ret += index.identifier().toString(addTemplateIdentifiers); } }