diff options
author | Raul Santos <raulsntos@gmail.com> | 2022-03-03 19:53:06 +0100 |
---|---|---|
committer | Raul Santos <raulsntos@gmail.com> | 2022-03-03 19:53:06 +0100 |
commit | 84615b4b537100269c9a7ba270ee2a2911fef05e (patch) | |
tree | 7c3c5e7f2419cb5e5ab937ab99d07738aa87ad32 /modules/mono/editor/bindings_generator.cpp | |
parent | 42989befd6364a8df3cff7ef546fe9728124e7a6 (diff) |
Find inherited members in C# documentation generator
Diffstat (limited to 'modules/mono/editor/bindings_generator.cpp')
-rw-r--r-- | modules/mono/editor/bindings_generator.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/modules/mono/editor/bindings_generator.cpp b/modules/mono/editor/bindings_generator.cpp index 1c64d2180b..a08f6448db 100644 --- a/modules/mono/editor/bindings_generator.cpp +++ b/modules/mono/editor/bindings_generator.cpp @@ -379,11 +379,19 @@ String BindingsGenerator::bbcode_to_xml(const String &p_bbcode, const TypeInterf xml_output.append(link_target); xml_output.append("</c>"); } else { - const PropertyInterface *target_iprop = target_itype->find_property_by_name(target_cname); + const TypeInterface *current_itype = target_itype; + const PropertyInterface *target_iprop = nullptr; + + while (target_iprop == nullptr && current_itype != nullptr) { + target_iprop = current_itype->find_property_by_name(target_cname); + if (target_iprop == nullptr) { + current_itype = _get_type_or_null(TypeReference(current_itype->base_name)); + } + } if (target_iprop) { xml_output.append("<see cref=\"" BINDINGS_NAMESPACE "."); - xml_output.append(target_itype->proxy_name); + xml_output.append(current_itype->proxy_name); xml_output.append("."); xml_output.append(target_iprop->proxy_name); xml_output.append("\"/>"); |