From: Xavi Artigas Date: Thu, 11 Apr 2019 08:36:53 +0000 (+0200) Subject: efl-mono: Allow generating doc refs for methods without class X-Git-Tag: accepted/tizen/unified/20190419.020103~31 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a02d590c57dec1c8bcaa544c2e1467f17af51d00;p=platform%2Fupstream%2Fefl.git efl-mono: Allow generating doc refs for methods without class Summary: Methods without a class (global) make the previous code crash because func.klass contains something (it cannot be NULL because it is a reference) but you cannot make much calls on this something. Test Plan: Currently there are no such references, but I need this working for upcoming patches. Reviewers: lauromoura, vitor.sousa Reviewed By: vitor.sousa Subscribers: vitor.sousa, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8585 --- diff --git a/src/bin/eolian_mono/eolian/mono/documentation.hh b/src/bin/eolian_mono/eolian/mono/documentation.hh index 1d65bcb..e7666a9 100644 --- a/src/bin/eolian_mono/eolian/mono/documentation.hh +++ b/src/bin/eolian_mono/eolian/mono/documentation.hh @@ -104,8 +104,7 @@ struct documentation_generator static std::string function_conversion(attributes::function_def const& func) { - attributes::klass_def klass(get_klass(func.klass, func.unit), func.unit); - std::string name = name_helpers::klass_full_concrete_or_interface_name(klass); + std::string name = name_helpers::klass_full_concrete_or_interface_name(func.klass); switch (func.type) { // managed_method_name takes care of reordering the function name so the get/set goes first @@ -114,8 +113,8 @@ struct documentation_generator case attributes::function_type::prop_set: case attributes::function_type::prop_get: if (blacklist::is_function_blacklisted(func.c_name))return ""; - name += "."; - name += name_helpers::managed_method_name(klass.eolian_name, func.name); + if (!name.empty()) name += "."; + name += name_helpers::managed_method_name(func.klass.eolian_name, func.name); break; default: // No need to deal with property as function_defs are converted to get/set when building a given klass_def.