yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=9ea38ecc16f213fc17092766acf67ff729df1f2a

commit 9ea38ecc16f213fc17092766acf67ff729df1f2a
Author: Yakov Goldberg <[email protected]>
Date:   Mon Mar 9 18:26:54 2015 +0200

    Refactor function names generation
    
    Use eolian_function_full_c_name_get() instead of generating it by myself
---
 src/lib/database.c | 63 +++++++++++-------------------------------------------
 1 file changed, 13 insertions(+), 50 deletions(-)

diff --git a/src/lib/database.c b/src/lib/database.c
index e0b84d4..888f9f4 100644
--- a/src/lib/database.c
+++ b/src/lib/database.c
@@ -254,54 +254,29 @@ _class_get_func_name_get(Eolian_Class *eolian_class)
 
 /* Helper for db_init() */
 static char*
-_class_func_set_name_get(const Eolian_Class *cl, const Eolian_Function *func)
+_class_func_set_name_get(const Eolian_Function *func)
 {
    char *ret = NULL;
-   const char *eo_prefix = NULL;
    Eina_Strbuf *buf = eina_strbuf_new();
-   const char *func_name = eolian_function_name_get(func);
 
-   eo_prefix = eolian_class_eo_prefix_get(cl);
-
-   if (eo_prefix)
-     {
-        eina_strbuf_append_printf(buf, "%s_", eo_prefix);
-        eina_strbuf_append_printf(buf, "%s", func_name);
-     }
-   else
-     {
-        Eina_Iterator *itr = eolian_class_namespaces_get(cl);
-        const char *token;
-        EINA_ITERATOR_FOREACH(itr, token)
-          {
-             eina_strbuf_append_printf(buf, "%s_", token);
-          }
-        eina_iterator_free(itr);
-        char *last_token = strdup(eolian_class_name_get(cl));
-        eina_strbuf_append_printf(buf, "%s", last_token);
-
-        /* Check if class name's suffix overlaps func's name. */
-        eina_str_tolower(&last_token);
-        if (!eina_str_has_prefix(func_name, last_token))
-          {
-             eina_strbuf_append_printf(buf, "_%s", func_name);
-          }
-        free(last_token);
-     }
+   Eina_Stringshare *_full_c_name = eolian_function_full_c_name_get(func);
+   eina_strbuf_append_printf(buf, "%s", _full_c_name);
 
    Eolian_Function_Type f_type = eolian_function_type_get(func);
    if ((f_type == EOLIAN_PROPERTY) || (f_type == EOLIAN_PROP_SET))
-     eina_strbuf_append_printf(buf, "_set");
+     {
+        eina_strbuf_append_printf(buf, "_set");
+     }
 
    ret = strdup(eina_strbuf_string_get(buf));
    eina_strbuf_free(buf);
-   eina_str_tolower(&ret);
+   eina_stringshare_del(_full_c_name);
    return ret;
 }
 
 /* Helper for db_init() */
 static char*
-_class_func_get_name_get(const Eolian_Class *cl, const Eolian_Function *func)
+_class_func_get_name_get(const Eolian_Function *func)
 {
    Eolian_Function_Type f_type = eolian_function_type_get(func);
 
@@ -309,29 +284,17 @@ _class_func_get_name_get(const Eolian_Class *cl, const 
Eolian_Function *func)
      return NULL;
 
    char *ret = NULL;
-   const char *eo_prefix = NULL;
    Eina_Strbuf *buf = eina_strbuf_new();
 
-
-   eo_prefix = eolian_class_eo_prefix_get(cl);
-
-   if (eo_prefix)
-     {
-        eina_strbuf_append_printf(buf, "%s_", eo_prefix);
-     }
-   else
-     {
-        eina_strbuf_append_printf(buf, "%s_", eolian_class_full_name_get(cl));
-     }
-
-   eina_strbuf_append_printf(buf, "%s", eolian_function_name_get(func));
+   Eina_Stringshare *_full_c_name = eolian_function_full_c_name_get(func);
+   eina_strbuf_append_printf(buf, "%s", _full_c_name);
 
    if ((f_type == EOLIAN_PROPERTY) || (f_type == EOLIAN_PROP_GET))
      eina_strbuf_append_printf(buf, "_get");
 
    ret = strdup(eina_strbuf_string_get(buf));
    eina_strbuf_free(buf);
-   eina_str_tolower(&ret);
+   eina_stringshare_del(_full_c_name);
    return ret;
 }
 
@@ -1116,7 +1079,7 @@ db_init(const char *db_path, const char *all_eo_path, 
const char *black_list)
 
                   if ((f_type == EOLIAN_PROPERTY) || (f_type == 
EOLIAN_PROP_SET) || (f_type == EOLIAN_METHOD))
                     {
-                       func_set_name = _class_func_set_name_get(_ekl, func);
+                       func_set_name = _class_func_set_name_get(func);
                        op_desc->func_set_name = strdup(func_set_name);
                        op_desc->func_set = dlsym(RTLD_DEFAULT, 
op_desc->func_set_name);
                        if (!op_desc->func_set)
@@ -1125,7 +1088,7 @@ db_init(const char *db_path, const char *all_eo_path, 
const char *black_list)
                     }
 
                   /* if method is not PROPERTY or PROP_GET, NULL will be 
returned. */
-                  func_get_name = _class_func_get_name_get(_ekl, func);
+                  func_get_name = _class_func_get_name_get(func);
                   /* Name of get function is not saved, because we don't need 
to generate it. */
                   if (func_get_name)
                     {

-- 


Reply via email to