summaryrefslogtreecommitdiffstats
path: root/src/perlmodgen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/perlmodgen.cpp')
-rw-r--r--src/perlmodgen.cpp31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/perlmodgen.cpp b/src/perlmodgen.cpp
index cf8be57..c1298d5 100644
--- a/src/perlmodgen.cpp
+++ b/src/perlmodgen.cpp
@@ -1440,16 +1440,16 @@ void PerlModGenerator::generatePerlModForMember(MemberDef *md,Definition *)
md->memberType()!=MemberDef::Enumeration)
m_output.addFieldQuotedString("type", md->typeString());
+ LockingPtr<ArgumentList> al = md->argumentList();
if (isFunc) //function
{
- ArgumentList *al = md->argumentList();
- m_output.addFieldBoolean("const", al && al->constSpecifier)
- .addFieldBoolean("volatile", al && al->volatileSpecifier);
+ m_output.addFieldBoolean("const", al!=0 && al->constSpecifier)
+ .addFieldBoolean("volatile", al!=0 && al->volatileSpecifier);
m_output.openList("parameters");
- ArgumentList *declAl = md->declArgumentList();
- ArgumentList *defAl = md->argumentList();
- if (declAl && declAl->count()>0)
+ LockingPtr<ArgumentList> declAl = md->declArgumentList();
+ LockingPtr<ArgumentList> defAl = md->argumentList();
+ if (declAl!=0 && declAl->count()>0)
{
ArgumentListIterator declAli(*declAl);
ArgumentListIterator defAli(*defAl);
@@ -1487,7 +1487,7 @@ void PerlModGenerator::generatePerlModForMember(MemberDef *md,Definition *)
md->argsString()!=0) // define
{
m_output.openList("parameters");
- ArgumentListIterator ali(*md->argumentList());
+ ArgumentListIterator ali(*al);
Argument *a;
for (ali.toFirst();(a=ali.current());++ali)
{
@@ -1505,10 +1505,11 @@ void PerlModGenerator::generatePerlModForMember(MemberDef *md,Definition *)
if (md->memberType()==MemberDef::Enumeration) // enum
{
- if (md->enumFieldList())
+ LockingPtr<MemberList> enumFields = md->enumFieldList();
+ if (enumFields!=0)
{
m_output.openList("values");
- MemberListIterator emli(*md->enumFieldList());
+ MemberListIterator emli(*enumFields);
MemberDef *emd;
for (emli.toFirst();(emd=emli.current());++emli)
{
@@ -1534,8 +1535,8 @@ void PerlModGenerator::generatePerlModForMember(MemberDef *md,Definition *)
.addFieldQuotedString("name", rmd->name())
.closeHash();
- MemberList *rbml = md->reimplementedBy();
- if (rbml)
+ LockingPtr<MemberList> rbml = md->reimplementedBy();
+ if (rbml!=0)
{
MemberListIterator mli(*rbml);
m_output.openList("reimplemented_by");
@@ -2014,21 +2015,21 @@ bool PerlModGenerator::generatePerlModOutput()
m_output.add("$doxydocs=").openHash();
m_output.openList("classes");
- ClassSDict::Iterator cli(Doxygen::classSDict);
+ ClassSDict::Iterator cli(*Doxygen::classSDict);
ClassDef *cd;
for (cli.toFirst();(cd=cli.current());++cli)
generatePerlModForClass(cd);
m_output.closeList();
m_output.openList("namespaces");
- NamespaceSDict::Iterator nli(Doxygen::namespaceSDict);
+ NamespaceSDict::Iterator nli(*Doxygen::namespaceSDict);
NamespaceDef *nd;
for (nli.toFirst();(nd=nli.current());++nli)
generatePerlModForNamespace(nd);
m_output.closeList();
m_output.openList("files");
- FileNameListIterator fnli(Doxygen::inputNameList);
+ FileNameListIterator fnli(*Doxygen::inputNameList);
FileName *fn;
for (;(fn=fnli.current());++fnli)
{
@@ -2040,7 +2041,7 @@ bool PerlModGenerator::generatePerlModOutput()
m_output.closeList();
m_output.openList("groups");
- GroupSDict::Iterator gli(Doxygen::groupSDict);
+ GroupSDict::Iterator gli(*Doxygen::groupSDict);
GroupDef *gd;
for (;(gd=gli.current());++gli)
{