eolian: remove param @nonull

This has been deprecated for a while and is not strictly necessary
- as a part of an effort to stabilize Eolian, remove this. Eolian
will eventually gain support for versioning and use a reversed
behavior (i.e. no NULL by default), but the API it wlll use for
that will be very different. Features can always be added, it's
much harder to drop them.

@feature
This commit is contained in:
Daniel Kolesa 2019-05-26 17:25:15 +02:00
parent 38d7d33354
commit d0fed247bb
33 changed files with 56 additions and 107 deletions

View File

@ -51,6 +51,8 @@ eo_gen_params(Eina_Iterator *itr, Eina_Strbuf *buf,
eina_strbuf_append(buf, ", ");
*nidx += _gen_param(buf, pr, ftype, &rpid);
/* Keep the logic for when there's a better way to emit NONNULL */
#if 0
if (!eolian_parameter_is_nonull(pr) || !flagbuf)
continue;
@ -61,6 +63,9 @@ eo_gen_params(Eina_Iterator *itr, Eina_Strbuf *buf,
}
else
eina_strbuf_append_printf(*flagbuf, ", %d", *nidx - rpid);
#else
(void)flagbuf;
#endif
}
eina_iterator_free(itr);
}

View File

@ -369,7 +369,6 @@ ffi.cdef [[
const Eolian_Type *eolian_parameter_type_get(const Eolian_Function_Parameter *param);
const Eolian_Expression *eolian_parameter_default_value_get(const Eolian_Function_Parameter *param);
const Eolian_Documentation *eolian_parameter_documentation_get(const Eolian_Function_Parameter *param);
Eina_Bool eolian_parameter_is_nonull(const Eolian_Function_Parameter *param_desc);
Eina_Bool eolian_parameter_is_optional(const Eolian_Function_Parameter *param_desc);
const Eolian_Type *eolian_function_return_type_get(const Eolian_Function *function_id, Eolian_Function_Type ftype);
const Eolian_Expression *eolian_function_return_default_value_get(const Eolian_Function *foo_id, Eolian_Function_Type ftype);
@ -1263,10 +1262,6 @@ ffi.metatype("Eolian_Function_Parameter", {
return v
end,
is_nonull = function(self)
return eolian.eolian_parameter_is_nonull(self) ~= 0
end,
is_optional = function(self)
return eolian.eolian_parameter_is_optional(self) ~= 0
end

View File

@ -29,7 +29,7 @@ interface @beta Efl.Net.Dialer extends Efl.Net.Socket {
dispatched.
]]
params {
address: string @nonull; [[Remote address]]
address: string; [[Remote address]]
}
return: Eina.Error; [[0 on success, error code otherwise]]
}

View File

@ -59,7 +59,7 @@ class @beta Efl.Net.Ip_Address extends Efl.Object {
use @.create. To create from a string use @.parse.
]]
params {
sockaddr: const(void_ptr) @nonull; [[The pointer to struct sockaddr-compatible handle as per <netinet/in.h>.]]
sockaddr: const(void_ptr); [[The pointer to struct sockaddr-compatible handle as per <netinet/in.h>.]]
}
return: Efl.Net.Ip_Address @owned; [[Newly created object or $NULL if parameter was invalid.]]
}
@ -104,7 +104,7 @@ class @beta Efl.Net.Ip_Address extends Efl.Object {
and port.
]]
params {
address: string @nonull; [[The address, such as enlightenment.org:http or enlightenment.org (port=0)]]
address: string; [[The address, such as enlightenment.org:http or enlightenment.org (port=0)]]
family: int @optional; [[Preferred family. AF_UNSPEC or 0 for both, otherwise one of AF_INET or AF_INET6]]
flags: int @optional; [[Flags to use with getaddrinfo(). If 0, default flags are used (AI_V4MAPPED | AI_ADDRCONFIG, if these exist in your system).]]
}
@ -123,7 +123,7 @@ class @beta Efl.Net.Ip_Address extends Efl.Object {
]]
get { }
values {
str: string @nonull; [[Numeric address as string]]
str: string; [[Numeric address as string]]
}
}
@ -167,7 +167,7 @@ class @beta Efl.Net.Ip_Address extends Efl.Object {
May only be set once. Afterwards the object does not change.
]]
values {
sockaddr: const(void_ptr) @nonull; [[Sockaddr struct. As usual with struct sockaddr, the first field, struct sockaddr::sa_family, defines the rest of the structure and how the whole structure must be interpreted. If AF_INET is struct sockaddr_in, AF_INET6 is struct sockaddr_in6.]]
sockaddr: const(void_ptr); [[Sockaddr struct. As usual with struct sockaddr, the first field, struct sockaddr::sa_family, defines the rest of the structure and how the whole structure must be interpreted. If AF_INET is struct sockaddr_in, AF_INET6 is struct sockaddr_in6.]]
}
}

View File

@ -43,7 +43,7 @@ interface @beta Efl.Net.Server {
dispatched.
]]
params {
address: string @nonull; [[Address to run server on]]
address: string; [[Address to run server on]]
}
return: Eina.Error; [[$0 on success, error code otherwise]]
}

View File

@ -36,7 +36,7 @@ class @beta Efl.Net.Server_Udp extends Efl.Net.Server_Ip {
ff02::1@1 - use loopback interface (idx=1)
]]
params {
address: string @nonull; [[Multicast group address]]
address: string; [[Multicast group address]]
}
return: Eina.Error; [[0 on success, error code otherwise]]
}
@ -47,7 +47,7 @@ class @beta Efl.Net.Server_Udp extends Efl.Net.Server_Ip {
This reverses the effect of @.multicast_join.
]]
params {
address: string @nonull; [[Multicast group address]]
address: string; [[Multicast group address]]
}
return: Eina.Error; [[0 on success, error code otherwise]]
}

View File

@ -87,7 +87,7 @@ class @beta Efl.Net.Socket_Udp extends Efl.Net.Socket_Fd {
ff02::1@1 - use loopback interface (idx=1)
]]
params {
address: string @nonull; [[Multicast address to join]]
address: string; [[Multicast address to join]]
}
return: Eina.Error; [[$0 on success, error code otherwise]]
}
@ -98,7 +98,7 @@ class @beta Efl.Net.Socket_Udp extends Efl.Net.Socket_Fd {
This reverses the effect of @.multicast_join.
]]
params {
address: string @nonull; [[Multicast address to leave]]
address: string; [[Multicast address to leave]]
}
return: Eina.Error; [[$0 on success, error code otherwise]]
}
@ -159,7 +159,7 @@ class @beta Efl.Net.Socket_Udp extends Efl.Net.Socket_Fd {
return: Eina.Error; [[$0 on success, error code otherwise]]
}
values {
address: string @nonull; [[Address to bind to]]
address: string; [[Address to bind to]]
}
}

View File

@ -18,7 +18,7 @@ mixin @beta Ector.Surface extends Ector.Buffer
[[Create a new renderer factory for the given type]]
return: Efl.Object; [[Renderer factory object]] /* FIXME: Should be a more restricted type, only here for cyclic. */
params {
@in type: const(Efl.Class) @nonull; [[Efl class]] /* FIXME: Should probably be a more restricted type */
@in type: const(Efl.Class); [[Efl class]] /* FIXME: Should probably be a more restricted type */
}
}
}

View File

@ -113,7 +113,7 @@ interface Efl.Layout.Group
]]
get { [[Returns $true if the part exists in the EDC group.]] }
keys {
part: string @nonull; [[The part name to check.]]
part: string; [[The part name to check.]]
}
values {
exists: bool; [[$true if the part exists, $false otherwise.]]

View File

@ -31,10 +31,10 @@ interface Efl.File_Save {
"quality=100 compress=9".
]]
params {
@in file: string @nonull; [[The filename to be used to save the image (extension
obligatory).]]
@in file: string; [[The filename to be used to save the image (extension
obligatory).]]
@in key: string; [[The image key in the file (if an Eet one), or $null,
otherwise.]]
otherwise.]]
@in info: const(ptr(Efl.File_Save_Info)); [[The flags to be used ($null for defaults).]]
}
return: bool; [[$true on success, $false otherwise]]

View File

@ -84,7 +84,7 @@ interface Efl.Gfx.Stack
See also @.layer.get(), @.layer.set() and @.stack_below()]]
params {
@in below: Efl.Gfx.Stack @nonull; [[The object below which to stack]]
@in below: Efl.Gfx.Stack; [[The object below which to stack]]
}
}
raise_to_top {
@ -118,7 +118,7 @@ interface Efl.Gfx.Stack
See also @.layer.get(), @.layer.set() and @.stack_below()]]
params {
@in above: Efl.Gfx.Stack @nonull; [[The object above which to stack]]
@in above: Efl.Gfx.Stack; [[The object above which to stack]]
}
}
lower_to_bottom {

View File

@ -29,7 +29,7 @@ interface Efl.Io.Reader {
You can understand this method as read(2) libc function.
]]
params {
@inout rw_slice: Eina.Rw_Slice @nonull; [[Provides a pre-allocated memory to be filled up to rw_slice.len. It will be populated and the length will be set to the actually used amount of bytes, which can be smaller than the request.]]
@inout rw_slice: Eina.Rw_Slice; [[Provides a pre-allocated memory to be filled up to rw_slice.len. It will be populated and the length will be set to the actually used amount of bytes, which can be smaller than the request.]]
}
return: Eina.Error; [[0 on succeed, a mapping of errno otherwise]]
}

View File

@ -29,7 +29,7 @@ interface Efl.Io.Writer {
You can understand this method as write(2) libc function.
]]
params {
@inout slice: Eina.Slice @nonull; [[Provides a pre-populated memory to be used up to slice.len. The returned slice will be adapted as length will be set to the actually used amount of bytes, which can be smaller than the request.]]
@inout slice: Eina.Slice; [[Provides a pre-populated memory to be used up to slice.len. The returned slice will be adapted as length will be set to the actually used amount of bytes, which can be smaller than the request.]]
@out remaining: Eina.Slice @optional; [[Convenience to output the remaining parts of slice that was not written. If the full slice was written, this will be a slice of zero-length.]]
}
return: Eina.Error; [[0 on succeed, a mapping of errno otherwise]]

View File

@ -64,7 +64,7 @@ interface @beta Efl.Access.Text
}
keys {
granularity: Efl.Access.Text_Granularity; [[Text granularity]]
start_offset: ptr(int) @nonull; [[Offset indicating start of string according to given granularity. -1 in case of error.]]
start_offset: ptr(int); [[Offset indicating start of string according to given granularity. -1 in case of error.]]
end_offset: ptr(int); [[Offset indicating end of string according to given granularity. -1 in case of error.]]
}
values {
@ -101,8 +101,8 @@ interface @beta Efl.Access.Text
return: bool; [[$true if attribute name is set, $false otherwise]]
}
keys {
name: string @nonull; [[Text attribute name]]
start_offset: ptr(int) @nonull; [[Position in text from which given attribute is set.]]
name: string; [[Text attribute name]]
start_offset: ptr(int); [[Position in text from which given attribute is set.]]
end_offset: ptr(int); [[Position in text to which given attribute is set.]]
}
values {
@ -114,7 +114,7 @@ interface @beta Efl.Access.Text
[[Gets list of all text attributes.]]
}
keys {
start_offset: ptr(int) @nonull; [[Start offset]]
start_offset: ptr(int); [[Start offset]]
end_offset: ptr(int); [[End offset]]
}
values {

View File

@ -69,7 +69,7 @@ interface Efl.Ui.Focus.Manager {
]]
values {
focus : Efl.Ui.Focus.Object @nonull; [[Currently focused element.]]
focus : Efl.Ui.Focus.Object; [[Currently focused element.]]
}
}
@property redirect {
@ -121,7 +121,7 @@ interface Efl.Ui.Focus.Manager {
get {}
values {
root : Efl.Ui.Focus.Object @nonull; [[Will be registered into
root : Efl.Ui.Focus.Object; [[Will be registered into
this manager object.]]
}
}

View File

@ -15,9 +15,9 @@ class @beta Efl.Ui.Focus.Manager_Calc extends Efl.Object implements Efl.Ui.Focus
$child gets focused.
]]
params {
child : Efl.Ui.Focus.Object @nonull; [[The object to register]]
parent : Efl.Ui.Focus.Object @nonull; [[The parent to use in
the logical tree]]
child : Efl.Ui.Focus.Object; [[The object to register]]
parent : Efl.Ui.Focus.Object; [[The parent to use in
the logical tree]]
redirect : Efl.Ui.Focus.Manager; [[The redirect manager to set
once this child is focused can be NULL for no redirect]]
}
@ -30,9 +30,9 @@ class @beta Efl.Ui.Focus.Manager_Calc extends Efl.Object implements Efl.Ui.Focus
of the items that are.
]]
params {
child : Efl.Ui.Focus.Object @nonull; [[The object to register]]
parent : Efl.Ui.Focus.Object @nonull; [[The parent to use in
the logical tree]]
child : Efl.Ui.Focus.Object; [[The object to register]]
parent : Efl.Ui.Focus.Object; [[The parent to use in
the logical tree]]
redirect : Efl.Ui.Focus.Manager; [[The redirect manager to set
once this child is focused can be $null for no redirect]]
}
@ -45,7 +45,7 @@ class @beta Efl.Ui.Focus.Manager_Calc extends Efl.Object implements Efl.Ui.Focus
in the redirect property. Set redirect to $null if nothing should happen.
]]
params {
child : Efl.Ui.Focus.Object @nonull; [[The child to update]]
child : Efl.Ui.Focus.Object; [[The child to update]]
redirect : Efl.Ui.Focus.Manager; [[Once $child is focused this
element will be set as redirect]]
}
@ -54,8 +54,8 @@ class @beta Efl.Ui.Focus.Manager_Calc extends Efl.Object implements Efl.Ui.Focus
update_parent {
[[Set a new logical parent for the given child.]]
params {
child : Efl.Ui.Focus.Object @nonull; [[The child to update]]
parent : Efl.Ui.Focus.Object @nonull; [[The parent which now
child : Efl.Ui.Focus.Object; [[The child to update]]
parent : Efl.Ui.Focus.Object; [[The parent which now
will be the logical parent of child]]
}
return : bool; [[$true if successful, $false otherwise]]
@ -63,7 +63,7 @@ class @beta Efl.Ui.Focus.Manager_Calc extends Efl.Object implements Efl.Ui.Focus
update_children {
[[Give the list of children a different order.]]
params {
parent : Efl.Ui.Focus.Object @nonull; [[the parent to update]]
parent : Efl.Ui.Focus.Object; [[the parent to update]]
children : list<Efl.Ui.Focus.Object> @owned; [[the list with the new order]]
}
return : bool; [[$true if successful, $false otherwise]]
@ -74,7 +74,7 @@ class @beta Efl.Ui.Focus.Manager_Calc extends Efl.Object implements Efl.Ui.Focus
Children from the list which are not true children are ignored.
]]
params {
parent : Efl.Ui.Focus.Object @nonull; [[the parent to update]]
parent : Efl.Ui.Focus.Object; [[the parent to update]]
children : list<Efl.Ui.Focus.Object> @owned; [[the order of items]]
}
}

View File

@ -100,7 +100,7 @@ static Elm_Code_Syntax _elm_code_syntax_eo =
"abstract", "class", "data", "mixin", "import", "interface", "type", "const", "var", \
"own", "free", "struct", "enum", "@extern", "@free", "@auto", "@empty", \
"@private", "@protected", "@beta", "@hot", "@const", "@class", "@pure_virtual", \
"@property", "@nonull", "@nullable", "@optional", "@in", "@out", "@inout", "@warn_unused", \
"@property", "@nullable", "@optional", "@in", "@out", "@inout", "@warn_unused", \
"eo_prefix", "legacy_prefix", "methods", "events", "params", "return", "legacy", \
"implements", "constructors", "get", "set", "keys", "values", "true", "false", "null"}
};

View File

@ -336,14 +336,14 @@ abstract Efl.Object
the priority. As a shortcut @Efl.Callback_Priority_Before,
@Efl.Callback_Priority_Default and @Efl.Callback_Priority_After can be used. See
@Efl.Callback_Priority for more details.]]
@in source: Efl.Object @nonull; [[The object which emits the initial event]]
@in source: Efl.Object; [[The object which emits the initial event]]
}
}
event_callback_forwarder_del {
[[Remove an event callback forwarder for a specified event and object.]]
params {
@cref desc: Efl.Event_Description; [[The description of the event to listen to]]
@in new_obj: Efl.Object @nonull; [[The object to emit events from]]
@in new_obj: Efl.Object; [[The object to emit events from]]
}
}
children_iterator_new {

View File

@ -1781,16 +1781,6 @@ eolian_parameter_name_get(const Eolian_Function_Parameter *param)
*/
EAPI const Eolian_Documentation *eolian_parameter_documentation_get(const Eolian_Function_Parameter *param);
/*
* @brief Indicates if a parameter cannot be NULL.
*
* @param[in] param_desc parameter handle
* @return EINA_TRUE if cannot be NULL, EINA_FALSE otherwise
*
* @ingroup Eolian
*/
EAPI Eina_Bool eolian_parameter_is_nonull(const Eolian_Function_Parameter *param_desc);
/*
* @brief Indicates if a parameter is optional.
*

View File

@ -33,13 +33,6 @@ eolian_parameter_documentation_get(const Eolian_Function_Parameter *param)
return param->doc;
}
EAPI Eina_Bool
eolian_parameter_is_nonull(const Eolian_Function_Parameter *param)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(param, EINA_FALSE);
return param->nonull;
}
EAPI Eina_Bool
eolian_parameter_is_optional(const Eolian_Function_Parameter *param)
{

View File

@ -33,11 +33,11 @@ enum Tokens
KW(keys), KW(legacy), KW(methods), KW(mixin), KW(params), \
KW(parse), KW(parts), KW(ptr), KW(set), KW(type), KW(values), KW(var), KW(requires), \
\
KWAT(auto), KWAT(beta), KWAT(class), KWAT(const), KWAT(cref), KWAT(empty), \
KWAT(extern), KWAT(free), KWAT(hot), KWAT(in), KWAT(inout), KWAT(nonull), \
KWAT(nullable), KWAT(optional), KWAT(out), KWAT(owned), KWAT(private), \
KWAT(property), KWAT(protected), KWAT(restart), KWAT(pure_virtual), \
KWAT(warn_unused), \
KWAT(auto), KWAT(beta), KWAT(c_name), KWAT(class), KWAT(const), KWAT(cref), \
KWAT(empty), KWAT(extern), KWAT(free), KWAT(hot), KWAT(in), KWAT(inout), \
KWAT(nullable), KWAT(optional), KWAT(out), KWAT(owned), \
KWAT(private), KWAT(property), KWAT(protected), KWAT(restart), \
KWAT(pure_virtual), KWAT(warn_unused), \
\
KW(byte), KW(ubyte), KW(char), KW(short), KW(ushort), KW(int), KW(uint), \
KW(long), KW(ulong), KW(llong), KW(ullong), \

View File

@ -906,7 +906,7 @@ static void
parse_param(Eo_Lexer *ls, Eina_List **params, Eina_Bool allow_inout,
Eina_Bool is_vals)
{
Eina_Bool has_nonull = EINA_FALSE, has_optional = EINA_FALSE,
Eina_Bool has_optional = EINA_FALSE,
has_owned = EINA_FALSE;
Eina_Bool cref = (ls->t.kw == KW_at_cref);
Eolian_Function_Parameter *par = calloc(1, sizeof(Eolian_Function_Parameter));
@ -955,11 +955,6 @@ parse_param(Eo_Lexer *ls, Eina_List **params, Eina_Bool allow_inout,
}
for (;;) switch (ls->t.kw)
{
case KW_at_nonull:
CASE_LOCK(ls, nonull, "nonull qualifier")
par->nonull = EINA_TRUE;
eo_lexer_get(ls);
break;
case KW_at_optional:
CASE_LOCK(ls, optional, "optional qualifier");
par->optional = EINA_TRUE;

View File

@ -251,7 +251,6 @@ struct _Eolian_Function_Parameter
Eolian_Expression *value;
Eolian_Documentation *doc;
Eolian_Parameter_Dir param_dir;
Eina_Bool nonull :1; /* True if this argument cannot be NULL - deprecated */
Eina_Bool optional :1; /* True if this argument is optional */
};

View File

@ -77,7 +77,7 @@ class Efl.Canvas.Group extends Efl.Canvas.Object
See also @.group_member_is.
]]
params {
@in sub_obj: Efl.Canvas.Object @nonull; [[The member object.]]
@in sub_obj: Efl.Canvas.Object; [[The member object.]]
}
}
group_member_remove {

View File

@ -135,7 +135,7 @@ abstract Efl.Canvas.Object extends Efl.Loop_Consumer implements Efl.Gfx.Entity,
]]
}
values {
clipper: Efl.Canvas.Object @nonull; [[The object to clip $obj by.]]
clipper: Efl.Canvas.Object; [[The object to clip $obj by.]]
}
}
@property repeat_events {
@ -413,7 +413,7 @@ abstract Efl.Canvas.Object extends Efl.Loop_Consumer implements Efl.Gfx.Entity,
]]
return: bool @warn_unused; [[$true if the call succeeded, $false otherwise.]]
params {
@in keyname: string @nonull; [[The key to request events for.]]
@in keyname: string; [[The key to request events for.]]
@in modifiers: Efl.Input.Modifier; [[A combination of modifier
keys that must be present to trigger the event.]]
@in not_modifiers: Efl.Input.Modifier; [[A combination of modifier
@ -432,7 +432,7 @@ abstract Efl.Canvas.Object extends Efl.Loop_Consumer implements Efl.Gfx.Entity,
and the legacy API evas_focus_get.
]]
params {
@in keyname: string @nonull; [[The key the grab is set for.]]
@in keyname: string; [[The key the grab is set for.]]
@in modifiers: Efl.Input.Modifier; [[A mask of modifiers that must be
present to trigger the event.]]
@in not_modifiers: Efl.Input.Modifier; [[A mask of modifiers that must

View File

@ -30,7 +30,7 @@ class @beta Efl.Canvas.Proxy extends Efl.Canvas.Image_Internal
}
get {}
values {
src: Efl.Canvas.Object @nonull; [[Source object to use for the proxy.]]
src: Efl.Canvas.Object; [[Source object to use for the proxy.]]
}
}
@property source_clip {

View File

@ -974,10 +974,6 @@ class Function_Parameter(Object):
c_doc = lib.eolian_parameter_documentation_get(self)
return Documentation(c_doc) if c_doc else None
@cached_property
def is_nonull(self):
return bool(lib.eolian_parameter_is_nonull(self))
@cached_property
def is_optional(self):
return bool(lib.eolian_parameter_is_optional(self))

View File

@ -399,10 +399,6 @@ lib.eolian_parameter_default_value_get.restype = c_void_p
lib.eolian_parameter_documentation_get.argtypes = (c_void_p,)
lib.eolian_parameter_documentation_get.restype = c_void_p
# EAPI Eina_Bool eolian_parameter_is_nonull(const Eolian_Function_Parameter *param_desc);
lib.eolian_parameter_is_nonull.argtypes = (c_void_p,)
lib.eolian_parameter_is_nonull.restype = c_bool
# EAPI Eina_Bool eolian_parameter_is_optional(const Eolian_Function_Parameter *param_desc);
lib.eolian_parameter_is_optional.argtypes = (c_void_p,)
lib.eolian_parameter_is_optional.restype = c_bool

View File

@ -380,7 +380,6 @@ class TestEolianFunction(unittest.TestCase):
self.assertEqual(p.direction, eolian.Eolian_Parameter_Dir.IN)
self.assertEqual(p.name, 'add')
self.assertIsNone(p.default_value)
self.assertFalse(p.is_nonull) # TODO is correct ?? 'add' can be null?
self.assertFalse(p.is_optional)
self.assertEqual(p.type.name, 'double')
self.assertIsInstance(p.documentation, eolian.Documentation)

View File

@ -8,12 +8,6 @@ class Function_As_Argument {
}
}
set_nonull_cb {
params {
cb: VoidFunc @nonull;
}
}
call_cb {
params {
a: int;

View File

@ -13,12 +13,6 @@ _function_as_argument_set_cb(Eo *obj, Function_As_Argument_Data *pd, void *cb_da
}
EOLIAN static void
_function_as_argument_set_nonull_cb(Eo *obj, Function_As_Argument_Data *pd, void *cb_data, VoidFunc cb, Eina_Free_Cb cb_free_cb)
{
}
EOLIAN static char *
_function_as_argument_call_cb(Eo *obj, Function_As_Argument_Data *pd, int a, double b)
{

View File

@ -3,10 +3,6 @@ void _function_as_argument_set_cb(Eo *obj, Function_As_Argument_Data *pd, void *
EOAPI EFL_VOID_FUNC_BODYV(function_as_argument_set_cb, EFL_FUNC_CALL(cb_data, cb, cb_free_cb), void *cb_data, SimpleFunc cb, Eina_Free_Cb cb_free_cb);
void _function_as_argument_set_nonull_cb(Eo *obj, Function_As_Argument_Data *pd, void *cb_data, VoidFunc cb, Eina_Free_Cb cb_free_cb);
EOAPI EFL_VOID_FUNC_BODYV(function_as_argument_set_nonull_cb, EFL_FUNC_CALL(cb_data, cb, cb_free_cb), void *cb_data, VoidFunc cb, Eina_Free_Cb cb_free_cb);
char *_function_as_argument_call_cb(Eo *obj, Function_As_Argument_Data *pd, int a, double b);
EOAPI EFL_FUNC_BODYV(function_as_argument_call_cb, char *, NULL, EFL_FUNC_CALL(a, b), int a, double b);
@ -24,7 +20,6 @@ _function_as_argument_class_initializer(Efl_Class *klass)
EFL_OPS_DEFINE(ops,
EFL_OBJECT_OP_FUNC(function_as_argument_set_cb, _function_as_argument_set_cb),
EFL_OBJECT_OP_FUNC(function_as_argument_set_nonull_cb, _function_as_argument_set_nonull_cb),
EFL_OBJECT_OP_FUNC(function_as_argument_call_cb, _function_as_argument_call_cb),
FUNCTION_AS_ARGUMENT_EXTRA_OPS
);

View File

@ -19,8 +19,6 @@ EWAPI const Efl_Class *function_as_argument_class_get(void);
EOAPI void function_as_argument_set_cb(Eo *obj, void *cb_data, SimpleFunc cb, Eina_Free_Cb cb_free_cb);
EOAPI void function_as_argument_set_nonull_cb(Eo *obj, void *cb_data, VoidFunc cb, Eina_Free_Cb cb_free_cb) EINA_ARG_NONNULL(3);
EOAPI char *function_as_argument_call_cb(Eo *obj, int a, double b);
#endif