diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2003-11-21 13:10:40 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2003-11-21 13:10:40 (GMT) |
commit | 4d3dea2f08f3bed73db5c3b8dc3772e46decb479 (patch) | |
tree | b21e4aeb8cabee272c641732f0e77e90433030e3 /src/doxygen.cpp | |
parent | 8a5c51f2c968dee1283dce092e1ccc0d3df91f0e (diff) | |
download | Doxygen-4d3dea2f08f3bed73db5c3b8dc3772e46decb479.zip Doxygen-4d3dea2f08f3bed73db5c3b8dc3772e46decb479.tar.gz Doxygen-4d3dea2f08f3bed73db5c3b8dc3772e46decb479.tar.bz2 |
Release-1.3.5
Diffstat (limited to 'src/doxygen.cpp')
-rw-r--r-- | src/doxygen.cpp | 151 |
1 files changed, 77 insertions, 74 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp index 03db72d..6e0a6a4 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -2289,88 +2289,91 @@ static void buildFunctionList(Entry *root) //printf("combining function with prototype found=%d in namespace %s\n", // found,nsName.data()); - // merge argument lists - //mergeArguments(root->argList,md->argumentList()); - // merge documentation - if (md->documentation().isEmpty() && !root->doc.isEmpty()) + if (found) { - md->setDocumentation(root->doc,root->docFile,root->docLine); - md->setInbodyDocumentation(root->inbodyDocs,root->inbodyFile,root->inbodyLine); - md->setDocsForDefinition(!root->proto); - ArgumentList *argList = new ArgumentList; - stringToArgumentList(root->args,argList); - //printf("root->argList=%p\n",root->argList); - //if (root->argList) - //{ - // ArgumentListIterator ali1(*root->argList); - // ArgumentListIterator ali2(*argList); - // Argument *sa,*da; - // for (;(sa=ali1.current()) && (da=ali2.current());++ali1,++ali2) - // { - // printf("sa->name=%s (doc=%s) da->name=%s (doc=%s)\n", - // sa->name.data(),sa->docs.data(), - // da->name.data(),da->docs.data() - // ); - // if (!sa->docs.isEmpty() && da->docs.isEmpty()) - // { - // da->docs=sa->docs.copy(); - // } - // } - //} - if (root->proto) + // merge argument lists + //mergeArguments(root->argList,md->argumentList()); + // merge documentation + if (md->documentation().isEmpty() && !root->doc.isEmpty()) { - //printf("setDeclArgumentList to %p\n",argList); - md->setDeclArgumentList(argList); + md->setDocumentation(root->doc,root->docFile,root->docLine); + md->setInbodyDocumentation(root->inbodyDocs,root->inbodyFile,root->inbodyLine); + md->setDocsForDefinition(!root->proto); + ArgumentList *argList = new ArgumentList; + stringToArgumentList(root->args,argList); + //printf("root->argList=%p\n",root->argList); + //if (root->argList) + //{ + // ArgumentListIterator ali1(*root->argList); + // ArgumentListIterator ali2(*argList); + // Argument *sa,*da; + // for (;(sa=ali1.current()) && (da=ali2.current());++ali1,++ali2) + // { + // printf("sa->name=%s (doc=%s) da->name=%s (doc=%s)\n", + // sa->name.data(),sa->docs.data(), + // da->name.data(),da->docs.data() + // ); + // if (!sa->docs.isEmpty() && da->docs.isEmpty()) + // { + // da->docs=sa->docs.copy(); + // } + // } + //} + if (root->proto) + { + //printf("setDeclArgumentList to %p\n",argList); + md->setDeclArgumentList(argList); + } + else + { + md->setArgumentList(argList); + } } - else + else if (!md->documentation().isEmpty() && !root->doc.isEmpty() && nd==rnd) { - md->setArgumentList(argList); + warn(root->docFile,root->docLine,"Warning: member %s: ignoring the detailed description found here, since another one was found at line %d of file %s!",md->name().data(),md->docLine(),md->docFile().data()); } - } - else if (!md->documentation().isEmpty() && !root->doc.isEmpty()) - { - warn(root->docFile,root->docLine,"Warning: member %s: ignoring the detailed description found here, since another one was found at line %d of file %s!",md->name().data(),md->docLine(),md->docFile().data()); - } - if (md->briefDescription().isEmpty() && !root->brief.isEmpty()) - { - md->setBriefDescription(root->brief,root->briefFile,root->briefLine); - } - else if (!md->briefDescription().isEmpty() && !root->brief.isEmpty()) - { - warn(root->briefFile,root->briefLine,"Warning: member %s: ignoring the brief description found here, since another one was found at line %d of file %s!",md->name().data(),md->briefLine(),md->briefFile().data()); - } - - md->addSectionsToDefinition(root->anchors); + if (md->briefDescription().isEmpty() && !root->brief.isEmpty()) + { + md->setBriefDescription(root->brief,root->briefFile,root->briefLine); + } + else if (!md->briefDescription().isEmpty() && !root->brief.isEmpty() && nd==rnd) + { + warn(root->briefFile,root->briefLine,"Warning: member %s: ignoring the brief description found here, since another one was found at line %d of file %s!",md->name().data(),md->briefLine(),md->briefFile().data()); + } - md->enableCallGraph(md->hasCallGraph() || root->callGraph); + md->addSectionsToDefinition(root->anchors); - // merge ingroup specifiers - if (md->getGroupDef()==0 && root->groups->first()!=0) - { - //printf("new member is grouped, existing member not\n"); - // if we do addMemberToGroups here an undocumented declaration may prevent - // the documented implementation below it from being added - //addMemberToGroups(root,md); - //GroupDef *gd=Doxygen::groupSDict[root->groups->first()->groupname.data()]; - //if (gd) - //{ - // bool success = gd->insertMember(md); - // if (success) - // { - // md->setGroupDef(gd, root->groups->first()->pri, root->fileName, root->startLine, !root->doc.isEmpty()); - // } - //} - addMemberToGroups(root,md); - } - else if (md->getGroupDef()!=0 && root->groups->count()==0) - { - //printf("existing member is grouped, new member not\n"); - root->groups->append(new Grouping(md->getGroupDef()->name(), md->getGroupPri())); - } - else if (md->getGroupDef()!=0 && root->groups->first()!=0) - { - //printf("both members are grouped\n"); + md->enableCallGraph(md->hasCallGraph() || root->callGraph); + + // merge ingroup specifiers + if (md->getGroupDef()==0 && root->groups->first()!=0) + { + //printf("new member is grouped, existing member not\n"); + // if we do addMemberToGroups here an undocumented declaration may prevent + // the documented implementation below it from being added + //addMemberToGroups(root,md); + //GroupDef *gd=Doxygen::groupSDict[root->groups->first()->groupname.data()]; + //if (gd) + //{ + // bool success = gd->insertMember(md); + // if (success) + // { + // md->setGroupDef(gd, root->groups->first()->pri, root->fileName, root->startLine, !root->doc.isEmpty()); + // } + //} + addMemberToGroups(root,md); + } + else if (md->getGroupDef()!=0 && root->groups->count()==0) + { + //printf("existing member is grouped, new member not\n"); + root->groups->append(new Grouping(md->getGroupDef()->name(), md->getGroupPri())); + } + else if (md->getGroupDef()!=0 && root->groups->first()!=0) + { + //printf("both members are grouped\n"); + } } } } |