Merge branch 'pydoc-return-crash'

* pydoc-return-crash:
  Don't crash if type is not available in Python Doxygen code
This commit is contained in:
William S Fulton 2019-04-24 07:52:20 +01:00
commit 154b50d925
3 changed files with 12 additions and 1 deletions

View file

@ -104,6 +104,9 @@
};
/// @return This is a bad place for this tag, but it should be ignored.
struct StructWithReturnComment {};
/**
An example of a list in a documentation comment.

View file

@ -117,6 +117,9 @@ public class doxygen_misc_constructs_runme {
wantedComments.put("doxygen_misc_constructs.ClassWithNestedEnum.ENested.THREE",
" desc of three\n");
wantedComments.put("doxygen_misc_constructs.StructWithReturnComment",
" @return This is a bad place for this tag, but it should be ignored.");
wantedComments.put("doxygen_misc_constructs.doxygen_misc_constructs.showList()",
" An example of a list in a documentation comment.<br>\n" +
" <br>\n" +

View file

@ -336,8 +336,13 @@ static std::string getPyDocType(Node *n, const_String_or_char_ptr lname = "") {
std::string type;
String *s = Swig_typemap_lookup("doctype", n, lname, 0);
if (!s) {
if (String *t = Getattr(n, "type"))
s = SwigType_str(t, "");
}
if (!s)
s = SwigType_str(Getattr(n, "type"), "");
return type;
if (Language::classLookup(s)) {
// In Python C++ namespaces are flattened, so remove all but last component