summaryrefslogtreecommitdiffstats
path: root/src/util.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2010-03-24 20:39:59 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2010-03-24 20:39:59 (GMT)
commiteb1cb68e11a3b24222a49ed254f8f7aea2f73bae (patch)
tree1e47a4443afb2ec61f032669050ee1b8834baa8d /src/util.cpp
parentcd19d7a220915d1f637e0a0a5b2d05d5750f5db0 (diff)
downloadDoxygen-eb1cb68e11a3b24222a49ed254f8f7aea2f73bae.zip
Doxygen-eb1cb68e11a3b24222a49ed254f8f7aea2f73bae.tar.gz
Doxygen-eb1cb68e11a3b24222a49ed254f8f7aea2f73bae.tar.bz2
Release-1.6.3-20100324
Diffstat (limited to 'src/util.cpp')
-rw-r--r--src/util.cpp69
1 files changed, 26 insertions, 43 deletions
diff --git a/src/util.cpp b/src/util.cpp
index 512bb66..1bb85f2 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -3572,19 +3572,21 @@ static void findMembersWithSpecificName(MemberName *mn,
bool checkCV,
QList<MemberDef> &members)
{
- //printf(" Function with global scope name `%s' args=`%s'\n",memberName.data(),args);
+ //printf(" Function with global scope name `%s' args=`%s'\n",
+ // mn->memberName(),args);
MemberListIterator mli(*mn);
MemberDef *md;
for (mli.toFirst();(md=mli.current());++mli)
{
FileDef *fd=md->getFileDef();
GroupDef *gd=md->getGroupDef();
- //printf(" md->name()=`%s' md->args=`%s' fd=%p gd=%p\n",
- // md->name().data(),args,fd,gd);
+ //printf(" md->name()=`%s' md->args=`%s' fd=%p gd=%p current=%p\n",
+ // md->name().data(),args,fd,gd,currentFile);
if (
((gd && gd->isLinkable()) || (fd && fd->isLinkable())) &&
md->getNamespaceDef()==0 && md->isLinkable() &&
- (!checkStatics || !md->isStatic() || currentFile==0 || fd==currentFile) // statics must appear in the same file
+ (!checkStatics || (!md->isStatic() && !md->isDefine()) ||
+ currentFile==0 || fd==currentFile) // statics must appear in the same file
)
{
//printf(" fd=%p gd=%p args=`%s'\n",fd,gd,args);
@@ -3952,44 +3954,6 @@ bool getDefs(const QCString &scName,const QCString &memberName,
// search again without strict static checking
findMembersWithSpecificName(mn,args,FALSE,currentFile,checkCV,members);
}
-
-#if 0
- //printf(" Function with global scope name `%s' args=`%s'\n",memberName.data(),args);
- MemberListIterator mli(*mn);
- for (mli.toFirst();(md=mli.current());++mli)
- {
- fd=md->getFileDef();
- gd=md->getGroupDef();
- //printf(" md->name()=`%s' md->args=`%s' fd=%p gd=%p\n",
- // md->name().data(),args,fd,gd);
- if (
- ((gd && gd->isLinkable()) || (fd && fd->isLinkable())) &&
- md->getNamespaceDef()==0 && md->isLinkable() &&
- (!md->isStatic() || fd==currentFile) // statics must appear in the same file
- )
- {
- //printf(" fd=%p gd=%p args=`%s'\n",fd,gd,args);
- bool match=TRUE;
- ArgumentList *argList=0;
- if (args && !md->isDefine() && strcmp(args,"()")!=0)
- {
- argList=new ArgumentList;
- LockingPtr<ArgumentList> mdAl = md->argumentList();
- stringToArgumentList(args,argList);
- match=matchArguments2(
- md->getOuterScope(),fd,mdAl.pointer(),
- Doxygen::globalScope,fd,argList,
- checkCV);
- delete argList; argList=0;
- }
- if (match)
- {
- //printf("Found match!\n");
- members.append(md);
- }
- }
- }
-#endif
if (members.count()!=1 && args && !strcmp(args,"()"))
{
// no exact match found, but if args="()" an arbitrary
@@ -5789,7 +5753,7 @@ PageDef *addRelatedPage(const char *name,const QCString &ptitle,
pd->setReference(tagInfo->tagName);
}
- pd->setFileName(convertNameToFile(pd->name(),TRUE,FALSE));
+ pd->setFileName(convertNameToFile(pd->name()));
//printf("Appending page `%s'\n",baseName.data());
Doxygen::pageSDict->append(baseName,pd);
@@ -7000,5 +6964,24 @@ bool patternMatch(const QFileInfo &fi,const QStrList *patList)
return found;
}
+void writeSummaryLink(OutputList &ol,const char *label,const char *title,
+ bool &first)
+{
+ if (first)
+ {
+ ol.writeString(" <div class=\"summary\">\n");
+ first=FALSE;
+ }
+ else
+ {
+ ol.writeString(" &#124;\n");
+ }
+ ol.writeString("<a href=\"#");
+ ol.writeString(label);
+ ol.writeString("\">");
+ ol.writeString(title);
+ ol.writeString("</a>");
+}
+