Skip to content

Commit

Permalink
issue #7698: forward declaration of template classes
Browse files Browse the repository at this point in the history
  • Loading branch information
doxygen committed Apr 16, 2020
1 parent c0267ca commit 0992cf5
Showing 1 changed file with 22 additions and 20 deletions.
42 changes: 22 additions & 20 deletions src/doxygen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -995,12 +995,15 @@ static void addClassToContext(const Entry *root)
cd->setDocumentation(root->doc,root->docFile,root->docLine);
cd->setBriefDescription(root->brief,root->briefFile,root->briefLine);

if (root->bodyLine!=-1 && cd->getStartBodyLine()==-1)
if ((root->spec&Entry::ForwardDecl)==0 && cd->isForwardDeclared())
{
cd->setBodySegment(root->startLine,root->bodyLine,root->endBodyLine);
cd->setBodyDef(fd);
cd->setDefFile(root->fileName,root->startLine,root->startColumn);
if (root->bodyLine!=-1)
{
cd->setBodySegment(root->startLine,root->bodyLine,root->endBodyLine);
cd->setBodyDef(fd);
}
}
//cd->setName(fullName); // change name to match docs

if (cd->templateArguments().empty() || (cd->isForwardDeclared() && (root->spec&Entry::ForwardDecl)==0))
{
Expand Down Expand Up @@ -1097,19 +1100,22 @@ static void addClassToContext(const Entry *root)

cd->addSectionsToDefinition(root->anchors);
if (!root->subGrouping) cd->setSubGrouping(FALSE);
if (cd->hasDocumentation())
if ((root->spec&Entry::ForwardDecl)==0)
{
addIncludeFile(cd,fd,root);
}
if (fd && (root->section & Entry::COMPOUND_MASK))
{
//printf(">> Inserting class '%s' in file '%s' (root->fileName='%s')\n",
// cd->name().data(),
// fd->name().data(),
// root->fileName.data()
// );
cd->setFileDef(fd);
fd->insertClass(cd);
if (cd->hasDocumentation())
{
addIncludeFile(cd,fd,root);
}
if (fd && (root->section & Entry::COMPOUND_MASK))
{
//printf(">> Inserting class '%s' in file '%s' (root->fileName='%s')\n",
// cd->name().data(),
// fd->name().data(),
// root->fileName.data()
// );
cd->setFileDef(fd);
fd->insertClass(cd);
}
}
addClassToGroups(root,cd);
cd->setRefItems(root->sli);
Expand Down Expand Up @@ -2093,8 +2099,6 @@ static MemberDef *addVariableToClass(
ArgumentList(), root->metaData) };
md->setTagInfo(root->tagInfo());
md->setMemberClass(cd); // also sets outer scope (i.e. getOuterScope())
//md->setDefFile(root->fileName);
//md->setDefLine(root->startLine);
md->setDocumentation(root->doc,root->docFile,root->docLine);
md->setBriefDescription(root->brief,root->briefFile,root->briefLine);
md->setInbodyDocumentation(root->inbodyDocs,root->inbodyFile,root->inbodyLine);
Expand Down Expand Up @@ -3153,8 +3157,6 @@ void addGlobalFunction(const Entry *root,const QCString &rname,const QCString &s
md->setTagInfo(root->tagInfo());
md->setLanguage(root->lang);
md->setId(root->id);
//md->setDefFile(root->fileName);
//md->setDefLine(root->startLine);
md->setDocumentation(root->doc,root->docFile,root->docLine);
md->setBriefDescription(root->brief,root->briefFile,root->briefLine);
md->setInbodyDocumentation(root->inbodyDocs,root->inbodyFile,root->inbodyLine);
Expand Down

0 comments on commit 0992cf5

Please sign in to comment.