diff options
author | albert-github <albert.tests@gmail.com> | 2019-02-15 14:27:14 (GMT) |
---|---|---|
committer | albert-github <albert.tests@gmail.com> | 2019-02-15 14:27:14 (GMT) |
commit | 1c25efff32ab9b8032b032f5e2374f77b09354eb (patch) | |
tree | 7066c23246e8882da51b5a4d4a05e0fbfd8eaa89 /src/printdocvisitor.h | |
parent | 9a05fda1c0aef229252d133987f866e0f6718eb0 (diff) | |
download | Doxygen-1c25efff32ab9b8032b032f5e2374f77b09354eb.zip Doxygen-1c25efff32ab9b8032b032f5e2374f77b09354eb.tar.gz Doxygen-1c25efff32ab9b8032b032f5e2374f77b09354eb.tar.bz2 |
issue #6831 Failure to recognize class array with PHP in @var
There are 2 different situations here:
- @var, here a special change is necessary to check and handle whether or not we are in PHP (declinfo.*, doxygen.cpp)
- @param
- the type recognition for the PHP type has to be extended with the `[]` possibility and subsequently the `[]` part has to be handled separately from the 'datatype' (doctokinizer.l, docparser.*).
- In the output we now can have multiple text strings resulting in a small change in handling of the separator between the data type (*docvisitor.*)
Diffstat (limited to 'src/printdocvisitor.h')
-rw-r--r-- | src/printdocvisitor.h | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/printdocvisitor.h b/src/printdocvisitor.h index 8d375fc..5e5f40d 100644 --- a/src/printdocvisitor.h +++ b/src/printdocvisitor.h @@ -615,16 +615,24 @@ class PrintDocVisitor : public DocVisitor //const char *s; DocNode *param; printf("<parameters>"); - for (sli.toFirst();(param=sli.current());++sli) + if (sli.count() > 0) { printf("<param>"); - if (param->kind()==DocNode::Kind_Word) + for (sli.toFirst();(param=sli.current());++sli) { - visit((DocWord*)param); - } - else if (param->kind()==DocNode::Kind_LinkedWord) - { - visit((DocLinkedWord*)param); + if (param->kind()==DocNode::Kind_Word) + { + visit((DocWord*)param); + } + else if (param->kind()==DocNode::Kind_LinkedWord) + { + visit((DocLinkedWord*)param); + } + else if (param->kind()==DocNode::Kind_Sep) + { + printf("</param>"); + printf("<param>"); + } } printf("</param>"); } |