forked from enlightenment/efl
eolian: Imply @no_unused if @move in return.
Summary: This makes sure the user is warned if it ignores a return value that could potentially be a memory leak. This also makes possible to use `value {}` blocks with `@move` instead of value-less properties with `@no_unused`. Also removed the `@move` from canvas_text_async_layout as it is ignored in the only place it is used. Reviewers: q66 Reviewed By: q66 Subscribers: #reviewers, #committers, bu5hm4n, felipealmeida, cedric, segfaultxavi Tags: #efl Differential Revision: https://phab.enlightenment.org/D10601
This commit is contained in:
parent
714478cbf3
commit
d4d9ecc92f
|
@ -168,7 +168,7 @@ _gen_func(const Eolian_State *state, const Eolian_Function *fid,
|
|||
eina_strbuf_append(buf, "void");
|
||||
|
||||
eina_strbuf_append(buf, ")");
|
||||
if (!eolian_function_return_allow_unused(fid, ftype))
|
||||
if (!eolian_function_return_allow_unused(fid, ftype) || return_move)
|
||||
{
|
||||
if (!flagbuf)
|
||||
flagbuf = eina_strbuf_new();
|
||||
|
|
|
@ -222,7 +222,7 @@ class @beta Efl.Canvas.Text extends Efl.Canvas.Object implements Efl.Text,
|
|||
Once layout is complete, the result is returned as @Eina.Rect,
|
||||
with w, h fields set.
|
||||
]]
|
||||
return: future<Eina.Rect> @move; [[Future for layout result]]
|
||||
return: future<Eina.Rect>; [[Future for layout result]]
|
||||
}
|
||||
}
|
||||
implements {
|
||||
|
|
|
@ -217,12 +217,16 @@ void _dummy_test_object_out_own_string(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Te
|
|||
|
||||
void _dummy_test_object_call_in_string(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, const char *str)
|
||||
{
|
||||
dummy_test_object_in_string(obj, str);
|
||||
char *ptr = dummy_test_object_in_string(obj, str);
|
||||
if (ptr)
|
||||
free(ptr);
|
||||
}
|
||||
|
||||
void _dummy_test_object_call_in_own_string(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, char *str)
|
||||
{
|
||||
dummy_test_object_in_own_string(obj, str);
|
||||
char *ptr = dummy_test_object_in_own_string(obj, str);
|
||||
if (ptr)
|
||||
free(ptr);
|
||||
}
|
||||
|
||||
const char *_dummy_test_object_call_return_string(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
|
||||
|
@ -252,7 +256,9 @@ char *_dummy_test_object_call_out_own_string(Eo *obj, EINA_UNUSED Dummy_Test_Obj
|
|||
// Stringshare virtual test helpers
|
||||
void _dummy_test_object_call_in_stringshare(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Stringshare *str)
|
||||
{
|
||||
dummy_test_object_in_stringshare(obj, str);
|
||||
Eina_Stringshare *ptr = dummy_test_object_in_stringshare(obj, str);
|
||||
if (ptr)
|
||||
eina_stringshare_del(ptr);
|
||||
}
|
||||
|
||||
void _dummy_test_object_call_in_own_stringshare(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Stringshare *str)
|
||||
|
|
|
@ -19,6 +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 char *function_as_argument_call_cb(Eo *obj, int a, double b) EFL_TRANSFER_OWNERSHIP;
|
||||
EOAPI char *function_as_argument_call_cb(Eo *obj, int a, double b) EFL_TRANSFER_OWNERSHIP EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -38,7 +38,7 @@ EWAPI const Efl_Class *struct_class_get(void);
|
|||
*
|
||||
* @ingroup Struct
|
||||
*/
|
||||
EOAPI char *struct_foo(Eo *obj, int idx) EFL_TRANSFER_OWNERSHIP;
|
||||
EOAPI char *struct_foo(Eo *obj, int idx) EFL_TRANSFER_OWNERSHIP EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
EOAPI Named *struct_bar(Eo *obj);
|
||||
|
||||
|
|
|
@ -34,6 +34,6 @@ typedef enum
|
|||
|
||||
EWAPI const Efl_Class *typedef_class_get(void);
|
||||
|
||||
EOAPI char *typedef_foo(Eo *obj, int idx) EFL_TRANSFER_OWNERSHIP;
|
||||
EOAPI char *typedef_foo(Eo *obj, int idx) EFL_TRANSFER_OWNERSHIP EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue