Dude, we've been through this already and this is not what we talked about.

You just made everything extremely ugly and annoying to use all around. 
Why did you *again* not let me have a look at it before pushing it?

Wrapper macros (although they would have doubled everything) would have 
been much better here. Please add the compatible macros back.

I expect to be talked to when changes are made to Eo API. Heck, even 
notified, I got neither.

Cedric: this goes to you too, as you've signed off this commit and 
pushed it. WTF.

--
Tom

On 06/04/16 22:43, Felipe Magno de Almeida wrote:
> cedric pushed a commit to branch master.
>
> http://git.enlightenment.org/core/efl.git/commit/?id=944e11559c34fd342550648c2dd9b3de270d3fa8
>
> commit 944e11559c34fd342550648c2dd9b3de270d3fa8
> Author: Felipe Magno de Almeida <[email protected]>
> Date:   Fri Mar 11 17:22:59 2016 -0300
>
>      eo: add before and after macro hooks for API generation functions
>
>      Add two parameters for macros that generate API functions in Eo so
>      that the generation can be customized with macros used by Eolian.
>
>      Signed-off-by: Cedric Bail <[email protected]>
> ---
>   src/bin/eolian/eo_generator.c                      |   2 +-
>   src/bindings/eo_cxx/eo_inherit.hh                  |   2 +-
>   src/lib/eo/Eo.h                                    |  36 ++++--
>   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               |  18 +--
>   21 files changed, 139 insertions(+), 129 deletions(-)
>
> diff --git a/src/bin/eolian/eo_generator.c b/src/bin/eolian/eo_generator.c
> index d718775..22efb10 100644
> --- a/src/bin/eolian/eo_generator.c
> +++ b/src/bin/eolian/eo_generator.c
> @@ -511,7 +511,7 @@ eo_bind_func_generate(const Eolian_Class *class, const 
> Eolian_Function *funcid,
>           Eina_Bool ret_is_void = (!rettype || !strcmp(rettype, "void"));
>           _class_func_env_create(class, eolian_function_name_get(funcid), 
> ftype, &func_env);
>           eina_strbuf_append_printf(eo_func_decl,
> -              "EOAPI EO_%sFUNC_BODY%s%s(%s",
> +              "EOAPI EO_%sFUNC_BODY%s%s(%s, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK",
>                 ret_is_void?"VOID_":"", has_params?"V":"",
>                 (ftype == EOLIAN_PROP_GET ||
>                  eolian_function_object_is_const(funcid) ||
> diff --git a/src/bindings/eo_cxx/eo_inherit.hh 
> b/src/bindings/eo_cxx/eo_inherit.hh
> index a05d11f..a73de37 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_FUNC_CALL(this_), void* 
> this_);
> +inline EO_VOID_FUNC_BODYV(inherit_constructor, _EO_EMPTY_HOOK, 
> _EO_EMPTY_HOOK, EO_FUNC_CALL(this_), void* this_);
>
>   }
>
> diff --git a/src/lib/eo/Eo.h b/src/lib/eo/Eo.h
> index f890b83..4992b21 100644
> --- a/src/lib/eo/Eo.h
> +++ b/src/lib/eo/Eo.h
> @@ -515,60 +515,70 @@ typedef struct _Eo_Call_Cache
>                              __FILE__, __LINE__)) return DefRet;          \
>        _Eo_##Name##_func _func_ = (_Eo_##Name##_func) ___call.func;       \
>
> +#define _EO_EMPTY_HOOK()
> +
>   // to define an EAPI function
> -#define _EO_FUNC_BODY(Name, ObjType, Ret, DefRet)                            
>      \
> +#define _EO_FUNC_BODY(Name, ObjType, BeforeHook, AfterHook, 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_call_end(&___call); \
> +     AfterHook()                                                       \
>        return _r;                                                         \
>     }
>
> -#define _EO_VOID_FUNC_BODY(Name, ObjType)                                    
> \
> +#define _EO_VOID_FUNC_BODY(Name, ObjType, BeforeHook, AfterHook)        \
>     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_call_end(&___call); \
> +     _eo_call_end(&___call);                                            \
> +     AfterHook()                                                       \
>     }
>
> -#define _EO_FUNC_BODYV(Name, ObjType, Ret, DefRet, Arguments, ...)           
>      \
> +#define _EO_FUNC_BODYV(Name, ObjType, BeforeHook, AfterHook, 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_call_end(&___call); \
> +     AfterHook()                                                        \
>        return _r;                                                         \
>     }
>
> -#define _EO_VOID_FUNC_BODYV(Name, ObjType, Arguments, ...)                   
>      \
> +#define _EO_VOID_FUNC_BODYV(Name, ObjType, BeforeHook, AfterHook, 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_call_end(&___call); \
> +     AfterHook()                                                        \
>     }
>
> -#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(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_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__)
> +#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__)
>
>   #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 6ab831f..f49f0a5 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);
> +EAPI EO_VOID_FUNC_BODY(inherit_prot_print, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK);
>
>   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 b4f8766..a72949f 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_FUNC_CALL(a), int a);
> +EAPI EO_VOID_FUNC_BODYV(simple_a_set, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
> 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 5c64cc0..fb3319a 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_FUNC_CALL(a), int a);
> -EAPI EO_FUNC_BODY(simple_a_get, int, 0);
> +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_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);
> +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);
>
>   /* 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 b2e523b..4c6058c 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_FUNC_CALL(x), int x);
> +EAPI EO_VOID_FUNC_BODYV(mixin_add_and_print, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
> 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 370ca60..01c0701 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_FUNC_CALL(name), int name); \
> -EO_FUNC_BODY(simple_##name##_get, int, 0);
> +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);
>
>   _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_FUNC_CALL(a), int a);
> +EO_VOID_FUNC_BODYV(simple_constructor, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
> 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 b4602aa..b25b99b 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, Eina_Bool, EINA_FALSE);
> -EAPI EO_FUNC_BODY(inherit2_print2, Eina_Bool, EINA_FALSE);
> +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);
>
>   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 1e0a6a2..8824d6e 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_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);
> +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);
>
>   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 32b00c8..cf204b9 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, int, 0);
> +EO_FUNC_BODY(interface_ab_sum_get, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 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 12cbb92..ad99c21 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, int, 0);
> +EO_FUNC_BODY(interface2_ab_sum_get2, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 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 589274f..2f5a7b9 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_FUNC_CALL(name), int name); \
> -EO_FUNC_BODY(simple_##name##_get, int, 0);
> +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);
>
>   _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 427293e..d086050 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, int, 0);
> +EAPI EO_FUNC_BODY(mixin_ab_sum_get, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 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 5184e0e..8acccad 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_FUNC_CALL(name), int name); \
> -EO_FUNC_BODY(simple_##name##_get, int, 0);
> +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);
>
>   _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 458b95c..0acfb06 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_FUNC_CALL(a), int a);
> +EAPI EO_VOID_FUNC_BODYV(simple_a_set, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
> 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 8566ed9..fbe6f05 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 *, NULL, EO_FUNC_CALL(name), const char 
> *name);
> +EO_FUNC_BODYV(simple_part_get, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 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_FUNC_CALL(n), int n);
> +EO_VOID_FUNC_BODYV(simple_recursive, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
> 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_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);
> +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);
>
>   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, int, 0);
> +EO_FUNC_BODY_CONST(simple2_class_beef_get, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
> 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 0a9b74c..f54442d 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, Eina_Bool, EINA_FALSE);
> -EO_FUNC_BODY_CONST(multi_class_hi_print, Eina_Bool, EINA_FALSE);
> +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);
>
>   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 3f2231d..247bca5 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, int, 0);
> -EO_VOID_FUNC_BODY(thread_test_try_swap_stack);
> -EO_VOID_FUNC_BODYV(thread_test_constructor, EO_FUNC_CALL(v), int v);
> +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);
>
>   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 b97639d..1135ddf 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, Eina_Bool, EINA_TRUE, 
> EO_FUNC_CALL(value), 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);
>
>   int _class_simple_a_get(Eo *obj, Evas_Simple_Data *pd);
>
> -EOAPI EO_FUNC_BODY_CONST(evas_obj_simple_a_get, int, 100);
> +EOAPI EO_FUNC_BODY_CONST(evas_obj_simple_a_get, _EO_EMPTY_HOOK, 
> _EO_EMPTY_HOOK, int, 100);
>
>   void _class_simple_b_set(Eo *obj, Evas_Simple_Data *pd);
>
> -EOAPI EO_VOID_FUNC_BODY(evas_obj_simple_b_set);
> +EOAPI EO_VOID_FUNC_BODY(evas_obj_simple_b_set, _EO_EMPTY_HOOK, 
> _EO_EMPTY_HOOK);
>
>   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, char *, NULL, EO_FUNC_CALL(a, b, 
> c), int a, char *b, double *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);
>
>   int _class_simple_bar(Eo *obj, Evas_Simple_Data *pd, int x);
>
> -EOAPI EO_FUNC_BODYV(evas_obj_simple_bar, int, 0, EO_FUNC_CALL(x), int x);
> +EOAPI EO_FUNC_BODYV(evas_obj_simple_bar, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
> 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 5e9d08f..c5ad8dd 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);
> -EOAPI EO_VOID_FUNC_BODY(override_foo);
> +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);
>
>   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_FUNC_CALL(idx, a, b, c), int 
> idx, float a, char b, int 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);
>
>   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_FUNC_CALL(idx, a, str), int idx, 
> int *a, char **str);
> +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);
>
>   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, int, 50, EO_FUNC_CALL(idx), int 
> idx);
> +EOAPI EO_FUNC_BODYV_CONST(override_c_get, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
> 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);
> +EOAPI EO_VOID_FUNC_BODY_CONST(override_a_get, _EO_EMPTY_HOOK, 
> _EO_EMPTY_HOOK);
>
>   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_FUNC_CALL(idx, a, b, c), 
> 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);
>
>   void _override_c_set(Eo *obj, Override_Data *pd, int idx, int c);
>
> -EOAPI EO_VOID_FUNC_BODYV(override_c_set, EO_FUNC_CALL(idx, c), 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);
>
>   void _override_base_constructor(Eo *obj, Override_Data *pd);
>
> @@ -78,4 +78,4 @@ static const Eo_Class_Description _override_class_desc = {
>        NULL
>   };
>
> -EO_DEFINE_CLASS(override_class_get, &_override_class_desc, BASE_CLASS, NULL);
> \ No newline at end of file
> +EO_DEFINE_CLASS(override_class_get, &_override_class_desc, BASE_CLASS, NULL);
>


------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to