eolian: rename @warn_unused and its associated API

@warn_unused in syntax is now called @no_unused - this is because
"warning about unused" is a C thing (or rather, an extension to C)
and various languages might want to use stricter behavior for this.

Its associated API does the reverse now - it lets you query whether
being unused is allowed at all. This is to match future behavior
of Eolian (once it supports versioning) that will likely reverse it.

@feature
This commit is contained in:
Daniel Kolesa 2019-05-26 17:41:22 +02:00
parent d0fed247bb
commit 13ddc5dbc1
30 changed files with 75 additions and 75 deletions

View File

@ -160,7 +160,7 @@ _gen_func(const Eolian_State *state, const Eolian_Function *fid,
eina_strbuf_append(buf, "void");
eina_strbuf_append(buf, ")");
if (eolian_function_return_is_warn_unused(fid, ftype))
if (!eolian_function_return_allow_unused(fid, ftype))
{
if (!flagbuf)
flagbuf = eina_strbuf_new();

View File

@ -373,7 +373,7 @@ ffi.cdef [[
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);
const Eolian_Documentation *eolian_function_return_documentation_get(const Eolian_Function *foo_id, Eolian_Function_Type ftype);
Eina_Bool eolian_function_return_is_warn_unused(const Eolian_Function *foo_id, Eolian_Function_Type ftype);
Eina_Bool eolian_function_return_allow_unused(const Eolian_Function *foo_id, Eolian_Function_Type ftype);
Eina_Bool eolian_function_object_is_const(const Eolian_Function *function_id);
const Eolian_Class *eolian_function_class_get(const Eolian_Function *function_id);
const Eolian_Class *eolian_implement_class_get(const Eolian_Implement *impl);
@ -1214,8 +1214,8 @@ M.Function = ffi.metatype("Eolian_Function", {
return v
end,
return_is_warn_unused = function(self, ftype)
return eolian.eolian_function_return_is_warn_unused(self,
return_allow_unused = function(self, ftype)
return eolian.eolian_function_return_allow_unused(self,
ftype) ~= 0
end,

View File

@ -308,7 +308,7 @@ class @beta Efl.Io.Copier extends Efl.Loop_Consumer implements Efl.Io.Closer {
which case you should wait for "done", "data" or "line"
events and then call it to retrieve and own the data.
]]
return: ptr(Eina.Binbuf) @owned @warn_unused; [[Binbuf]]
return: ptr(Eina.Binbuf) @owned @no_unused; [[Binbuf]]
}
@property pending_size {

View File

@ -187,7 +187,7 @@ class @beta Efl.Net.Dialer_Http extends Efl.Loop_Consumer implements Efl.Net.Dia
request_headers_get {
[[Returns an iterator to the key-value pairs for request headers]]
return: iterator<ptr(Efl.Net.Http.Header)> @owned @warn_unused; [[Iterator for request headers]]
return: iterator<ptr(Efl.Net.Http.Header)> @owned @no_unused; [[Iterator for request headers]]
}
@property request_content_length {
@ -250,7 +250,7 @@ class @beta Efl.Net.Dialer_Http extends Efl.Loop_Consumer implements Efl.Net.Dia
This will be usable after the "headers,done" event is dispatched.
]]
return: iterator<ptr(Efl.Net.Http.Header)> @owned @warn_unused; [[Iterator for response headers]]
return: iterator<ptr(Efl.Net.Http.Header)> @owned @no_unused; [[Iterator for response headers]]
}
response_headers_all_get {
@ -275,7 +275,7 @@ class @beta Efl.Net.Dialer_Http extends Efl.Loop_Consumer implements Efl.Net.Dia
This will be usable after the "headers,done" event is dispatched.
]]
return: iterator<ptr(Efl.Net.Http.Header)> @owned @warn_unused; [[Iterator for all response headers]]
return: iterator<ptr(Efl.Net.Http.Header)> @owned @no_unused; [[Iterator for all response headers]]
}
response_headers_clear {
@ -381,7 +381,7 @@ class @beta Efl.Net.Dialer_Http extends Efl.Loop_Consumer implements Efl.Net.Dia
params {
epochtime: int64; [[UNIX Epoch time - seconds since 1/1/1970]]
}
return: mstring @owned @warn_unused; [[Newly allocated null-terminated string on success or NULL on errors]]
return: mstring @owned @no_unused; [[Newly allocated null-terminated string on success or NULL on errors]]
}
}

View File

@ -144,7 +144,7 @@ class @beta Efl.Net.Dialer_Websocket extends Efl.Loop_Consumer implements Efl.Ne
request_protocols_get {
[[Returns an iterator to the requested WebSocket protocols]]
return: iterator<string> @owned @warn_unused; [[Iterator to protocols]]
return: iterator<string> @owned @no_unused; [[Iterator to protocols]]
}
request_protocols_clear {
@ -153,7 +153,7 @@ class @beta Efl.Net.Dialer_Websocket extends Efl.Loop_Consumer implements Efl.Ne
response_protocols_get {
[[Returns an iterator to the server-replied (response) WebSocket protocols it supports]]
return: iterator<string> @owned @warn_unused; [[Iterator to server protocols]]
return: iterator<string> @owned @no_unused; [[Iterator to server protocols]]
}
@property streaming_mode {
@ -260,7 +260,7 @@ class @beta Efl.Net.Dialer_Websocket extends Efl.Loop_Consumer implements Efl.Ne
request_headers_get {
[[Returns an iterator to the key-value pairs for request headers]]
return: iterator<ptr(Efl.Net.Http.Header)> @owned @warn_unused; [[Iterator to key value pairs]]
return: iterator<ptr(Efl.Net.Http.Header)> @owned @no_unused; [[Iterator to key value pairs]]
}
@property cookie_jar {

View File

@ -20,7 +20,7 @@ class @beta Ector.Cairo.Surface extends Efl.Object implements Ector.Surface
}
symbol_get {
[[Lookup symbal name in cairo lib]]
return: void_ptr @warn_unused; [[Pointer to cairo lib with this symbol]]
return: void_ptr @no_unused; [[Pointer to cairo lib with this symbol]]
params {
@in name: string; [[Symbol name]]
}

View File

@ -60,7 +60,7 @@ mixin @beta Ector.Buffer
map should try to convert the data into a new buffer]]
@out stride: uint @optional; [[Returns the length in bytes of a mapped line]]
}
return: void_ptr @warn_unused; [[Pointer to the top-left pixel data. Returns $null in case of failure]]
return: void_ptr @no_unused; [[Pointer to the top-left pixel data. Returns $null in case of failure]]
}
unmap @pure_virtual {
[[Unmap a region of this buffer, and upload data to the GPU (if needed).]]

View File

@ -51,7 +51,7 @@ interface Efl.Canvas.Scene
Warning: This function will only evaluate top-level objects; child
or "sub" objects will be skipped.
]]
return: iterator<Efl.Gfx.Entity> @owned @warn_unused; [[
return: iterator<Efl.Gfx.Entity> @owned @no_unused; [[
The list of objects that are over the given position in $e.
]]
params {
@ -78,7 +78,7 @@ interface Efl.Canvas.Scene
Warning: This function will only evaluate top-level objects; child
or "sub" objects will be skipped.
]]
return: Efl.Gfx.Entity @warn_unused; [[The canvas object that is over all other objects at the given position.]]
return: Efl.Gfx.Entity @no_unused; [[The canvas object that is over all other objects at the given position.]]
params {
@in pos: Eina.Position2D; [[The pixel position.]]
@in include_pass_events_objects: bool; [[
@ -103,7 +103,7 @@ interface Efl.Canvas.Scene
Warning: This function will only evaluate top-level objects; child
or "sub" objects will be skipped.
]]
return: iterator<Efl.Gfx.Entity> @owned @warn_unused; [[Iterator to objects]]
return: iterator<Efl.Gfx.Entity> @owned @no_unused; [[Iterator to objects]]
params {
@in rect: Eina.Rect; [[The rectangular region.]]
@in include_pass_events_objects: bool; [[
@ -129,7 +129,7 @@ interface Efl.Canvas.Scene
Warning: This function will only evaluate top-level objects; child
or "sub" objects will be skipped.
]]
return: Efl.Gfx.Entity @warn_unused; [[
return: Efl.Gfx.Entity @no_unused; [[
The object that is over all other objects at the given
rectangular region.
]]

View File

@ -12,7 +12,7 @@ interface Efl.Container
methods {
content_iterate {
[[Begin iterating over this object's contents.]]
return: iterator<Efl.Gfx.Entity> @owned @warn_unused; [[Iterator on object's content.]]
return: iterator<Efl.Gfx.Entity> @owned @no_unused; [[Iterator on object's content.]]
}
content_count {
[[Returns the number of contained sub-objects.]]

View File

@ -46,8 +46,8 @@ interface Efl.Gfx.Stack
objects on layers below the one $obj is placed at.
See also @.layer.get(), @.layer.set() and @.below.get()]]
return: Efl.Gfx.Stack @warn_unused; [[The @Efl.Gfx.Stack object directly below $obj, if any,
or $null, if none.]]
return: Efl.Gfx.Stack @no_unused; [[The @Efl.Gfx.Stack object directly below $obj, if any,
or $null, if none.]]
}
}
@property above {
@ -58,8 +58,8 @@ interface Efl.Gfx.Stack
objects on layers above the one $obj is placed at.
See also @.layer.get(), @.layer.set() and @.below.get()]]
return: Efl.Gfx.Stack @warn_unused; [[The @Efl.Gfx.Stack object directly below $obj, if any,
or $null, if none.]]
return: Efl.Gfx.Stack @no_unused; [[The @Efl.Gfx.Stack object directly below $obj, if any,
or $null, if none.]]
}
}
stack_below {

View File

@ -130,7 +130,7 @@ class @beta Efl.Io.Buffer extends Efl.Object implements Efl.Io.Reader, Efl.Io.Wr
On failure, for example a read-only backing store was
adopted with @.adopt_readonly, NULL is returned.
]]
return: ptr(Eina.Binbuf) @owned @warn_unused; [[Binbuf]]
return: ptr(Eina.Binbuf) @owned @no_unused; [[Binbuf]]
}
}

View File

@ -28,7 +28,7 @@ interface @beta Efl.Ui.Menu {
@property items {
get {
[[Returns a list of the widget item.]]
return: iterator<Efl.Ui.Item> @owned @warn_unused; [[Iterator to widget items]]
return: iterator<Efl.Ui.Item> @owned @no_unused; [[Iterator to widget items]]
}
}
}

View File

@ -63,7 +63,7 @@ mixin @beta Efl.Access.Action
params {
@in id: int; [[ID for widget]]
}
return: mstring @owned @warn_unused; [[Should be freed by the user.]]
return: mstring @owned @no_unused; [[Should be freed by the user.]]
}
}
}

View File

@ -43,8 +43,8 @@ class @beta Efl.Ui.Grid extends Efl.Ui.Layout_Base implements
}
selected_items_get {
[[Get the selected items iterator. The iterator sequence will be decided by selection.]]
return: iterator<Efl.Ui.Grid_Item> @owned @warn_unused; [[Iterator covered by selected items list.
user have to free the iterator after used.]]
return: iterator<Efl.Ui.Grid_Item> @owned @no_unused; [[Iterator covered by selected items list.
user have to free the iterator after used.]]
}
}
implements {

View File

@ -34,8 +34,8 @@ class @beta Efl.Ui.List extends Efl.Ui.Layout_Base implements
}
selected_items_get {
[[Get the selected items iterator. The iterator sequence will be decided by selection.]]
return: iterator<Efl.Ui.List_Item> @owned @warn_unused; [[Iterator covered by selected items list.
user have to free the iterator after used.]]
return: iterator<Efl.Ui.List_Item> @owned @no_unused; [[Iterator covered by selected items list.
user have to free the iterator after used.]]
}
}
implements {

View File

@ -100,8 +100,8 @@ 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", "@nullable", "@optional", "@in", "@out", "@inout", "@warn_unused", \
"eo_prefix", "legacy_prefix", "methods", "events", "params", "return", "legacy", \
"@property", "@nullable", "@optional", "@in", "@out", "@inout", "@no_unused", \
"c_prefix", "methods", "events", "params", "return", \
"implements", "constructors", "get", "set", "keys", "values", "true", "false", "null"}
};

View File

@ -348,7 +348,7 @@ abstract Efl.Object
}
children_iterator_new {
[[Get an iterator on all childrens]]
return: iterator<Efl.Object> @owned @warn_unused; [[Children iterator]]
return: iterator<Efl.Object> @owned @no_unused; [[Children iterator]]
}
composite_attach @beta {
[[Make an object a composite object of another.

View File

@ -1842,11 +1842,11 @@ eolian_function_return_default_value_get(const Eolian_Function *foo_id, Eolian_F
EAPI const Eolian_Documentation *eolian_function_return_documentation_get(const Eolian_Function *foo_id, Eolian_Function_Type ftype);
/*
* @brief Indicates if a function return is warn-unused.
* @brief Indicates if a function return should allow being unused.
*
* @param[in] function_id id of the function
* @param[in] ftype type of the function
* @return EINA_TRUE is warn-unused, EINA_FALSE otherwise.
* @return EINA_TRUE if it can be unused, EINA_FALSE otherwise.
*
* The type of the function is needed because a given function can represent a
* property, that can be set and get functions.
@ -1855,7 +1855,7 @@ EAPI const Eolian_Documentation *eolian_function_return_documentation_get(const
*
* @ingroup Eolian
*/
EAPI Eina_Bool eolian_function_return_is_warn_unused(const Eolian_Function *foo_id, Eolian_Function_Type ftype);
EAPI Eina_Bool eolian_function_return_allow_unused(const Eolian_Function *foo_id, Eolian_Function_Type ftype);
/*
* @brief Indicates if a function object is const.

View File

@ -263,28 +263,28 @@ eolian_function_return_documentation_get(const Eolian_Function *fid, Eolian_Func
}
EAPI Eina_Bool
eolian_function_return_is_warn_unused(const Eolian_Function *fid,
eolian_function_return_allow_unused(const Eolian_Function *fid,
Eolian_Function_Type ftype)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(fid, EINA_FALSE);
EINA_SAFETY_ON_FALSE_RETURN_VAL(ftype != EOLIAN_UNRESOLVED, EINA_FALSE);
EINA_SAFETY_ON_FALSE_RETURN_VAL(ftype != EOLIAN_PROPERTY, EINA_FALSE);
EINA_SAFETY_ON_NULL_RETURN_VAL(fid, EINA_TRUE);
EINA_SAFETY_ON_FALSE_RETURN_VAL(ftype != EOLIAN_UNRESOLVED, EINA_TRUE);
EINA_SAFETY_ON_FALSE_RETURN_VAL(ftype != EOLIAN_PROPERTY, EINA_TRUE);
switch (ftype)
{
case EOLIAN_METHOD:
if (fid->type != EOLIAN_METHOD)
return EINA_FALSE;
return fid->get_return_warn_unused;
return EINA_TRUE;
return !fid->get_return_no_unused;
case EOLIAN_PROP_GET:
if ((fid->type != EOLIAN_PROP_GET) && (fid->type != EOLIAN_PROPERTY))
return EINA_FALSE;
return fid->get_return_warn_unused;
return EINA_TRUE;
return !fid->get_return_no_unused;
case EOLIAN_PROP_SET:
if ((fid->type != EOLIAN_PROP_SET) && (fid->type != EOLIAN_PROPERTY))
return EINA_FALSE;
return fid->set_return_warn_unused;
return EINA_TRUE;
return !fid->set_return_no_unused;
default:
return EINA_FALSE;
return EINA_TRUE;
}
}

View File

@ -35,9 +35,9 @@ enum Tokens
\
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(no_unused), KWAT(nullable), KWAT(optional), KWAT(out), KWAT(owned), \
KWAT(private), KWAT(property), KWAT(protected), KWAT(restart), \
KWAT(pure_virtual), KWAT(warn_unused), \
KWAT(pure_virtual), \
\
KW(byte), KW(ubyte), KW(char), KW(short), KW(ushort), KW(int), KW(uint), \
KW(long), KW(ulong), KW(llong), KW(ullong), \

View File

@ -854,7 +854,7 @@ typedef struct _Eo_Ret_Def
Eolian_Type *type;
Eolian_Documentation *doc;
Eolian_Expression *default_ret_val;
Eina_Bool warn_unused: 1;
Eina_Bool no_unused: 1;
Eina_Bool owned: 1;
} Eo_Ret_Def;
@ -870,7 +870,7 @@ parse_return(Eo_Lexer *ls, Eo_Ret_Def *ret, Eina_Bool allow_void,
ret->type = parse_type(ls, EINA_TRUE);
ret->doc = NULL;
ret->default_ret_val = NULL;
ret->warn_unused = EINA_FALSE;
ret->no_unused = EINA_FALSE;
ret->owned = EINA_FALSE;
if (allow_def && (ls->t.token == '('))
{
@ -881,12 +881,12 @@ parse_return(Eo_Lexer *ls, Eo_Ret_Def *ret, Eina_Bool allow_void,
ls->expr_mode = EINA_FALSE;
check_match(ls, ')', '(', line, col);
}
Eina_Bool has_warn_unused = EINA_FALSE, has_owned = EINA_FALSE;
Eina_Bool has_no_unused = EINA_FALSE, has_owned = EINA_FALSE;
if (!is_funcptr) for (;;) switch (ls->t.kw)
{
case KW_at_warn_unused:
CASE_LOCK(ls, warn_unused, "warn_unused qualifier");
ret->warn_unused = EINA_TRUE;
case KW_at_no_unused:
CASE_LOCK(ls, no_unused, "no_unused qualifier");
ret->no_unused = EINA_TRUE;
eo_lexer_get(ls);
break;
case KW_at_owned:
@ -1079,7 +1079,7 @@ parse_accessor:
prop->get_ret_type = eo_lexer_type_release(ls, ret.type);
prop->get_return_doc = ret.doc;
prop->get_ret_val = ret.default_ret_val;
prop->get_return_warn_unused = ret.warn_unused;
prop->get_return_no_unused = ret.no_unused;
prop->get_ret_type->owned = ret.owned;
}
else
@ -1087,7 +1087,7 @@ parse_accessor:
prop->set_ret_type = eo_lexer_type_release(ls, ret.type);
prop->set_return_doc = ret.doc;
prop->set_ret_val = ret.default_ret_val;
prop->set_return_warn_unused = ret.warn_unused;
prop->set_return_no_unused = ret.no_unused;
prop->set_ret_type->owned = ret.owned;
}
break;
@ -1289,7 +1289,7 @@ tags_done:
meth->get_ret_type = eo_lexer_type_release(ls, ret.type);
meth->get_return_doc = ret.doc;
meth->get_ret_val = NULL;
meth->get_return_warn_unused = EINA_FALSE;
meth->get_return_no_unused = EINA_FALSE;
break;
case KW_params:
CASE_LOCK(ls, params, "params definition");
@ -1385,7 +1385,7 @@ body:
meth->get_ret_type = eo_lexer_type_release(ls, ret.type);
meth->get_return_doc = ret.doc;
meth->get_ret_val = ret.default_ret_val;
meth->get_return_warn_unused = ret.warn_unused;
meth->get_return_no_unused = ret.no_unused;
meth->get_ret_type->owned = ret.owned;
break;
case KW_params:

View File

@ -225,8 +225,8 @@ struct _Eolian_Function
Eolian_Documentation *get_return_doc;
Eolian_Documentation *set_return_doc;
Eina_Bool obj_is_const :1; /* True if the object has to be const. Useful for a few methods. */
Eina_Bool get_return_warn_unused :1; /* also used for methods */
Eina_Bool set_return_warn_unused :1;
Eina_Bool get_return_no_unused :1; /* also used for methods */
Eina_Bool set_return_no_unused :1;
Eina_Bool is_class :1;
Eina_List *ctor_of;
Eolian_Class *klass;

View File

@ -354,7 +354,7 @@ abstract Efl.Canvas.Object extends Efl.Loop_Consumer implements Efl.Gfx.Entity,
See also @.clipper.
]]
return: iterator<Efl.Canvas.Object> @warn_unused; [[An iterator over the
return: iterator<Efl.Canvas.Object> @no_unused; [[An iterator over the
list of objects clipped by $obj.]]
}
}
@ -384,7 +384,7 @@ abstract Efl.Canvas.Object extends Efl.Loop_Consumer implements Efl.Gfx.Entity,
clipped_objects_count @const {
[[Returns the number of objects clipped by $obj
]]
return: uint @warn_unused; [[The number of objects clipped by $obj]]
return: uint @no_unused; [[The number of objects clipped by $obj]]
}
key_grab {
/* FIXME: can't reference Eolian object, .eo file not being installed */
@ -411,7 +411,7 @@ abstract Efl.Canvas.Object extends Efl.Loop_Consumer implements Efl.Gfx.Entity,
Warning: Providing impossible modifier sets creates undefined
behavior.
]]
return: bool @warn_unused; [[$true if the call succeeded, $false otherwise.]]
return: bool @no_unused; [[$true if the call succeeded, $false otherwise.]]
params {
@in keyname: string; [[The key to request events for.]]
@in modifiers: Efl.Input.Modifier; [[A combination of modifier

View File

@ -19,7 +19,7 @@ abstract @beta Efl.Canvas.Surface extends Efl.Canvas.Image_Internal
[[Set the buffer. If this fails, this function returns $false,
and the surface is left without any attached buffer.
]]
return: bool @warn_unused; [[$true on success, $false otherwise]]
return: bool @no_unused; [[$true on success, $false otherwise]]
}
values {
buffer: void_ptr; [[The external buffer, depends on its type.]]

View File

@ -11,7 +11,7 @@ class @beta Efl.Canvas.Vg.Container extends Efl.Canvas.Vg.Node
}
children_get {
[[Get all children of container]]
return: iterator<Efl.Canvas.Vg.Node> @owned @warn_unused; [[Iterator to children]]
return: iterator<Efl.Canvas.Vg.Node> @owned @no_unused; [[Iterator to children]]
}
}
implements {

View File

@ -925,8 +925,8 @@ class Function(Object):
c_doc = lib.eolian_function_return_documentation_get(self, ftype)
return Documentation(c_doc) if c_doc else None
def return_is_warn_unused(self, ftype):
return bool(lib.eolian_function_return_is_warn_unused(self, ftype))
def return_allow_unused(self, ftype):
return bool(lib.eolian_function_return_allow_unused(self, ftype))
@cached_property
def method_return_type(self):

View File

@ -352,9 +352,9 @@ lib.eolian_function_return_default_value_get.restype = c_void_p
lib.eolian_function_return_documentation_get.argtypes = (c_void_p, c_int)
lib.eolian_function_return_documentation_get.restype = c_void_p
# EAPI Eina_Bool eolian_function_return_is_warn_unused(const Eolian_Function *foo_id, Eolian_Function_Type ftype);
lib.eolian_function_return_is_warn_unused.argtypes = (c_void_p, c_int)
lib.eolian_function_return_is_warn_unused.restype = c_bool
# EAPI Eina_Bool eolian_function_return_allow_unused(const Eolian_Function *foo_id, Eolian_Function_Type ftype);
lib.eolian_function_return_allow_unused.argtypes = (c_void_p, c_int)
lib.eolian_function_return_allow_unused.restype = c_bool
# EAPI Eina_Bool eolian_function_object_is_const(const Eolian_Function *function_id);
lib.eolian_function_object_is_const.argtypes = (c_void_p,)

View File

@ -368,7 +368,7 @@ class TestEolianFunction(unittest.TestCase):
self.assertEqual(len(list(f.getter_values)), 1)
self.assertEqual(len(list(f.getter_values)), 1)
self.assertEqual(len(list(f.parameters)), 1)
self.assertFalse(f.return_is_warn_unused(eolian.Eolian_Function_Type.METHOD))
self.assertTrue(f.return_allow_unused(eolian.Eolian_Function_Type.METHOD))
self.assertFalse(f.object_is_const)
self.assertEqual(f.class_.name, 'Efl.Loop_Timer')
self.assertIsInstance(f.implement, eolian.Implement)

View File

@ -41,7 +41,7 @@ class Constructor_Method_Class extends Efl.Object
}
classoutmethod1 {
params { @in one: int; @in two: double; }
return: free(Constructor_Method_Class, eo_unref) @owned @warn_unused;
return: free(Constructor_Method_Class, eo_unref) @owned @no_unused;
}
classoutmethod2 {
params { @in one: int; @in two: double; @out out_class: Constructor_Method_Class @owned; }

View File

@ -104,7 +104,7 @@ class Test.Object extends Efl.Object {
}
method_array_with_42_check {
[[ tests parameters ]]
return: array<int> @owned @warn_unused;
return: array<int> @owned @no_unused;
}
method_array_in_array_out_check {
[[ tests parameters ]]
@ -157,7 +157,7 @@ class Test.Object extends Efl.Object {
}
method_list_with_42_check {
[[ tests parameters ]]
return: list<int> @owned @warn_unused;
return: list<int> @owned @no_unused;
}
method_list_in_list_out_check {
[[ tests parameters ]]