forked from enlightenment/efl
eolian: more temp cleanups
This commit is contained in:
parent
212d500016
commit
dd6f167795
|
@ -7,7 +7,6 @@ void
|
||||||
eo_definitions_temps_free(Eo_Lexer_Temps *tmp)
|
eo_definitions_temps_free(Eo_Lexer_Temps *tmp)
|
||||||
{
|
{
|
||||||
Eina_Strbuf *buf;
|
Eina_Strbuf *buf;
|
||||||
Eolian_Function_Parameter *par;
|
|
||||||
Eolian_Type *tp;
|
Eolian_Type *tp;
|
||||||
Eolian_Variable *var;
|
Eolian_Variable *var;
|
||||||
Eolian_Class *cl;
|
Eolian_Class *cl;
|
||||||
|
@ -16,9 +15,6 @@ eo_definitions_temps_free(Eo_Lexer_Temps *tmp)
|
||||||
EINA_LIST_FREE(tmp->str_bufs, buf)
|
EINA_LIST_FREE(tmp->str_bufs, buf)
|
||||||
eina_strbuf_free(buf);
|
eina_strbuf_free(buf);
|
||||||
|
|
||||||
EINA_LIST_FREE(tmp->params, par)
|
|
||||||
database_parameter_del(par);
|
|
||||||
|
|
||||||
if (tmp->kls)
|
if (tmp->kls)
|
||||||
database_class_del(tmp->kls);
|
database_class_del(tmp->kls);
|
||||||
|
|
||||||
|
|
|
@ -10,10 +10,9 @@
|
||||||
|
|
||||||
typedef struct _Eo_Lexer_Temps
|
typedef struct _Eo_Lexer_Temps
|
||||||
{
|
{
|
||||||
|
Eolian_Class *kls;
|
||||||
Eina_List *classes;
|
Eina_List *classes;
|
||||||
Eina_List *str_bufs;
|
Eina_List *str_bufs;
|
||||||
Eina_List *params;
|
|
||||||
Eolian_Class *kls;
|
|
||||||
Eina_List *type_defs;
|
Eina_List *type_defs;
|
||||||
Eina_List *var_defs;
|
Eina_List *var_defs;
|
||||||
Eina_List *str_items;
|
Eina_List *str_items;
|
||||||
|
|
|
@ -1136,13 +1136,14 @@ parse_return(Eo_Lexer *ls, Eo_Ret_Def *ret, Eina_Bool allow_void)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
parse_param(Eo_Lexer *ls, Eina_Bool allow_inout, Eina_Bool is_vals)
|
parse_param(Eo_Lexer *ls, Eina_List **params, Eina_Bool allow_inout,
|
||||||
|
Eina_Bool is_vals)
|
||||||
{
|
{
|
||||||
Eolian_Function_Parameter *par = calloc(1, sizeof(Eolian_Function_Parameter));
|
Eolian_Function_Parameter *par = calloc(1, sizeof(Eolian_Function_Parameter));
|
||||||
par->base.file = eina_stringshare_ref(ls->filename);
|
par->base.file = eina_stringshare_ref(ls->filename);
|
||||||
par->base.line = ls->line_number;
|
par->base.line = ls->line_number;
|
||||||
par->base.column = ls->column;
|
par->base.column = ls->column;
|
||||||
ls->tmp.params = eina_list_append(ls->tmp.params, par);
|
*params = eina_list_append(*params, par);
|
||||||
if (allow_inout)
|
if (allow_inout)
|
||||||
{
|
{
|
||||||
if (ls->t.kw == KW_at_in)
|
if (ls->t.kw == KW_at_in)
|
||||||
|
@ -1309,9 +1310,10 @@ end:
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
parse_params(Eo_Lexer *ls, Eina_Bool allow_inout, Eina_Bool is_vals)
|
parse_params(Eo_Lexer *ls, Eina_List **params, Eina_Bool allow_inout,
|
||||||
|
Eina_Bool is_vals)
|
||||||
{
|
{
|
||||||
PARSE_SECTION parse_param(ls, allow_inout, is_vals);
|
PARSE_SECTION parse_param(ls, params, allow_inout, is_vals);
|
||||||
check_match(ls, '}', '{', line, col);
|
check_match(ls, '}', '{', line, col);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1381,15 +1383,11 @@ body:
|
||||||
break;
|
break;
|
||||||
case KW_keys:
|
case KW_keys:
|
||||||
CASE_LOCK(ls, keys, "keys definition")
|
CASE_LOCK(ls, keys, "keys definition")
|
||||||
parse_params(ls, EINA_FALSE, EINA_FALSE);
|
parse_params(ls, &prop->keys, EINA_FALSE, EINA_FALSE);
|
||||||
prop->keys = ls->tmp.params;
|
|
||||||
ls->tmp.params = NULL;
|
|
||||||
break;
|
break;
|
||||||
case KW_values:
|
case KW_values:
|
||||||
CASE_LOCK(ls, values, "values definition")
|
CASE_LOCK(ls, values, "values definition")
|
||||||
parse_params(ls, EINA_FALSE, EINA_TRUE);
|
parse_params(ls, &prop->params, EINA_FALSE, EINA_TRUE);
|
||||||
prop->params = ls->tmp.params;
|
|
||||||
ls->tmp.params = NULL;
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
goto end;
|
goto end;
|
||||||
|
@ -1495,9 +1493,7 @@ body:
|
||||||
break;
|
break;
|
||||||
case KW_params:
|
case KW_params:
|
||||||
CASE_LOCK(ls, params, "params definition")
|
CASE_LOCK(ls, params, "params definition")
|
||||||
parse_params(ls, EINA_TRUE, EINA_FALSE);
|
parse_params(ls, &meth->params, EINA_TRUE, EINA_FALSE);
|
||||||
meth->params = ls->tmp.params;
|
|
||||||
ls->tmp.params = NULL;
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
goto end;
|
goto end;
|
||||||
|
|
Loading…
Reference in New Issue