diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2009-06-22 20:14:03 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2009-06-22 20:14:03 (GMT) |
commit | 7c0a46b50fad0925e47b78326f8c2e92e3829fb4 (patch) | |
tree | 2f918f7da3205101b2a8a300ee9afefe247b3f24 /src/vhdldocgen.cpp | |
parent | 7a3de4c3c8aac25c38b6e93bb0927de40cd1c650 (diff) | |
download | Doxygen-7c0a46b50fad0925e47b78326f8c2e92e3829fb4.zip Doxygen-7c0a46b50fad0925e47b78326f8c2e92e3829fb4.tar.gz Doxygen-7c0a46b50fad0925e47b78326f8c2e92e3829fb4.tar.bz2 |
Release-1.5.9-20090622
Diffstat (limited to 'src/vhdldocgen.cpp')
-rw-r--r-- | src/vhdldocgen.cpp | 48 |
1 files changed, 38 insertions, 10 deletions
diff --git a/src/vhdldocgen.cpp b/src/vhdldocgen.cpp index 280e068..ad5f8df 100644 --- a/src/vhdldocgen.cpp +++ b/src/vhdldocgen.cpp @@ -1745,7 +1745,7 @@ void VhdlDocGen::writeVhdlDeclarations(MemberList* ml, VhdlDocGen::writeVHDLDeclarations(ml,ol,cd,0,fd,gd,theTranslator_vhdlType(VhdlDocGen::CONFIG,FALSE),0,FALSE,VhdlDocGen::CONFIG); } -static void setConfigurationType(MemberList *ml) +static void setGlobalType(MemberList *ml) { if (ml==0) return; MemberDef *mdd=0; @@ -1756,6 +1756,14 @@ static void setConfigurationType(MemberList *ml) { mdd->setMemberSpecifiers(VhdlDocGen::CONFIG); } + else if (strcmp(mdd->typeString(),"library")==0) + { + mdd->setMemberSpecifiers(VhdlDocGen::LIBRARY); + } + else if (strcmp(mdd->typeString(),"package")==0) + { + mdd->setMemberSpecifiers(VhdlDocGen::USE); + } } } @@ -1814,8 +1822,28 @@ void VhdlDocGen::writeVHDLDeclaration(MemberDef* mdef,OutputList &ol, LockingPtr<MemberDef> lock(mdef,mdef); Definition *d=0; - ASSERT (cd!=0 || nd!=0 || fd!=0 || gd!=0); // member should belong to something - if (cd) d=cd; else if (nd) d=nd; else if (fd) d=fd; else d=gd; + + /* some vhdl files contain only a configuration description + + library work; + configuration cfg_tb_jtag_gotoBackup of tb_jtag_gotoBackup is + for RTL + end for; + end cfg_tb_jtag_gotoBackup; + + in this case library work does not belong to an entity, package ... + + */ + + ASSERT(cd!=0 || nd!=0 || fd!=0 || gd!=0 || + mdef->getMemberSpecifiers()==VhdlDocGen::LIBRARY || + mdef->getMemberSpecifiers()==VhdlDocGen::USE + ); // member should belong to something + if (cd) d=cd; + else if (nd) d=nd; + else if (fd) d=fd; + else if (gd) d=gd; + else d=(Definition*)mdef; // write tag file information of this member if (!Config_getString("GENERATE_TAGFILE").isEmpty()) @@ -1862,12 +1890,12 @@ void VhdlDocGen::writeVHDLDeclaration(MemberDef* mdef,OutputList &ol, } // write search index info - if (Config_getBool("SEARCHENGINE")) - { - Doxygen::searchIndex->setCurrentDoc(mdef->qualifiedName(),mdef->getOutputFileBase(),mdef->anchor()); - Doxygen::searchIndex->addWord(mdef->localName(),TRUE); - Doxygen::searchIndex->addWord(mdef->qualifiedName(),FALSE); - } + //if (Config_getBool("SEARCHENGINE")) + //{ + // Doxygen::searchIndex->setCurrentDoc(mdef->qualifiedName(),mdef->getOutputFileBase(),mdef->anchor()); + // Doxygen::searchIndex->addWord(mdef->localName(),TRUE); + // Doxygen::searchIndex->addWord(mdef->qualifiedName(),FALSE); + //} QCString cname = d->name(); QCString cfname = mdef->getOutputFileBase(); @@ -2187,7 +2215,7 @@ void VhdlDocGen::writeVHDLDeclarations(MemberList* ml,OutputList &ol, ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd, const char *title,const char *subtitle,bool /*showEnumValues*/,int type) { - setConfigurationType(ml); + setGlobalType(ml); if (!membersHaveSpecificType(ml,type)) return; if (title) |