diff --git a/src/lib/eolian/database_function_api.c b/src/lib/eolian/database_function_api.c index dfe66a9490..afff0ae416 100644 --- a/src/lib/eolian/database_function_api.c +++ b/src/lib/eolian/database_function_api.c @@ -328,11 +328,11 @@ eolian_function_return_is_move(const Eolian_Function *fid, case EOLIAN_PROP_GET: if ((fid->type != EOLIAN_PROP_GET) && (fid->type != EOLIAN_PROPERTY)) return EINA_FALSE; - return !fid->get_return_move; + return fid->get_return_move; case EOLIAN_PROP_SET: if ((fid->type != EOLIAN_PROP_SET) && (fid->type != EOLIAN_PROPERTY)) return EINA_FALSE; - return !fid->set_return_move; + return fid->set_return_move; default: return EINA_FALSE; } diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c index cb806a387a..04a16c2502 100644 --- a/src/lib/eolian/eo_parser.c +++ b/src/lib/eolian/eo_parser.c @@ -1131,6 +1131,7 @@ parse_param(Eo_Lexer *ls, Eina_List **params, Eina_Bool allow_inout, eo_lexer_get(ls); break; case KW_at_owned: + case KW_at_move: CASE_LOCK(ls, owned, "owned qualifier"); par->type->owned = par->move = EINA_TRUE; eo_lexer_get(ls); diff --git a/src/tests/eolian/data/complex_type.eo b/src/tests/eolian/data/complex_type.eo index 1c8c30823a..9cb6a1faf1 100644 --- a/src/tests/eolian/data/complex_type.eo +++ b/src/tests/eolian/data/complex_type.eo @@ -2,20 +2,20 @@ class Complex_Type { methods { @property a { set { - return: list > @owned; + return: list > @move; } get { } values { - value: list @owned; + value: list @move; } } foo { params { - buf: mstring @owned; + buf: mstring @move; sl: slice; } - return: list @owned; [[comment for method return]] + return: list @move; [[comment for method return]] } } } diff --git a/src/tests/eolian/data/enum.eo b/src/tests/eolian/data/enum.eo index bdc9a80e82..0cfc78dd42 100644 --- a/src/tests/eolian/data/enum.eo +++ b/src/tests/eolian/data/enum.eo @@ -34,7 +34,7 @@ class Enum { params { idx: int; } - return: mstring @owned; + return: mstring @move; } } } diff --git a/src/tests/eolian/data/extern.eo b/src/tests/eolian/data/extern.eo index 217fb69c27..28ceb7e2aa 100644 --- a/src/tests/eolian/data/extern.eo +++ b/src/tests/eolian/data/extern.eo @@ -22,7 +22,7 @@ class Extern { params { idx: int; } - return: mstring @owned; + return: mstring @move; } } } diff --git a/src/tests/eolian/data/free_func.eo b/src/tests/eolian/data/free_func.eo index 55cc05e2b6..b10c74db6a 100644 --- a/src/tests/eolian/data/free_func.eo +++ b/src/tests/eolian/data/free_func.eo @@ -16,7 +16,7 @@ class Free_Func { params { idx: int; } - return: mstring @owned; + return: mstring @move; } } } diff --git a/src/tests/eolian/data/function_as_argument.eo b/src/tests/eolian/data/function_as_argument.eo index 68c709d1a0..29b0f4b91c 100644 --- a/src/tests/eolian/data/function_as_argument.eo +++ b/src/tests/eolian/data/function_as_argument.eo @@ -13,7 +13,7 @@ class Function_As_Argument { a: int; b: double; } - return: mstring @owned; + return: mstring @move; } } } diff --git a/src/tests/eolian/data/function_types.eot b/src/tests/eolian/data/function_types.eot index e8bc1865b5..5012d2e47b 100644 --- a/src/tests/eolian/data/function_types.eot +++ b/src/tests/eolian/data/function_types.eot @@ -16,7 +16,7 @@ function SimpleFunc { function ComplexFunc { params { @in c: string; - @out d: mstring @owned; + @out d: mstring @move; } return: double; }; diff --git a/src/tests/eolian/data/object_impl.eo b/src/tests/eolian/data/object_impl.eo index 9cbaed4f6e..db4c46d2b3 100644 --- a/src/tests/eolian/data/object_impl.eo +++ b/src/tests/eolian/data/object_impl.eo @@ -13,7 +13,7 @@ abstract Object_Impl extends Base { part: string; } values { - value: list @owned; + value: list @move; } } @property b { @@ -23,7 +23,7 @@ abstract Object_Impl extends Base { /* set as virtual pure - no implementation expected */ } values { - value: list @owned; + value: list @move; } } constructor_1 { diff --git a/src/tests/eolian/data/object_impl_add.eo b/src/tests/eolian/data/object_impl_add.eo index e9e97c009f..14888b2c4f 100644 --- a/src/tests/eolian/data/object_impl_add.eo +++ b/src/tests/eolian/data/object_impl_add.eo @@ -9,7 +9,7 @@ class Object_Impl_Add extends Base { /* set as virtual pure - no implementation expected */ } values { - value: list @owned; + value: list @move; } } } diff --git a/src/tests/eolian/data/owning.eo b/src/tests/eolian/data/owning.eo index e0c97c52fe..6c9cb10046 100644 --- a/src/tests/eolian/data/owning.eo +++ b/src/tests/eolian/data/owning.eo @@ -2,16 +2,16 @@ class Owning { methods { test1 { params { - test1 : list @owned; - test2 : iterator @owned; - test3 : hash @owned; - test4 : accessor @owned; + test1 : list @move; + test2 : iterator @move; + test3 : hash @move; + test4 : accessor @move; } } test2 { params { - test1 : list @owned> @owned; - test2 : hash @owned> @owned; + test1 : list @move> @move; + test2 : hash @move> @move; } } diff --git a/src/tests/eolian/data/struct.eo b/src/tests/eolian/data/struct.eo index 55e6c50f4c..80a4935ce3 100644 --- a/src/tests/eolian/data/struct.eo +++ b/src/tests/eolian/data/struct.eo @@ -21,7 +21,7 @@ class Struct { params { idx: int; } - return: mstring @owned; + return: mstring @move; } bar { return: ptr(Named); diff --git a/src/tests/eolian/data/typedef.eo b/src/tests/eolian/data/typedef.eo index 29f88e42c3..916a39fcfc 100644 --- a/src/tests/eolian/data/typedef.eo +++ b/src/tests/eolian/data/typedef.eo @@ -23,7 +23,7 @@ class Typedef { params { idx: int; } - return: mstring @owned; + return: mstring @move; } } } diff --git a/src/tests/eolian/data/var.eo b/src/tests/eolian/data/var.eo index a618f0331f..98afb713df 100644 --- a/src/tests/eolian/data/var.eo +++ b/src/tests/eolian/data/var.eo @@ -16,7 +16,7 @@ class Var { params { idx: int; } - return: mstring @owned; + return: mstring @move; } } } diff --git a/src/tests/eolian/eolian_parsing.c b/src/tests/eolian/eolian_parsing.c index 89daec1af5..c6e5c85df8 100644 --- a/src/tests/eolian/eolian_parsing.c +++ b/src/tests/eolian/eolian_parsing.c @@ -357,7 +357,6 @@ EFL_START_TEST(eolian_typedef) eina_stringshare_del(type_name); fail_if(!(type = eolian_typedecl_base_type_get(tdl))); fail_if(!(type_name = eolian_type_short_name_get(type))); - fail_if(eolian_type_is_owned(type)); fail_if(eolian_type_is_const(type)); fail_if(eolian_type_base_type_get(type)); fail_if(strcmp(type_name, "int")); @@ -377,14 +376,12 @@ EFL_START_TEST(eolian_typedef) fail_if(strcmp(type_name, "List_Objects")); fail_if(!(type = eolian_typedecl_base_type_get(tdl))); fail_if(!(type_name = eolian_type_c_type_get(type, EOLIAN_C_TYPE_DEFAULT))); - fail_if(eolian_type_is_owned(type)); fail_if(strcmp(type_name, "Eina_List *")); eina_stringshare_del(type_name); fail_if(!(type = eolian_type_base_type_get(type))); fail_if(!!eolian_type_next_type_get(type)); fail_if(!(type_name = eolian_type_c_type_get(type, EOLIAN_C_TYPE_DEFAULT))); fail_if(strcmp(type_name, "Typedef *")); - fail_if(eolian_type_is_owned(type)); eina_stringshare_del(type_name); /* List */ @@ -429,21 +426,21 @@ EFL_START_TEST(eolian_complex_type) fail_if(!(fid = eolian_class_function_by_name_get(class, "a", EOLIAN_PROPERTY))); fail_if(!(type = eolian_function_return_type_get(fid, EOLIAN_PROP_SET))); fail_if(!(type_name = eolian_type_c_type_get(type, EOLIAN_C_TYPE_RETURN))); - fail_if(!eolian_type_is_owned(type)); + fail_if(!eolian_function_return_is_move(fid, EOLIAN_PROP_SET)); fail_if(eolian_type_builtin_type_get(type) != EOLIAN_TYPE_BUILTIN_LIST); fail_if(strcmp(type_name, "Eina_List *")); eina_stringshare_del(type_name); fail_if(!(type = eolian_type_base_type_get(type))); fail_if(!!eolian_type_next_type_get(type)); fail_if(!(type_name = eolian_type_c_type_get(type, EOLIAN_C_TYPE_DEFAULT))); - fail_if(eolian_type_is_owned(type)); + fail_if(eolian_type_is_move(type)); fail_if(eolian_type_builtin_type_get(type) != EOLIAN_TYPE_BUILTIN_ARRAY); fail_if(strcmp(type_name, "Eina_Array *")); eina_stringshare_del(type_name); fail_if(!(type = eolian_type_base_type_get(type))); fail_if(!!eolian_type_next_type_get(type)); fail_if(!(type_name = eolian_type_c_type_get(type, EOLIAN_C_TYPE_DEFAULT))); - fail_if(!eolian_type_is_owned(type)); + fail_if(!eolian_type_is_move(type)); fail_if(strcmp(type_name, "Eina_Strbuf *")); eina_stringshare_del(type_name); /* Properties parameter type */ @@ -454,13 +451,13 @@ EFL_START_TEST(eolian_complex_type) fail_if(strcmp(eolian_parameter_name_get(param), "value")); fail_if(!(type = eolian_parameter_type_get(param))); fail_if(!(type_name = eolian_type_c_type_get(type, EOLIAN_C_TYPE_PARAM))); - fail_if(!eolian_type_is_owned(type)); + fail_if(!eolian_parameter_is_move(param)); fail_if(strcmp(type_name, "Eina_List *")); eina_stringshare_del(type_name); fail_if(!(type = eolian_type_base_type_get(type))); fail_if(!!eolian_type_next_type_get(type)); fail_if(!(type_name = eolian_type_c_type_get(type, EOLIAN_C_TYPE_DEFAULT))); - fail_if(eolian_type_is_owned(type)); + fail_if(eolian_type_is_move(type)); fail_if(strcmp(type_name, "const char *")); eina_stringshare_del(type_name); @@ -468,13 +465,13 @@ EFL_START_TEST(eolian_complex_type) fail_if(!(fid = eolian_class_function_by_name_get(class, "foo", EOLIAN_METHOD))); fail_if(!(type = eolian_function_return_type_get(fid, EOLIAN_METHOD))); fail_if(!(type_name = eolian_type_c_type_get(type, EOLIAN_C_TYPE_RETURN))); - fail_if(!eolian_type_is_owned(type)); + fail_if(!eolian_function_return_is_move(fid, EOLIAN_METHOD)); fail_if(strcmp(type_name, "Eina_List *")); eina_stringshare_del(type_name); fail_if(!(type = eolian_type_base_type_get(type))); fail_if(!!eolian_type_next_type_get(type)); fail_if(!(type_name = eolian_type_c_type_get(type, EOLIAN_C_TYPE_DEFAULT))); - fail_if(eolian_type_is_owned(type)); + fail_if(eolian_type_is_move(type)); fail_if(eolian_type_builtin_type_get(type) != EOLIAN_TYPE_BUILTIN_STRINGSHARE); fail_if(strcmp(type_name, "Eina_Stringshare *")); eina_stringshare_del(type_name); @@ -485,7 +482,7 @@ EFL_START_TEST(eolian_complex_type) fail_if(strcmp(eolian_parameter_name_get(param), "buf")); fail_if(!(type = eolian_parameter_type_get(param))); fail_if(!(type_name = eolian_type_c_type_get(type, EOLIAN_C_TYPE_PARAM))); - fail_if(!eolian_type_is_owned(type)); + fail_if(!eolian_parameter_is_move(param)); fail_if(eolian_type_builtin_type_get(type) != EOLIAN_TYPE_BUILTIN_MSTRING); fail_if(strcmp(type_name, "char *")); eina_stringshare_del(type_name); @@ -494,7 +491,7 @@ EFL_START_TEST(eolian_complex_type) fail_if(strcmp(eolian_parameter_name_get(param), "sl")); fail_if(!(type = eolian_parameter_type_get(param))); fail_if(!(type_name = eolian_type_c_type_get(type, EOLIAN_C_TYPE_PARAM))); - fail_if(eolian_type_is_owned(type)); + fail_if(eolian_parameter_is_move(param)); fail_if(eolian_type_builtin_type_get(type) != EOLIAN_TYPE_BUILTIN_SLICE); fail_if(strcmp(type_name, "Eina_Slice")); eina_stringshare_del(type_name); @@ -1386,7 +1383,7 @@ EFL_START_TEST(eolian_function_types) fail_if(strcmp(eolian_parameter_name_get(param), "c")); fail_if(!(type = eolian_parameter_type_get(param))); fail_if(eolian_parameter_direction_get(param) != EOLIAN_IN_PARAM); - fail_if(eolian_type_is_owned(type)); + fail_if(eolian_parameter_is_move(param)); fail_if(!(type_name = eolian_type_c_type_get(type, EOLIAN_C_TYPE_PARAM))); fail_if(strcmp(type_name, "const char *")); @@ -1395,7 +1392,7 @@ EFL_START_TEST(eolian_function_types) fail_if(strcmp(eolian_parameter_name_get(param), "d")); fail_if(eolian_parameter_direction_get(param) != EOLIAN_OUT_PARAM); fail_if(!(type = eolian_parameter_type_get(param))); - fail_if(!eolian_type_is_owned(type)); + fail_if(!eolian_parameter_is_move(param)); fail_if(!(type_name = eolian_type_c_type_get(type, EOLIAN_C_TYPE_PARAM))); fail_if(strcmp(type_name, "char *")); @@ -1416,7 +1413,7 @@ EFL_START_TEST(eolian_function_types) fail_if(strcmp(eolian_parameter_name_get(param), "cb")); fail_if(!(type = eolian_parameter_type_get(param))); fail_if(eolian_parameter_direction_get(param) != EOLIAN_IN_PARAM); - fail_if(eolian_type_is_owned(type)); + fail_if(eolian_parameter_is_move(param)); fail_if(!(type_name = eolian_type_short_name_get(type))); fail_if(strcmp(type_name, "VoidFunc")); fail_if(!(arg_decl = eolian_type_typedecl_get(type))); @@ -1426,7 +1423,7 @@ EFL_START_TEST(eolian_function_types) fail_if(strcmp(eolian_parameter_name_get(param), "another_cb")); fail_if(eolian_parameter_direction_get(param) != EOLIAN_IN_PARAM); fail_if(!(type = eolian_parameter_type_get(param))); - fail_if(eolian_type_is_owned(type)); + fail_if(eolian_parameter_is_move(param)); fail_if(eolian_type_type_get(type) != EOLIAN_TYPE_REGULAR); fail_if(!(type_name = eolian_type_short_name_get(type))); fail_if(strcmp(type_name, "SimpleFunc")); @@ -1467,7 +1464,7 @@ EFL_START_TEST(eolian_function_as_arguments) fail_if(strcmp(eolian_parameter_name_get(param), "cb")); fail_if(!(type = eolian_parameter_type_get(param))); fail_if(eolian_parameter_direction_get(param) != EOLIAN_IN_PARAM); - fail_if(eolian_type_is_owned(type)); + fail_if(eolian_parameter_is_move(param)); fail_if(!(type_name = eolian_type_short_name_get(type))); fail_if(strcmp(type_name, "SimpleFunc")); fail_if(!(arg_decl = eolian_type_typedecl_get(type)));