summaryrefslogtreecommitdiffstats
path: root/src/namespacedef.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-12-02 18:49:52 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-12-02 18:49:52 (GMT)
commit4372054e0b7af9c0cd1c1390859d8fef3581d8bb (patch)
tree32b033cf86b2de8a5f015fc0bd9f0d168fd66982 /src/namespacedef.cpp
parent63d7b19df11eb55a30e4af8fa492ee464ff353f5 (diff)
downloadDoxygen-4372054e0b7af9c0cd1c1390859d8fef3581d8bb.zip
Doxygen-4372054e0b7af9c0cd1c1390859d8fef3581d8bb.tar.gz
Doxygen-4372054e0b7af9c0cd1c1390859d8fef3581d8bb.tar.bz2
Improve handling of inline namespace members in LateX/RTF output
Diffstat (limited to 'src/namespacedef.cpp')
-rw-r--r--src/namespacedef.cpp31
1 files changed, 20 insertions, 11 deletions
diff --git a/src/namespacedef.cpp b/src/namespacedef.cpp
index 0c55573..4b8b4d8 100644
--- a/src/namespacedef.cpp
+++ b/src/namespacedef.cpp
@@ -34,6 +34,19 @@
#include "membername.h"
//------------------------------------------------------------------
+static QCString makeDisplayName(const NamespaceDef *nd,bool includeScope)
+{
+ QCString result=includeScope ? nd->name() : nd->localName();
+ SrcLangExt lang = nd->getLanguage();
+ QCString sep = getLanguageSpecificSeparator(lang);
+ if (sep!="::")
+ {
+ result = substitute(result,"::",sep);
+ }
+ //printf("makeDisplayName() %s->%s lang=%d\n",name().data(),result.data(),lang);
+ return result;
+}
+//------------------------------------------------------------------
class NamespaceDefImpl : public DefinitionMixin<NamespaceDefMutable>
{
@@ -172,7 +185,7 @@ class NamespaceDefAliasImpl : public DefinitionAliasMixin<NamespaceDef>
virtual LinkedRefMap<const ClassDef> getUsedClasses() const
{ return getNSAlias()->getUsedClasses(); }
virtual QCString displayName(bool b=TRUE) const
- { return getNSAlias()->displayName(b); }
+ { return makeDisplayName(this,b); }
virtual QCString localName() const
{ return getNSAlias()->localName(); }
virtual bool isConstantGroup() const
@@ -219,7 +232,11 @@ class NamespaceDefAliasImpl : public DefinitionAliasMixin<NamespaceDef>
NamespaceDef *createNamespaceDefAlias(const Definition *newScope,const NamespaceDef *nd)
{
- return new NamespaceDefAliasImpl(newScope,nd);
+ NamespaceDef *alnd = new NamespaceDefAliasImpl(newScope,nd);
+ //printf("alnd name=%s localName=%s qualifiedName=%s displayName()=%s\n",
+ // alnd->name().data(),alnd->localName().data(),alnd->qualifiedName().data(),
+ // alnd->displayName().data());
+ return alnd;
}
//------------------------------------------------------------------
@@ -1252,15 +1269,7 @@ void NamespaceDefImpl::addListReferences()
QCString NamespaceDefImpl::displayName(bool includeScope) const
{
- QCString result=includeScope ? name() : localName();
- SrcLangExt lang = getLanguage();
- QCString sep = getLanguageSpecificSeparator(lang);
- if (sep!="::")
- {
- result = substitute(result,"::",sep);
- }
- //printf("NamespaceDefImpl::displayName() %s->%s lang=%d\n",name().data(),result.data(),lang);
- return result;
+ return makeDisplayName(this,includeScope);
}
QCString NamespaceDefImpl::localName() const