From 73f6971931d9e60d56dd575a4274c8e447ff799e Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 11 Aug 2014 00:34:30 +0200 Subject: Also merge Doxygen comments for overloaded constructors in Python. This was done for plain functions/methods but not constructors, which don't have "kind=function" attribute. Just don't check for "kind" at all, the presence of "sym:overloaded" should be good enough to indicate that it's an overloaded something. Also add a test for overloaded constructors documentation. --- Examples/test-suite/doxygen_parsing.i | 6 ++++++ Examples/test-suite/python/doxygen_parsing_runme.py | 9 +++++++++ Source/DoxygenTranslator/src/PyDocConverter.cpp | 2 +- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/Examples/test-suite/doxygen_parsing.i b/Examples/test-suite/doxygen_parsing.i index d94c60222..670d8699b 100644 --- a/Examples/test-suite/doxygen_parsing.i +++ b/Examples/test-suite/doxygen_parsing.i @@ -39,6 +39,12 @@ int someVar=42; class SomeAnotherClass { public: + /// First overloaded constructor. + SomeAnotherClass(int) { } + + /// Second overloaded constructor. + SomeAnotherClass(const char*) { } + /** * The class attribute comment diff --git a/Examples/test-suite/python/doxygen_parsing_runme.py b/Examples/test-suite/python/doxygen_parsing_runme.py index c850e419d..54e2667b3 100644 --- a/Examples/test-suite/python/doxygen_parsing_runme.py +++ b/Examples/test-suite/python/doxygen_parsing_runme.py @@ -17,6 +17,15 @@ commentVerifier.check(doxygen_parsing.SomeStruct.__doc__, r""" The struct comment """) +commentVerifier.check(doxygen_parsing.SomeAnotherClass.__init__.__doc__, + r""" + *Overload 1:* + First overloaded constructor. + + *Overload 2:* + Second overloaded constructor. + + """) commentVerifier.check(doxygen_parsing.SomeAnotherClass.classMethod.__doc__, r""" The class method comment. diff --git a/Source/DoxygenTranslator/src/PyDocConverter.cpp b/Source/DoxygenTranslator/src/PyDocConverter.cpp index e7a55e1ba..6d904f6c4 100644 --- a/Source/DoxygenTranslator/src/PyDocConverter.cpp +++ b/Source/DoxygenTranslator/src/PyDocConverter.cpp @@ -781,7 +781,7 @@ String *PyDocConverter::makeDocumentation(Node *n) currentNode = n; // for overloaded functions we must concat documentation for underlying overloads - if (Checkattr(n, "kind", "function") && Getattr(n, "sym:overloaded")) { + if (Getattr(n, "sym:overloaded")) { // rewind to the first overload while (Getattr(n, "sym:previousSibling")) n = Getattr(n, "sym:previousSibling"); -- cgit v1.2.1