summaryrefslogtreecommitdiffstats
path: root/src/memberdef.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2011-12-26 14:28:40 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2011-12-26 14:28:40 (GMT)
commit8a65c23b74c33c38b4d1234e76cec74bd08cea69 (patch)
tree7f59fc72959fc8ac950d4affd83be0c3b2b4cf2b /src/memberdef.cpp
parentb625258a2f46f61e85bf473dfa64b719755c3b71 (diff)
downloadDoxygen-8a65c23b74c33c38b4d1234e76cec74bd08cea69.zip
Doxygen-8a65c23b74c33c38b4d1234e76cec74bd08cea69.tar.gz
Doxygen-8a65c23b74c33c38b4d1234e76cec74bd08cea69.tar.bz2
Release-1.7.6.1-20111226
Diffstat (limited to 'src/memberdef.cpp')
-rw-r--r--src/memberdef.cpp35
1 files changed, 22 insertions, 13 deletions
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index 355870f..70e5bb9 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -183,7 +183,7 @@ static bool writeDefArgumentList(OutputList &ol,ClassDef *cd,
{
if (isDefine || first)
{
- ol.startParameterType(first,md->isObjCMethod()?"dummy":0);
+ ol.startParameterType(first,0);
paramTypeStarted=TRUE;
if (isDefine)
{
@@ -1306,6 +1306,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
}
QCString cname = d->name();
+ QCString cdname = d->displayName();
QCString cfname = getOutputFileBase();
//QCString osname = cname;
// in case of class members that are put in a group the name of the outerscope
@@ -1322,14 +1323,17 @@ void MemberDef::writeDeclaration(OutputList &ol,
// start a new member declaration
bool isAnonymous = annoClassDef || m_impl->annMemb || m_impl->annEnumType;
///printf("startMemberItem for %s\n",name().data());
- ol.startMemberItem( isAnonymous ? 1 : m_impl->tArgList ? 3 : 0);
+ ol.startMemberItem( anchor(), isAnonymous ? 1 : m_impl->tArgList ? 3 : 0);
// If there is no detailed description we need to write the anchor here.
bool detailsVisible = isDetailedSectionLinkable();
if (!detailsVisible && !m_impl->annMemb)
{
QCString doxyName=name().copy();
- if (!cname.isEmpty()) doxyName.prepend(cname+"::");
+ if (!cname.isEmpty())
+ {
+ doxyName.prepend(cdname+getLanguageSpecificSeparator(getLanguage()));
+ }
QCString doxyArgs=argsString();
ol.startDoxyAnchor(cfname,cname,anchor(),doxyName,doxyArgs);
@@ -1354,7 +1358,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
{
if (!isAnonymous) ol.startMemberTemplateParams();
writeTemplatePrefix(ol,m_impl->tArgList);
- if (!isAnonymous) ol.endMemberTemplateParams();
+ if (!isAnonymous) ol.endMemberTemplateParams(anchor());
}
// *** write type
@@ -1378,7 +1382,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
ol.startAnonTypeScope(s_indentLevel++);
annoClassDef->writeDeclaration(ol,m_impl->annMemb,inGroup);
//printf(">>>>>>>>>>>>>> startMemberItem(2)\n");
- ol.startMemberItem(2);
+ ol.startMemberItem(anchor(),2);
int j;
for (j=0;j< s_indentLevel-1;j++)
{
@@ -1644,7 +1648,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
/* && !annMemb */
)
{
- ol.startMemberDescription();
+ ol.startMemberDescription(anchor());
ol.parseDoc(briefFile(),briefLine(),
getOuterScope()?getOuterScope():d,this,briefDescription(),
TRUE,FALSE,0,TRUE,FALSE);
@@ -1791,16 +1795,18 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
KEEP_RESIDENT_DURING_CALL;
SrcLangExt lang = getLanguage();
+ //printf("member=%s lang=%d\n",name().data(),lang);
bool optVhdl = lang==SrcLangExt_VHDL;
+ QCString sep = getLanguageSpecificSeparator(lang);
QCString scopeName = scName;
QCString memAnchor = anchor();
QCString ciname = container->name();
if (container->definitionType()==TypeGroup)
{
- if (getClassDef()) scopeName=getClassDef()->name();
- else if (getNamespaceDef()) scopeName=getNamespaceDef()->name();
- else if (getFileDef()) scopeName=getFileDef()->name();
+ if (getClassDef()) scopeName=getClassDef()->displayName();
+ else if (getNamespaceDef()) scopeName=getNamespaceDef()->displayName();
+ else if (getFileDef()) scopeName=getFileDef()->displayName();
ciname = ((GroupDef *)container)->groupTitle();
}
else if (container->definitionType()==TypeFile && getNamespaceDef())
@@ -1809,14 +1815,17 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
memAnchor.prepend("file_");
}
- QCString cname = container->name();
- QCString cfname = getOutputFileBase();
+ QCString cname = container->name();
+ QCString cfname = getOutputFileBase();
QCString cfiname = container->getOutputFileBase();
// get member name
QCString doxyName=name();
// prepend scope if there is any. TODO: make this optional for C only docs
- if (scopeName) doxyName.prepend((QCString)scopeName+"::");
+ if (!scopeName.isEmpty())
+ {
+ doxyName.prepend(scopeName+sep);
+ }
QCString doxyArgs=argsString();
QCString ldef = definition();
@@ -1985,7 +1994,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
}
else
{
- linkifyText(TextGeneratorOLImpl(ol),container,getBodyDef(),name(),ldef);
+ linkifyText(TextGeneratorOLImpl(ol),container,getBodyDef(),name(),substitute(ldef,"::",sep));
hasParameterList=writeDefArgumentList(ol,cd,scopeName,this);
}