zmike pushed a commit to branch efl-1.22.

http://git.enlightenment.org/core/efl.git/commit/?id=dcab92b70341051bd298c88496d4b1ee93a0c523

commit dcab92b70341051bd298c88496d4b1ee93a0c523
Author: Xavi Artigas <[email protected]>
Date:   Thu Apr 11 10:36:53 2019 +0200

    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
---
 src/bin/eolian_mono/eolian/mono/documentation.hh | 7 +++----
 1 file 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
 
    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.

-- 


Reply via email to