summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorXavi Artigas <xavierartigas@yahoo.es>2019-04-11 10:36:53 +0200
committerXavi Artigas <xavierartigas@yahoo.es>2019-04-11 10:37:11 +0200
commitc3907032b6de5e24867e15e09af8f9146810a8cc (patch)
treeef585d58e5e976ab556d810679813c89ea94bcab /src
parent9dc611784eb6c20c033289c5076a814d37f1bd8e (diff)
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
Diffstat (limited to 'src')
-rw-r--r--src/bin/eolian_mono/eolian/mono/documentation.hh7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/bin/eolian_mono/eolian/mono/documentation.hh b/src/bin/eolian_mono/eolian/mono/documentation.hh
index 1d65bcb076..e7666a922c 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
104 104
105 static std::string function_conversion(attributes::function_def const& func) 105 static std::string function_conversion(attributes::function_def const& func)
106 { 106 {
107 attributes::klass_def klass(get_klass(func.klass, func.unit), func.unit); 107 std::string name = name_helpers::klass_full_concrete_or_interface_name(func.klass);
108 std::string name = name_helpers::klass_full_concrete_or_interface_name(klass);
109 switch (func.type) 108 switch (func.type)
110 { 109 {
111 // managed_method_name takes care of reordering the function name so the get/set goes first 110 // managed_method_name takes care of reordering the function name so the get/set goes first
@@ -114,8 +113,8 @@ struct documentation_generator
114 case attributes::function_type::prop_set: 113 case attributes::function_type::prop_set:
115 case attributes::function_type::prop_get: 114 case attributes::function_type::prop_get:
116 if (blacklist::is_function_blacklisted(func.c_name))return ""; 115 if (blacklist::is_function_blacklisted(func.c_name))return "";
117 name += "."; 116 if (!name.empty()) name += ".";
118 name += name_helpers::managed_method_name(klass.eolian_name, func.name); 117 name += name_helpers::managed_method_name(func.klass.eolian_name, func.name);
119 break; 118 break;
120 default: 119 default:
121 // No need to deal with property as function_defs are converted to get/set when building a given klass_def. 120 // No need to deal with property as function_defs are converted to get/set when building a given klass_def.