eolian: fix buggy generation of auto/empty on properties

We only want to generate auto/empty function bodies on what is
specified inside the braces for properties, not for the whole
property.
This commit is contained in:
Daniel Kolesa 2017-04-19 13:24:38 +02:00
parent 7ba0707851
commit 84a584b313
2 changed files with 8 additions and 16 deletions

View File

@ -1662,13 +1662,13 @@ propend:
}
else
{
if (glob_auto)
impl->get_auto = impl->set_auto = EINA_TRUE;
if (glob_empty)
impl->get_empty = impl->set_empty = EINA_TRUE;
check_next(ls, ';');
FILL_DOC(ls, impl, common_doc);
}
if (glob_auto)
impl->get_auto = impl->set_auto = EINA_TRUE;
if (glob_empty)
impl->get_empty = impl->set_empty = EINA_TRUE;
if (buf)
{
impl->full_name = eina_stringshare_add(eina_strbuf_string_get(buf));

View File

@ -13,19 +13,11 @@ static void __eolian_override_b_set(Eo *obj EINA_UNUSED, Override_Data *pd, int
EOAPI EFL_VOID_FUNC_BODYV(override_b_set, EFL_FUNC_CALL(idx, a, b, c), int idx, float a, char b, int c);
static void __eolian_override_b_get(Eo *obj EINA_UNUSED, Override_Data *pd, int idx EINA_UNUSED, float *a, char *b, int *c)
{
if (a) *a = pd->a;
if (b) *b = pd->b;
if (c) *c = pd->c;
}
void _override_b_get(Eo *obj, Override_Data *pd, int idx, float *a, char *b, int *c);
EOAPI EFL_VOID_FUNC_BODYV_CONST(override_b_get, EFL_FUNC_CALL(idx, a, b, c), int idx, float *a, char *b, int *c);
static void __eolian_override_c_set(Eo *obj EINA_UNUSED, Override_Data *pd, int idx EINA_UNUSED, int c)
{
c = pd->c;
}
void _override_c_set(Eo *obj, Override_Data *pd, int idx, int c);
EOAPI EFL_VOID_FUNC_BODYV(override_c_set, EFL_FUNC_CALL(idx, c), int idx, int c);
@ -77,8 +69,8 @@ _override_class_initializer(Efl_Class *klass)
EFL_OBJECT_OP_FUNC(override_a_set, NULL),
EFL_OBJECT_OP_FUNC(override_a_get, _override_a_get),
EFL_OBJECT_OP_FUNC(override_b_set, __eolian_override_b_set),
EFL_OBJECT_OP_FUNC(override_b_get, __eolian_override_b_get),
EFL_OBJECT_OP_FUNC(override_c_set, __eolian_override_c_set),
EFL_OBJECT_OP_FUNC(override_b_get, _override_b_get),
EFL_OBJECT_OP_FUNC(override_c_set, _override_c_set),
EFL_OBJECT_OP_FUNC(override_c_get, __eolian_override_c_get),
EFL_OBJECT_OP_FUNC(override_foo, NULL),
EFL_OBJECT_OP_FUNC(override_bar, __eolian_override_bar),