diff options
author | Vadim Zeitlin <vz-swig@zeitlins.org> | 2014-08-11 00:34:30 +0200 |
---|---|---|
committer | Vadim Zeitlin <vz-swig@zeitlins.org> | 2014-08-22 17:45:24 +0200 |
commit | 73f6971931d9e60d56dd575a4274c8e447ff799e (patch) | |
tree | 1f5f5b6e176d84e8a6c0f87a0211614a6ebc3163 | |
parent | 52bd2a1921667b3ba191165e890c71d699fde045 (diff) | |
download | swig-73f6971931d9e60d56dd575a4274c8e447ff799e.tar.gz |
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.
-rw-r--r-- | Examples/test-suite/doxygen_parsing.i | 6 | ||||
-rw-r--r-- | Examples/test-suite/python/doxygen_parsing_runme.py | 9 | ||||
-rw-r--r-- | Source/DoxygenTranslator/src/PyDocConverter.cpp | 2 |
3 files changed, 16 insertions, 1 deletions
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"); |