felipealmeida pushed a commit to branch master.

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

commit 62841aee3ce838321149b329008a54185341f9f8
Author: Felipe Magno de Almeida <fel...@expertisesolutions.com.br>
Date:   Mon Apr 11 00:53:03 2016 -0300

    eolian: Make promise eolian generation use macros for hooks
    
    Modify the way hooks are defined and used by promise generation in
    Eolian in the Eo API.
    
    Instead of passing macro names as parameters to EO_FUNC_BODY macros,
    just re-define the actual hooks when it is needed.
---
 src/bin/eolian/eo_generator.c                      |  32 +++--
 src/bindings/eo_cxx/eo_inherit.hh                  |   2 +-
 src/lib/eina/eina_promise.h                        |  19 +--
 src/lib/eo/Eo.h                                    |  52 ++++----
 src/tests/eo/access/access_inherit.c               |   2 +-
 src/tests/eo/access/access_simple.c                |   2 +-
 .../composite_objects/composite_objects_simple.c   | 132 ++++++++++-----------
 src/tests/eo/constructors/constructors_mixin.c     |   2 +-
 src/tests/eo/constructors/constructors_simple.c    |   6 +-
 .../function_overrides_inherit2.c                  |   4 +-
 .../function_overrides/function_overrides_simple.c |   8 +-
 src/tests/eo/interface/interface_interface.c       |   2 +-
 src/tests/eo/interface/interface_interface2.c      |   2 +-
 src/tests/eo/interface/interface_simple.c          |   4 +-
 src/tests/eo/mixin/mixin_mixin.c                   |   2 +-
 src/tests/eo/mixin/mixin_simple.c                  |   4 +-
 src/tests/eo/signals/signals_simple.c              |   2 +-
 src/tests/eo/suite/eo_test_class_simple.c          |  18 +--
 src/tests/eo/suite/eo_test_general.c               |   4 +-
 src/tests/eo/suite/eo_test_threaded_calls.c        |   6 +-
 src/tests/eolian/data/class_simple_ref.c           |  10 +-
 src/tests/eolian/data/override_ref.c               |  16 +--
 22 files changed, 174 insertions(+), 157 deletions(-)

diff --git a/src/bin/eolian/eo_generator.c b/src/bin/eolian/eo_generator.c
index 78e8108..c367027 100644
--- a/src/bin/eolian/eo_generator.c
+++ b/src/bin/eolian/eo_generator.c
@@ -546,16 +546,6 @@ eo_bind_func_generate(const Eolian_Class *class, const 
Eolian_Function *funcid,
               (ftype == EOLIAN_PROP_GET ||
                eolian_function_object_is_const(funcid) ||
                eolian_function_is_class(funcid))?"_CONST":"", 
func_env.lower_eo_func);
-        if(has_promise)
-          {
-             eina_strbuf_append_printf(eo_func_decl,
-                   ", _EINA_PROMISE_BEFORE_HOOK(%s, %s%s) _EO_EMPTY_HOOK, 
_EINA_PROMISE_AFTER_HOOK(%s) _EO_EMPTY_HOOK",
-                   promise_value_type, !rettype ? "void" : rettype,
-                   eina_strbuf_string_get(impl_full_params),
-                   promise_param_name);
-          }
-        else
-          eina_strbuf_append_printf(eo_func_decl, ", _EO_EMPTY_HOOK, 
_EO_EMPTY_HOOK");
         if (!ret_is_void)
           {
              const char *val_str = NULL;
@@ -583,7 +573,29 @@ eo_bind_func_generate(const Eolian_Class *class, const 
Eolian_Function *funcid,
                    eina_strbuf_string_get(full_params));
           }
         eina_strbuf_append_printf(eo_func_decl, ");");
+
+        if(has_promise)
+          {
+             eina_strbuf_append_printf(fbody,
+                                       "#undef _EO_API_BEFORE_HOOK\n#undef 
_EO_API_AFTER_HOOK\n#undef _EO_API_CALL_HOOK\n"
+                                       "#define _EO_API_BEFORE_HOOK 
_EINA_PROMISE_BEFORE_HOOK(%s, %s%s)\n"
+                                       "#define _EO_API_AFTER_HOOK 
_EINA_PROMISE_AFTER_HOOK(%s)\n"
+                                       "#define _EO_API_CALL_HOOK(x) 
_EINA_PROMISE_CALL_HOOK(EO_FUNC_CALL(%s))\n\n",
+                                       promise_value_type, !rettype ? "void" : 
rettype,
+                                       
eina_strbuf_string_get(impl_full_params),
+                                       promise_param_name,
+                                       eina_strbuf_string_get(params));
+          }
+
         eina_strbuf_append_printf(fbody, "%s\n", 
eina_strbuf_string_get(eo_func_decl));
+
+        if(has_promise)
+          {
+             eina_strbuf_append_printf(fbody, "\n#undef 
_EO_API_BEFORE_HOOK\n#undef _EO_API_AFTER_HOOK\n#undef _EO_API_CALL_HOOK\n"
+                                       "#define _EO_API_BEFORE_HOOK\n#define 
_EO_API_AFTER_HOOK\n"
+                                       "#define _EO_API_CALL_HOOK(x) x\n");
+          }
+
         eina_strbuf_free(eo_func_decl);
      }
 
diff --git a/src/bindings/eo_cxx/eo_inherit.hh 
b/src/bindings/eo_cxx/eo_inherit.hh
index a73de37..a05d11f 100644
--- a/src/bindings/eo_cxx/eo_inherit.hh
+++ b/src/bindings/eo_cxx/eo_inherit.hh
@@ -30,7 +30,7 @@ Eo_Class const* create_class(eina::index_sequence<S...>);
 /// @param this_ The <em>user data</em> to be passed to the resolved function.
 /// @param args An heterogeneous sequence of arguments.
 ///
-inline EO_VOID_FUNC_BODYV(inherit_constructor, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(this_), void* this_);
+inline EO_VOID_FUNC_BODYV(inherit_constructor, EO_FUNC_CALL(this_), void* 
this_);
 
 }
 
diff --git a/src/lib/eina/eina_promise.h b/src/lib/eina/eina_promise.h
index 70584e4..9093b92 100644
--- a/src/lib/eina/eina_promise.h
+++ b/src/lib/eina/eina_promise.h
@@ -443,19 +443,22 @@ EAPI void 
eina_promise_owner_default_call_then(Eina_Promise_Owner* promise);
  * @internal
  */
 #define _EINA_PROMISE_BEFORE_HOOK(PromiseValue, Ret, ...)               \
-  Eina_Promise_Owner* __eo_promise = 
eina_promise_default_add(sizeof(PromiseValue)); \
-  typedef Ret (*_Eo__Promise_func_)(Eo*, void *obj_data, ##__VA_ARGS__);  \
-  _Eo__Promise_func_ const _promise_func = (_Eo__Promise_func_)_func_;  \
-  {                                                                     \
-    _Eo__Promise_func_ const _func_ = _promise_func;
+  Eina_Promise_Owner* const __eo_promise = 
eina_promise_default_add(sizeof(PromiseValue)); \
+  typedef Ret (*_Eo_Promise_func_t_)(Eo*, void *obj_data, ##__VA_ARGS__); \
+  _Eo_Promise_func_t_ const _eo_promise_func_ = (_Eo_Promise_func_t_)_func_;
+
+/*
+ * @internal
+ */
+#define _EINA_PROMISE_CALL_HOOK(Arguments)                      \
+  _eo_promise_func_(___call.eo_id, ___call.data, Arguments);
 
 
 /*
  * @internal
  */
 #define _EINA_PROMISE_AFTER_HOOK(Promise)                               \
-  }                                                                     \
-     if(Promise)                                                        \
-       *Promise = eina_promise_owner_promise_get(__eo_promise);
+  if(Promise)                                                           \
+    *Promise = eina_promise_owner_promise_get(__eo_promise);
 
 #endif
diff --git a/src/lib/eo/Eo.h b/src/lib/eo/Eo.h
index c132bf3..c2c7d4c 100644
--- a/src/lib/eo/Eo.h
+++ b/src/lib/eo/Eo.h
@@ -514,70 +514,72 @@ typedef struct _Eo_Call_Cache
                            __FILE__, __LINE__)) return DefRet;          \
      _Eo_##Name##_func _func_ = (_Eo_##Name##_func) ___call.func;       \
 
-#define _EO_EMPTY_HOOK()
+#define _EO_API_BEFORE_HOOK
+#define _EO_API_AFTER_HOOK
+#define _EO_API_CALL_HOOK(x) x
 
 // to define an EAPI function
-#define _EO_FUNC_BODY(Name, ObjType, BeforeHook, AfterHook, Ret, DefRet) \
+#define _EO_FUNC_BODY(Name, ObjType, Ret, DefRet) \
   Ret                                                                   \
   Name(ObjType obj)                                                            
\
   {                                                                     \
      typedef Ret (*_Eo_##Name##_func)(Eo *, void *obj_data);            \
      Ret _r;                                                            \
      EO_FUNC_COMMON_OP(obj, Name, DefRet);                                   \
-     BeforeHook()                                                       \
-     _r = _func_(___call.eo_id, ___call.data);                            \
+     _EO_API_BEFORE_HOOK                                                       
\
+     _r = _EO_API_CALL_HOOK(_func_(___call.eo_id, ___call.data));     \
      _eo_call_end(&___call); \
-     AfterHook()                                                       \
+     _EO_API_AFTER_HOOK                                                       \
      return _r;                                                         \
   }
 
-#define _EO_VOID_FUNC_BODY(Name, ObjType, BeforeHook, AfterHook)        \
+#define _EO_VOID_FUNC_BODY(Name, ObjType)                               \
   void                                                                 \
   Name(ObjType obj)                                                            
\
   {                                                                     \
      typedef void (*_Eo_##Name##_func)(Eo *, void *obj_data);           \
      EO_FUNC_COMMON_OP(obj, Name, );                                         \
-     BeforeHook()                                                       \
-     _func_(___call.eo_id, ___call.data);                                 \
+     _EO_API_BEFORE_HOOK                                                       
\
+     _EO_API_CALL_HOOK(_func_(___call.eo_id, ___call.data));          \
      _eo_call_end(&___call);                                            \
-     AfterHook()                                                       \
+     _EO_API_AFTER_HOOK                                                       \
   }
 
-#define _EO_FUNC_BODYV(Name, ObjType, BeforeHook, AfterHook, Ret, DefRet, 
Arguments, ...) \
+#define _EO_FUNC_BODYV(Name, ObjType, Ret, DefRet, Arguments, ...)      \
   Ret                                                                   \
   Name(ObjType obj, __VA_ARGS__)                                               
      \
   {                                                                     \
      typedef Ret (*_Eo_##Name##_func)(Eo *, void *obj_data, __VA_ARGS__); \
      Ret _r;                                                            \
      EO_FUNC_COMMON_OP(obj, Name, DefRet);                                   \
-     BeforeHook()                                                       \
-     _r = _func_(___call.eo_id, ___call.data, Arguments);                 \
+     _EO_API_BEFORE_HOOK                                                       
\
+     _r = _EO_API_CALL_HOOK(_func_(___call.eo_id, ___call.data, Arguments)); \
      _eo_call_end(&___call); \
-     AfterHook()                                                        \
+     _EO_API_AFTER_HOOK                                                        
\
      return _r;                                                         \
   }
 
-#define _EO_VOID_FUNC_BODYV(Name, ObjType, BeforeHook, AfterHook, Arguments, 
...) \
+#define _EO_VOID_FUNC_BODYV(Name, ObjType, Arguments, ...)              \
   void                                                                  \
   Name(ObjType obj, __VA_ARGS__)                                               
      \
   {                                                                     \
      typedef void (*_Eo_##Name##_func)(Eo *, void *obj_data, __VA_ARGS__); \
      EO_FUNC_COMMON_OP(obj, Name, );                                         \
-     BeforeHook()                                                       \
-     _func_(___call.eo_id, ___call.data, Arguments);                      \
+     _EO_API_BEFORE_HOOK                                                       
\
+     _EO_API_CALL_HOOK(_func_(___call.eo_id, ___call.data, Arguments)); \
      _eo_call_end(&___call); \
-     AfterHook()                                                        \
+     _EO_API_AFTER_HOOK                                                        
\
   }
 
-#define EO_FUNC_BODY(Name, BeforeHook, AfterHook, Ret, DefRet) 
_EO_FUNC_BODY(Name, Eo *, BeforeHook, AfterHook, Ret, DefRet)
-#define EO_VOID_FUNC_BODY(Name, BeforeHook, AfterHook) 
_EO_VOID_FUNC_BODY(Name, Eo *, BeforeHook, AfterHook)
-#define EO_FUNC_BODYV(Name, BeforeHook, AfterHook, Ret, DefRet, Arguments, 
...) _EO_FUNC_BODYV(Name, Eo *, BeforeHook, AfterHook, Ret, DefRet, 
EO_FUNC_CALL(Arguments), __VA_ARGS__)
-#define EO_VOID_FUNC_BODYV(Name, BeforeHook, AfterHook, Arguments, ...) 
_EO_VOID_FUNC_BODYV(Name, Eo *, BeforeHook, AfterHook, EO_FUNC_CALL(Arguments), 
__VA_ARGS__)
+#define EO_FUNC_BODY(Name, Ret, DefRet) _EO_FUNC_BODY(Name, Eo *, Ret, DefRet)
+#define EO_VOID_FUNC_BODY(Name) _EO_VOID_FUNC_BODY(Name, Eo *)
+#define EO_FUNC_BODYV(Name, Ret, DefRet, Arguments, ...) _EO_FUNC_BODYV(Name, 
Eo *, Ret, DefRet, EO_FUNC_CALL(Arguments), __VA_ARGS__)
+#define EO_VOID_FUNC_BODYV(Name, Arguments, ...) _EO_VOID_FUNC_BODYV(Name, Eo 
*, EO_FUNC_CALL(Arguments), __VA_ARGS__)
 
-#define EO_FUNC_BODY_CONST(Name, BeforeHook, AfterHook, Ret, DefRet) 
_EO_FUNC_BODY(Name, const Eo *, BeforeHook, AfterHook, Ret, DefRet)
-#define EO_VOID_FUNC_BODY_CONST(Name, BeforeHook, AfterHook) 
_EO_VOID_FUNC_BODY(Name, const Eo *, BeforeHook, AfterHook)
-#define EO_FUNC_BODYV_CONST(Name, BeforeHook, AfterHook, Ret, DefRet, 
Arguments, ...) _EO_FUNC_BODYV(Name, const Eo *, BeforeHook, AfterHook, Ret, 
DefRet, EO_FUNC_CALL(Arguments), __VA_ARGS__)
-#define EO_VOID_FUNC_BODYV_CONST(Name, BeforeHook, AfterHook, Arguments, ...) 
_EO_VOID_FUNC_BODYV(Name, const Eo *, BeforeHook, AfterHook, 
EO_FUNC_CALL(Arguments), __VA_ARGS__)
+#define EO_FUNC_BODY_CONST(Name, Ret, DefRet) _EO_FUNC_BODY(Name, const Eo *, 
Ret, DefRet)
+#define EO_VOID_FUNC_BODY_CONST(Name) _EO_VOID_FUNC_BODY(Name, const Eo *)
+#define EO_FUNC_BODYV_CONST(Name, Ret, DefRet, Arguments, ...) 
_EO_FUNC_BODYV(Name, const Eo *, Ret, DefRet, EO_FUNC_CALL(Arguments), 
__VA_ARGS__)
+#define EO_VOID_FUNC_BODYV_CONST(Name, Arguments, ...) 
_EO_VOID_FUNC_BODYV(Name, const Eo *, EO_FUNC_CALL(Arguments), __VA_ARGS__)
 
 #ifndef _WIN32
 # define _EO_OP_API_ENTRY(a) (void*)a
diff --git a/src/tests/eo/access/access_inherit.c 
b/src/tests/eo/access/access_inherit.c
index f49f0a5..6ab831f 100644
--- a/src/tests/eo/access/access_inherit.c
+++ b/src/tests/eo/access/access_inherit.c
@@ -16,7 +16,7 @@ _prot_print(Eo *obj, void *class_data EINA_UNUSED)
    printf("%s %d\n", __func__, pd->protected_x1);
 }
 
-EAPI EO_VOID_FUNC_BODY(inherit_prot_print, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK);
+EAPI EO_VOID_FUNC_BODY(inherit_prot_print);
 
 static Eo_Op_Description op_descs[] = {
      EO_OP_FUNC(inherit_prot_print, _prot_print),
diff --git a/src/tests/eo/access/access_simple.c 
b/src/tests/eo/access/access_simple.c
index a72949f..b4f8766 100644
--- a/src/tests/eo/access/access_simple.c
+++ b/src/tests/eo/access/access_simple.c
@@ -30,7 +30,7 @@ _a_set(Eo *obj, void *class_data, int a)
    eo_event_callback_call(obj, EV_A_CHANGED, &pd->a);
 }
 
-EAPI EO_VOID_FUNC_BODYV(simple_a_set, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set, EO_FUNC_CALL(a), int a);
 
 static Eo_Op_Description op_descs[] = {
      EO_OP_FUNC(simple_a_set, _a_set),
diff --git a/src/tests/eo/composite_objects/composite_objects_simple.c 
b/src/tests/eo/composite_objects/composite_objects_simple.c
index fb3319a..5c64cc0 100644
--- a/src/tests/eo/composite_objects/composite_objects_simple.c
+++ b/src/tests/eo/composite_objects/composite_objects_simple.c
@@ -27,73 +27,73 @@ _a_get(Eo *obj EINA_UNUSED, void *class_data)
    return pd->a;
 }
 
-EAPI EO_VOID_FUNC_BODYV(simple_a_set, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_FUNC_BODY(simple_a_get, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, int, 0);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set, EO_FUNC_CALL(a), int a);
+EAPI EO_FUNC_BODY(simple_a_get, int, 0);
 
-EAPI EO_VOID_FUNC_BODYV(simple_a_set1, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set2, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set3, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set4, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set5, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set6, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set7, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set8, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set9, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set10, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set11, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set12, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set13, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set14, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set15, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set16, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set17, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set18, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set19, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set20, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set21, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set22, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set23, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set24, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set25, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set26, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set27, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set28, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set29, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set30, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set31, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_set32, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get1, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get2, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get3, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get4, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get5, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get6, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get7, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get8, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get9, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get10, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get11, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get12, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get13, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get14, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get15, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get16, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get17, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get18, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get19, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get20, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get21, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get22, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get23, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get24, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get25, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get26, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get27, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get28, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get29, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get30, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get31, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_VOID_FUNC_BODYV(simple_a_get32, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set1, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set2, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set3, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set4, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set5, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set6, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set7, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set8, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set9, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set10, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set11, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set12, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set13, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set14, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set15, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set16, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set17, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set18, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set19, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set20, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set21, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set22, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set23, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set24, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set25, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set26, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set27, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set28, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set29, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set30, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set31, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set32, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get1, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get2, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get3, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get4, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get5, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get6, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get7, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get8, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get9, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get10, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get11, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get12, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get13, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get14, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get15, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get16, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get17, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get18, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get19, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get20, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get21, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get22, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get23, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get24, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get25, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get26, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get27, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get28, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get29, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get30, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get31, EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_get32, EO_FUNC_CALL(a), int a);
 
 /* XXX: This is fragile, and emulates many IDs in order to go to the next
  * op id chain (assuming chain size is as it is at the moment, 32).
diff --git a/src/tests/eo/constructors/constructors_mixin.c 
b/src/tests/eo/constructors/constructors_mixin.c
index 4c6058c..b2e523b 100644
--- a/src/tests/eo/constructors/constructors_mixin.c
+++ b/src/tests/eo/constructors/constructors_mixin.c
@@ -35,7 +35,7 @@ _destructor(Eo *obj, void *class_data EINA_UNUSED)
    my_init_count--;
 }
 
-EAPI EO_VOID_FUNC_BODYV(mixin_add_and_print, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(x), int x);
+EAPI EO_VOID_FUNC_BODYV(mixin_add_and_print, EO_FUNC_CALL(x), int x);
 
 static Eo_Op_Description op_descs[] = {
      EO_OP_FUNC(mixin_add_and_print, _add_and_print_set),
diff --git a/src/tests/eo/constructors/constructors_simple.c 
b/src/tests/eo/constructors/constructors_simple.c
index 01c0701..370ca60 100644
--- a/src/tests/eo/constructors/constructors_simple.c
+++ b/src/tests/eo/constructors/constructors_simple.c
@@ -31,8 +31,8 @@ _##name##_set(Eo *obj EINA_UNUSED, void *class_data, int 
name) \
    pd->name = name; \
    printf("%s %d\n", __func__, pd->name); \
 } \
-EO_VOID_FUNC_BODYV(simple_##name##_set, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(name), int name); \
-EO_FUNC_BODY(simple_##name##_get, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, int, 0);
+EO_VOID_FUNC_BODYV(simple_##name##_set, EO_FUNC_CALL(name), int name); \
+EO_FUNC_BODY(simple_##name##_get, int, 0);
 
 _GET_SET_FUNC(a)
 _GET_SET_FUNC(b)
@@ -83,7 +83,7 @@ _class_destructor(Eo_Class *klass EINA_UNUSED)
    free(class_var);
 }
 
-EO_VOID_FUNC_BODYV(simple_constructor, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
+EO_VOID_FUNC_BODYV(simple_constructor, EO_FUNC_CALL(a), int a);
 
 static Eo_Op_Description op_descs[] = {
      EO_OP_FUNC_OVERRIDE(eo_constructor, _constructor),
diff --git a/src/tests/eo/function_overrides/function_overrides_inherit2.c 
b/src/tests/eo/function_overrides/function_overrides_inherit2.c
index b25b99b..b4602aa 100644
--- a/src/tests/eo/function_overrides/function_overrides_inherit2.c
+++ b/src/tests/eo/function_overrides/function_overrides_inherit2.c
@@ -56,8 +56,8 @@ _class_print(Eo_Class *klass, void *data EINA_UNUSED)
    return EINA_TRUE;
 }
 
-EAPI EO_FUNC_BODY(inherit2_print, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, Eina_Bool, 
EINA_FALSE);
-EAPI EO_FUNC_BODY(inherit2_print2, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, Eina_Bool, 
EINA_FALSE);
+EAPI EO_FUNC_BODY(inherit2_print, Eina_Bool, EINA_FALSE);
+EAPI EO_FUNC_BODY(inherit2_print2, Eina_Bool, EINA_FALSE);
 
 static Eo_Op_Description op_descs[] = {
      EO_OP_FUNC(inherit2_print, _print),
diff --git a/src/tests/eo/function_overrides/function_overrides_simple.c 
b/src/tests/eo/function_overrides/function_overrides_simple.c
index 8824d6e..1e0a6a2 100644
--- a/src/tests/eo/function_overrides/function_overrides_simple.c
+++ b/src/tests/eo/function_overrides/function_overrides_simple.c
@@ -51,10 +51,10 @@ _class_print2(Eo_Class *klass, void *class_data EINA_UNUSED)
    return EINA_TRUE;
 }
 
-EAPI EO_VOID_FUNC_BODYV(simple_a_set, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EAPI EO_FUNC_BODY(simple_a_print, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, Eina_Bool, 
EINA_FALSE);
-EAPI EO_FUNC_BODY_CONST(simple_class_print, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
Eina_Bool, EINA_FALSE);
-EAPI EO_FUNC_BODY_CONST(simple_class_print2, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
Eina_Bool, EINA_FALSE);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set, EO_FUNC_CALL(a), int a);
+EAPI EO_FUNC_BODY(simple_a_print, Eina_Bool, EINA_FALSE);
+EAPI EO_FUNC_BODY_CONST(simple_class_print, Eina_Bool, EINA_FALSE);
+EAPI EO_FUNC_BODY_CONST(simple_class_print2, Eina_Bool, EINA_FALSE);
 
 static Eo_Op_Description op_descs[] = {
      EO_OP_FUNC(simple_a_set, _a_set),
diff --git a/src/tests/eo/interface/interface_interface.c 
b/src/tests/eo/interface/interface_interface.c
index cf204b9..32b00c8 100644
--- a/src/tests/eo/interface/interface_interface.c
+++ b/src/tests/eo/interface/interface_interface.c
@@ -8,7 +8,7 @@
 
 #define MY_CLASS INTERFACE_CLASS
 
-EO_FUNC_BODY(interface_ab_sum_get, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, int, 0);
+EO_FUNC_BODY(interface_ab_sum_get, int, 0);
 
 static Eo_Op_Description op_descs[] = {
      EO_OP_FUNC(interface_ab_sum_get, NULL),
diff --git a/src/tests/eo/interface/interface_interface2.c 
b/src/tests/eo/interface/interface_interface2.c
index ad99c21..12cbb92 100644
--- a/src/tests/eo/interface/interface_interface2.c
+++ b/src/tests/eo/interface/interface_interface2.c
@@ -9,7 +9,7 @@
 
 #define MY_CLASS INTERFACE2_CLASS
 
-EO_FUNC_BODY(interface2_ab_sum_get2, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, int, 0);
+EO_FUNC_BODY(interface2_ab_sum_get2, int, 0);
 
 static Eo_Op_Description op_descs[] = {
      EO_OP_FUNC(interface2_ab_sum_get2, NULL),
diff --git a/src/tests/eo/interface/interface_simple.c 
b/src/tests/eo/interface/interface_simple.c
index 2f5a7b9..589274f 100644
--- a/src/tests/eo/interface/interface_simple.c
+++ b/src/tests/eo/interface/interface_simple.c
@@ -30,8 +30,8 @@ _##name##_set(Eo *obj EINA_UNUSED, void *class_data, int 
name) \
    pd->name = name; \
    printf("%s %d\n", __func__, pd->name); \
 } \
-EO_VOID_FUNC_BODYV(simple_##name##_set, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(name), int name); \
-EO_FUNC_BODY(simple_##name##_get, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, int, 0);
+EO_VOID_FUNC_BODYV(simple_##name##_set, EO_FUNC_CALL(name), int name); \
+EO_FUNC_BODY(simple_##name##_get, int, 0);
 
 _GET_SET_FUNC(a)
 _GET_SET_FUNC(b)
diff --git a/src/tests/eo/mixin/mixin_mixin.c b/src/tests/eo/mixin/mixin_mixin.c
index d086050..427293e 100644
--- a/src/tests/eo/mixin/mixin_mixin.c
+++ b/src/tests/eo/mixin/mixin_mixin.c
@@ -30,7 +30,7 @@ _destructor(Eo *obj, void *class_data EINA_UNUSED)
    eo_destructor(eo_super(obj, MY_CLASS));
 }
 
-EAPI EO_FUNC_BODY(mixin_ab_sum_get, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, int, 0);
+EAPI EO_FUNC_BODY(mixin_ab_sum_get, int, 0);
 
 static Eo_Op_Description op_descs[] = {
      EO_OP_FUNC_OVERRIDE(eo_constructor, _constructor),
diff --git a/src/tests/eo/mixin/mixin_simple.c 
b/src/tests/eo/mixin/mixin_simple.c
index 8acccad..5184e0e 100644
--- a/src/tests/eo/mixin/mixin_simple.c
+++ b/src/tests/eo/mixin/mixin_simple.c
@@ -31,8 +31,8 @@ _##name##_set(Eo *obj EINA_UNUSED, void *class_data, int 
name) \
    pd->name = name; \
    printf("%s %d\n", __func__, pd->name); \
 } \
-EO_VOID_FUNC_BODYV(simple_##name##_set, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(name), int name); \
-EO_FUNC_BODY(simple_##name##_get, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, int, 0);
+EO_VOID_FUNC_BODYV(simple_##name##_set, EO_FUNC_CALL(name), int name); \
+EO_FUNC_BODY(simple_##name##_get, int, 0);
 
 _GET_SET_FUNC(a)
 _GET_SET_FUNC(b)
diff --git a/src/tests/eo/signals/signals_simple.c 
b/src/tests/eo/signals/signals_simple.c
index 0acfb06..458b95c 100644
--- a/src/tests/eo/signals/signals_simple.c
+++ b/src/tests/eo/signals/signals_simple.c
@@ -69,7 +69,7 @@ _constructor(Eo *obj, void *class_data EINA_UNUSED)
    return obj;
 }
 
-EAPI EO_VOID_FUNC_BODYV(simple_a_set, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
+EAPI EO_VOID_FUNC_BODYV(simple_a_set, EO_FUNC_CALL(a), int a);
 
 static Eo_Op_Description op_descs[] = {
      EO_OP_FUNC_OVERRIDE(eo_constructor, _constructor),
diff --git a/src/tests/eo/suite/eo_test_class_simple.c 
b/src/tests/eo/suite/eo_test_class_simple.c
index fbe6f05..8566ed9 100644
--- a/src/tests/eo/suite/eo_test_class_simple.c
+++ b/src/tests/eo/suite/eo_test_class_simple.c
@@ -48,7 +48,7 @@ _class_hi_print(Eo_Class *klass, void *data EINA_UNUSED)
    return EINA_TRUE;
 }
 
-EO_FUNC_BODYV(simple_part_get, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, Eo *, NULL, 
EO_FUNC_CALL(name), const char *name);
+EO_FUNC_BODYV(simple_part_get, Eo *, NULL, EO_FUNC_CALL(name), const char 
*name);
 
 static Eo *
 _part_get(Eo *obj, void *class_data EINA_UNUSED, const char *name EINA_UNUSED)
@@ -57,7 +57,7 @@ _part_get(Eo *obj, void *class_data EINA_UNUSED, const char 
*name EINA_UNUSED)
    return eo_add(SIMPLE_CLASS, obj);
 }
 
-EO_VOID_FUNC_BODYV(simple_recursive, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(n), int n);
+EO_VOID_FUNC_BODYV(simple_recursive, EO_FUNC_CALL(n), int n);
 
 static void
 _recursive(Eo *obj, void *class_data EINA_UNUSED, int n)
@@ -81,12 +81,12 @@ _dbg_info_get(Eo *eo_obj, void *_pd EINA_UNUSED, 
Eo_Dbg_Info *root)
    EO_DBG_INFO_APPEND(group, "Test", EINA_VALUE_TYPE_INT, 8);
 }
 
-EO_VOID_FUNC_BODYV(simple_a_set, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(a), int a);
-EO_FUNC_BODY(simple_a_get, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, int, 0);
-EO_FUNC_BODY(simple_a_print, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, Eina_Bool, 
EINA_FALSE);
-EO_FUNC_BODY_CONST(simple_class_hi_print, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
Eina_Bool, EINA_FALSE);
-EO_VOID_FUNC_BODY(simple_pure_virtual, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK);
-EO_VOID_FUNC_BODY(simple_no_implementation, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK);
+EO_VOID_FUNC_BODYV(simple_a_set, EO_FUNC_CALL(a), int a);
+EO_FUNC_BODY(simple_a_get, int, 0);
+EO_FUNC_BODY(simple_a_print, Eina_Bool, EINA_FALSE);
+EO_FUNC_BODY_CONST(simple_class_hi_print, Eina_Bool, EINA_FALSE);
+EO_VOID_FUNC_BODY(simple_pure_virtual);
+EO_VOID_FUNC_BODY(simple_no_implementation);
 
 static Eo_Op_Description op_descs[] = {
      EO_OP_FUNC(simple_a_set, _a_set),
@@ -119,7 +119,7 @@ _beef_get(Eo *obj EINA_UNUSED, void *class_data EINA_UNUSED)
    return 0xBEEF;
 }
 
-EO_FUNC_BODY_CONST(simple2_class_beef_get, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
int, 0);
+EO_FUNC_BODY_CONST(simple2_class_beef_get, int, 0);
 
 static Eo_Op_Description op_descs2[] = {
      EO_OP_CLASS_FUNC(simple2_class_beef_get, _beef_get),
diff --git a/src/tests/eo/suite/eo_test_general.c 
b/src/tests/eo/suite/eo_test_general.c
index f54442d..0a9b74c 100644
--- a/src/tests/eo/suite/eo_test_general.c
+++ b/src/tests/eo/suite/eo_test_general.c
@@ -742,8 +742,8 @@ _class_hi_print(Eo_Class *klass EINA_UNUSED, void 
*class_data EINA_UNUSED)
    return EINA_TRUE;
 }
 
-EO_FUNC_BODY(multi_a_print, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, Eina_Bool, 
EINA_FALSE);
-EO_FUNC_BODY_CONST(multi_class_hi_print, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
Eina_Bool, EINA_FALSE);
+EO_FUNC_BODY(multi_a_print, Eina_Bool, EINA_FALSE);
+EO_FUNC_BODY_CONST(multi_class_hi_print, Eina_Bool, EINA_FALSE);
 
 static Eo_Op_Description _multi_do_op_descs[] = {
      EO_OP_FUNC(multi_a_print, _a_print),
diff --git a/src/tests/eo/suite/eo_test_threaded_calls.c 
b/src/tests/eo/suite/eo_test_threaded_calls.c
index 247bca5..3f2231d 100644
--- a/src/tests/eo/suite/eo_test_threaded_calls.c
+++ b/src/tests/eo/suite/eo_test_threaded_calls.c
@@ -20,9 +20,9 @@ typedef struct
 #define THREAD_TEST_CLASS thread_test_class_get()
 const Eo_Class *thread_test_class_get(void);
 
-EO_FUNC_BODY(thread_test_v_get, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, int, 0);
-EO_VOID_FUNC_BODY(thread_test_try_swap_stack, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK);
-EO_VOID_FUNC_BODYV(thread_test_constructor, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(v), int v);
+EO_FUNC_BODY(thread_test_v_get, int, 0);
+EO_VOID_FUNC_BODY(thread_test_try_swap_stack);
+EO_VOID_FUNC_BODYV(thread_test_constructor, EO_FUNC_CALL(v), int v);
 
 static int
 _v_get(Eo *obj EINA_UNUSED, void *class_data)
diff --git a/src/tests/eolian/data/class_simple_ref.c 
b/src/tests/eolian/data/class_simple_ref.c
index 1135ddf..b97639d 100644
--- a/src/tests/eolian/data/class_simple_ref.c
+++ b/src/tests/eolian/data/class_simple_ref.c
@@ -1,15 +1,15 @@
 
 Eina_Bool _class_simple_a_set(Eo *obj, Evas_Simple_Data *pd, int value);
 
-EOAPI EO_FUNC_BODYV(evas_obj_simple_a_set, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
Eina_Bool, EINA_TRUE, EO_FUNC_CALL(value), int value);
+EOAPI EO_FUNC_BODYV(evas_obj_simple_a_set, Eina_Bool, EINA_TRUE, 
EO_FUNC_CALL(value), int value);
 
 int _class_simple_a_get(Eo *obj, Evas_Simple_Data *pd);
 
-EOAPI EO_FUNC_BODY_CONST(evas_obj_simple_a_get, _EO_EMPTY_HOOK, 
_EO_EMPTY_HOOK, int, 100);
+EOAPI EO_FUNC_BODY_CONST(evas_obj_simple_a_get, int, 100);
 
 void _class_simple_b_set(Eo *obj, Evas_Simple_Data *pd);
 
-EOAPI EO_VOID_FUNC_BODY(evas_obj_simple_b_set, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK);
+EOAPI EO_VOID_FUNC_BODY(evas_obj_simple_b_set);
 
 char * _class_simple_foo(Eo *obj, Evas_Simple_Data *pd, int a, char *b, double 
*c);
 
@@ -19,11 +19,11 @@ static char * __eolian_class_simple_foo(Eo *obj, 
Evas_Simple_Data *pd, int a, ch
    return _class_simple_foo(obj, pd, a, b, c);
 }
 
-EOAPI EO_FUNC_BODYV(evas_obj_simple_foo, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, char 
*, NULL, EO_FUNC_CALL(a, b, c), int a, char *b, double *c);
+EOAPI EO_FUNC_BODYV(evas_obj_simple_foo, char *, NULL, EO_FUNC_CALL(a, b, c), 
int a, char *b, double *c);
 
 int _class_simple_bar(Eo *obj, Evas_Simple_Data *pd, int x);
 
-EOAPI EO_FUNC_BODYV(evas_obj_simple_bar, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, int, 
0, EO_FUNC_CALL(x), int x);
+EOAPI EO_FUNC_BODYV(evas_obj_simple_bar, int, 0, EO_FUNC_CALL(x), int x);
 
 static const Eo_Op_Description _class_simple_op_desc[] = {
      EO_OP_FUNC(evas_obj_simple_a_set, _class_simple_a_set),
diff --git a/src/tests/eolian/data/override_ref.c 
b/src/tests/eolian/data/override_ref.c
index c5ad8dd..b910f71 100644
--- a/src/tests/eolian/data/override_ref.c
+++ b/src/tests/eolian/data/override_ref.c
@@ -1,5 +1,5 @@
-EOAPI EO_VOID_FUNC_BODY(override_a_set, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK);
-EOAPI EO_VOID_FUNC_BODY(override_foo, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK);
+EOAPI EO_VOID_FUNC_BODY(override_a_set);
+EOAPI EO_VOID_FUNC_BODY(override_foo);
 
 static void __eolian_override_b_set(Eo *obj EINA_UNUSED, Override_Data *pd, 
int idx EINA_UNUSED, float a, char b, int c)
 {
@@ -8,7 +8,7 @@ static void __eolian_override_b_set(Eo *obj EINA_UNUSED, 
Override_Data *pd, int
    c = pd->c;
 }
 
-EOAPI EO_VOID_FUNC_BODYV(override_b_set, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(idx, a, b, c), int idx, float a, char b, int c);
+EOAPI EO_VOID_FUNC_BODYV(override_b_set, EO_FUNC_CALL(idx, a, b, c), int idx, 
float a, char b, int c);
 
 static void __eolian_override_bar(Eo *obj EINA_UNUSED, Override_Data *pd 
EINA_UNUSED, int idx EINA_UNUSED, int *a, char **str)
 {
@@ -16,26 +16,26 @@ static void __eolian_override_bar(Eo *obj EINA_UNUSED, 
Override_Data *pd EINA_UN
    if (str) *str = NULL;
 }
 
-EOAPI EO_VOID_FUNC_BODYV(override_bar, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(idx, a, str), int idx, int *a, char **str);
+EOAPI EO_VOID_FUNC_BODYV(override_bar, EO_FUNC_CALL(idx, a, str), int idx, int 
*a, char **str);
 
 static int __eolian_override_c_get(Eo *obj EINA_UNUSED, Override_Data *pd 
EINA_UNUSED, int idx EINA_UNUSED)
 {
    return 50;
 }
 
-EOAPI EO_FUNC_BODYV_CONST(override_c_get, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, int, 
50, EO_FUNC_CALL(idx), int idx);
+EOAPI EO_FUNC_BODYV_CONST(override_c_get, int, 50, EO_FUNC_CALL(idx), int idx);
 
 void _override_a_get(Eo *obj, Override_Data *pd);
 
-EOAPI EO_VOID_FUNC_BODY_CONST(override_a_get, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK);
+EOAPI EO_VOID_FUNC_BODY_CONST(override_a_get);
 
 void _override_b_get(Eo *obj, Override_Data *pd, int idx, float *a, char *b, 
int *c);
 
-EOAPI EO_VOID_FUNC_BODYV_CONST(override_b_get, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(idx, a, b, c), int idx, float *a, char *b, int *c);
+EOAPI EO_VOID_FUNC_BODYV_CONST(override_b_get, EO_FUNC_CALL(idx, a, b, c), int 
idx, float *a, char *b, int *c);
 
 void _override_c_set(Eo *obj, Override_Data *pd, int idx, int c);
 
-EOAPI EO_VOID_FUNC_BODYV(override_c_set, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(idx, c), int idx, int c);
+EOAPI EO_VOID_FUNC_BODYV(override_c_set, EO_FUNC_CALL(idx, c), int idx, int c);
 
 void _override_base_constructor(Eo *obj, Override_Data *pd);
 

-- 


Reply via email to