EINA_LIST_FREE(tmp->params, par)
database_parameter_del(par);
- if (tmp->legacy_def)
- eina_stringshare_del(tmp->legacy_def);
-
if (tmp->kls)
database_class_del(tmp->kls);
EINA_LIST_FREE(tmp->var_defs, var)
database_var_del(var);
- if (tmp->param)
- database_parameter_del(tmp->param);
-
EINA_LIST_FREE(tmp->str_items, s)
if (s) eina_stringshare_del(s);
par->base.file = eina_stringshare_ref(ls->filename);
par->base.line = ls->line_number;
par->base.column = ls->column;
- ls->tmp.param = par;
+ ls->tmp.params = eina_list_append(ls->tmp.params, par);
if (allow_inout)
{
if (ls->t.kw == KW_at_in)
}
static void
-parse_legacy(Eo_Lexer *ls)
+parse_legacy(Eo_Lexer *ls, const char **out)
{
eo_lexer_get(ls);
check_next(ls, ':');
check(ls, TOK_VALUE);
- ls->tmp.legacy_def = eina_stringshare_ref(ls->t.value.s);
+ *out = eina_stringshare_ref(ls->t.value.s);
eo_lexer_get(ls);
check_next(ls, ';');
}
break;
case KW_legacy:
CASE_LOCK(ls, legacy, "legacy name")
- parse_legacy(ls);
if (is_get)
- prop->get_legacy = ls->tmp.legacy_def;
+ parse_legacy(ls, &prop->get_legacy);
else
- prop->set_legacy = ls->tmp.legacy_def;
- ls->tmp.legacy_def = NULL;
+ parse_legacy(ls, &prop->set_legacy);
break;
case KW_eo:
CASE_LOCK(ls, eo, "eo name")
static void
parse_params(Eo_Lexer *ls, Eina_Bool allow_inout, Eina_Bool is_vals)
{
- PARSE_SECTION
- {
- parse_param(ls, allow_inout, is_vals);
- ls->tmp.params = eina_list_append(ls->tmp.params, ls->tmp.param);
- ls->tmp.param = NULL;
- }
+ PARSE_SECTION parse_param(ls, allow_inout, is_vals);
check_match(ls, '}', '{', line, col);
}
break;
case KW_legacy:
CASE_LOCK(ls, legacy, "legacy name")
- parse_legacy(ls);
- meth->get_legacy = ls->tmp.legacy_def;
- ls->tmp.legacy_def = NULL;
+ parse_legacy(ls, &meth->get_legacy);
break;
case KW_eo:
CASE_LOCK(ls, eo, "eo name")