summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFilipe Alves <filipe.alves@bithium.com>2016-07-14 09:30:29 (GMT)
committerFilipe Alves <filipe.alves@bithium.com>2016-07-14 09:30:29 (GMT)
commit5592c705d8ac98f579e2675c12777330c4c322c9 (patch)
treea244343a3aa9a59eaa49b2b6b59a6275263fdff7
parent989a0137df8f8e11df67de1a2ded73712b46a8fd (diff)
downloadDoxygen-5592c705d8ac98f579e2675c12777330c4c322c9.zip
Doxygen-5592c705d8ac98f579e2675c12777330c4c322c9.tar.gz
Doxygen-5592c705d8ac98f579e2675c12777330c4c322c9.tar.bz2
Add parameter in/out specifiers to output.
-rw-r--r--src/perlmodgen.cpp34
1 files changed, 30 insertions, 4 deletions
diff --git a/src/perlmodgen.cpp b/src/perlmodgen.cpp
index c7d562f..09e1968 100644
--- a/src/perlmodgen.cpp
+++ b/src/perlmodgen.cpp
@@ -1269,17 +1269,43 @@ void PerlModDocVisitor::visitPre(DocParamList *pl)
DocNode *param;
for (li.toFirst();(param=li.current());++li)
{
- QCString s;
+ QCString name;
if (param->kind()==DocNode::Kind_Word)
{
- s = ((DocWord*)param)->word();
+ name = ((DocWord*)param)->word();
}
else if (param->kind()==DocNode::Kind_LinkedWord)
{
- s = ((DocLinkedWord*)param)->word();
+ name = ((DocLinkedWord*)param)->word();
}
+
+ QCString dir = "";
+ DocParamSect *sect = 0;
+ if (pl->parent()->kind()==DocNode::Kind_ParamSect)
+ {
+ sect=(DocParamSect*)pl->parent();
+ }
+ if (sect && sect->hasInOutSpecifier())
+ {
+ if (pl->direction()!=DocParamSect::Unspecified)
+ {
+ if (pl->direction()==DocParamSect::In)
+ {
+ dir = "in";
+ }
+ else if (pl->direction()==DocParamSect::Out)
+ {
+ dir = "out";
+ }
+ else if (pl->direction()==DocParamSect::InOut)
+ {
+ dir = "in,out";
+ }
+ }
+ }
+
m_output.openHash()
- .addFieldQuotedString("name", s)
+ .addFieldQuotedString("name", name).addFieldQuotedString("dir", dir)
.closeHash();
}
m_output.closeList()