summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-11-05 20:51:39 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-11-05 20:51:39 (GMT)
commit67c4b97fd341fbe30b243f6959935a0e8595c7ad (patch)
tree579c0916f1e6bebf0806a01683aad2b164857a0b
parent7343874ae210ae1e1ab9c39b700159222872f48e (diff)
parent0b54d06d4449d91a0890e589ba48daaf41794284 (diff)
downloadDoxygen-67c4b97fd341fbe30b243f6959935a0e8595c7ad.zip
Doxygen-67c4b97fd341fbe30b243f6959935a0e8595c7ad.tar.gz
Doxygen-67c4b97fd341fbe30b243f6959935a0e8595c7ad.tar.bz2
Merge branch 'DGA45-Rel_1_8_20_DGA'
-rw-r--r--src/doxygen.cpp2
-rw-r--r--src/memberdef.cpp2
-rw-r--r--src/perlmodgen.cpp16
3 files changed, 12 insertions, 8 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index b195715..0a86123 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -1380,7 +1380,7 @@ static void processTagLessClasses(ClassDef *rootCd,
if (type.find(icd->name())!=-1) // matching tag less struct/union
{
QCString name = md->name();
- if (md->isAnonymous()) name = "__unnamed__";
+ if (md->isAnonymous()) name = "__unnamed" + name.right(name.length()-1)+"__";
if (!prefix.isEmpty()) name.prepend(prefix+".");
//printf(" found %s for class %s\n",name.data(),cd->name().data());
ClassDef *ncd = createTagLessInstance(rootCd,icd,name);
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index cae209c..8f3341c 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -3435,7 +3435,7 @@ void MemberDefImpl::writeDocumentation(const MemberList *ml,
{
//printf("Anonymous compound '%s'\n",cname.data());
ol.startDoxyAnchor(cfname,cname,memAnchor,doxyName,doxyArgs);
- ol.startMemberDoc(ciname,name(),memAnchor,name(),memCount,memTotal,showInline);
+ ol.startMemberDoc(ciname,name(),memAnchor,"",memCount,memTotal,showInline);
// search for the last anonymous compound name in the definition
int si=ldef.find(' '),pi,ei=i+l;
if (si==-1) si=0;
diff --git a/src/perlmodgen.cpp b/src/perlmodgen.cpp
index ffb0fed..c2d120f 100644
--- a/src/perlmodgen.cpp
+++ b/src/perlmodgen.cpp
@@ -1569,6 +1569,7 @@ void PerlModGenerator::generatePerlModForMember(const MemberDef *md,const Defini
// (templateArguments(), definitionTemplateParameterLists())
QCString memType;
+ QCString name;
bool isFunc=FALSE;
switch (md->memberType())
{
@@ -1590,9 +1591,12 @@ void PerlModGenerator::generatePerlModForMember(const MemberDef *md,const Defini
case MemberType_Dictionary: memType="dictionary"; break;
}
+ name = md->name();
+ if (md->isAnonymous()) name = "__unnamed" + name.right(name.length() - 1)+"__";
+
m_output.openHash()
.addFieldQuotedString("kind", memType)
- .addFieldQuotedString("name", md->name())
+ .addFieldQuotedString("name", name)
.addFieldQuotedString("virtualness", getVirtualnessName(md->virtualness()))
.addFieldQuotedString("protection", getProtectionName(md->protection()))
.addFieldBoolean("static", md->isStatic());
@@ -1696,14 +1700,12 @@ void PerlModGenerator::generatePerlModForMember(const MemberDef *md,const Defini
}
}
- /* DGA: fix #7495 Perlmod does not generate bitfield */
if (md->memberType() == MemberType_Variable && md->bitfieldString())
{
- QCString bitfield = md->bitfieldString();
- if (bitfield.at(0) == ':') bitfield = bitfield.mid(1);
- m_output.addFieldQuotedString("bitfield", bitfield);
+ QCString bitfield = md->bitfieldString();
+ if (bitfield.at(0) == ':') bitfield = bitfield.mid(1);
+ m_output.addFieldQuotedString("bitfield", bitfield);
}
- /* DGA: end of fix #7495 */
const MemberDef *rmd = md->reimplements();
if (rmd)
@@ -1830,6 +1832,8 @@ void PerlModGenerator::generatePerlModForClass(const ClassDef *cd)
m_output.openHash()
.addFieldQuotedString("name", cd->name());
+ /* DGA: fix # #7547 Perlmod does not generate "kind" information to discriminate struct/union */
+ m_output.addFieldQuotedString("kind", cd->compoundTypeString());
if (!cd->baseClasses().empty())
{