(docs, name, renamed, indent=1, language='C++')
| 86 | return ('\n' + indent_str + ' * ').join(lines) |
| 87 | |
| 88 | def gen_doc(docs, name, renamed, indent=1, language='C++'): |
| 89 | doc = _find_doc(docs, name) |
| 90 | if not doc: |
| 91 | return f""" /*# |
| 92 | * Generated from [ref:{name}] |
| 93 | */""" |
| 94 | |
| 95 | lines = [] |
| 96 | _add_line(lines, None, doc.get('brief', '')) |
| 97 | |
| 98 | desc = doc.get('desc', doc.get('brief', '')) |
| 99 | desc = _format_doc_lines(desc, indent) |
| 100 | _add_line(lines, None, desc) |
| 101 | |
| 102 | doctype = doc.get('type', None) |
| 103 | if doctype: |
| 104 | lines.append(f'@{doctype}') |
| 105 | else: |
| 106 | doctype = 'function' |
| 107 | |
| 108 | _add_line(lines, 'name', renamed) |
| 109 | _add_line(lines, 'language', language) |
| 110 | |
| 111 | if doctype in ['function', 'typedef']: |
| 112 | for param in doc.get('params', []): |
| 113 | _add_param(lines, 'param', param) |
| 114 | |
| 115 | _add_param(lines, 'return', doc.get('return', None)) |
| 116 | |
| 117 | elif doctype in ['struct', 'enum']: |
| 118 | for member in doc.get('members', []): |
| 119 | _add_param(lines, 'member', member) |
| 120 | |
| 121 | for (_, v) in doc.get('notes', []): |
| 122 | v = _format_doc_lines(v, indent) |
| 123 | _add_line(lines, 'note', v) |
| 124 | |
| 125 | for (_, v) in doc.get('examples', []): |
| 126 | # TODO: Filter out languages that aren't C++ |
| 127 | if 'objective-c' in v: |
| 128 | v = v.replace('\\@', '@') |
| 129 | |
| 130 | v = _format_doc_lines('\n' + v, indent) |
| 131 | _add_line(lines, 'examples', v) |
| 132 | |
| 133 | indent_str = get_indent(indent) |
| 134 | return indent_str + '/*# ' + _format_doc_lines(lines, indent) + '\n'+ indent_str + ' */' |
| 135 | |
| 136 | def get_cpp_func(decl): |
| 137 | ret_type = decl['type']['qualType'] |
no test coverage detected