eolian: remove str_items from temps

This commit is contained in:
Daniel Kolesa 2014-09-12 15:04:18 +01:00
parent 87559458f2
commit 3d8069f226
3 changed files with 6 additions and 15 deletions

View File

@ -720,9 +720,6 @@ _temps_free(Eo_Lexer_Temps *tmp)
EINA_LIST_FREE(tmp->type_defs, tp)
database_type_del(tp);
EINA_LIST_FREE(tmp->str_items, s)
if (s) eina_stringshare_del(s);
EINA_LIST_FREE(tmp->strs, s)
if (s) eina_stringshare_del(s);

View File

@ -100,7 +100,6 @@ typedef struct _Eo_Lexer_Temps
Eina_List *classes;
Eina_List *str_bufs;
Eina_List *type_defs;
Eina_List *str_items;
Eina_List *expr_defs;
Eina_List *strs;
} Eo_Lexer_Temps;

View File

@ -176,22 +176,20 @@ parse_name(Eo_Lexer *ls, Eina_Strbuf *buf)
return buf;
}
static Eina_List *
parse_name_list(Eo_Lexer *ls)
static void
parse_name_list(Eo_Lexer *ls, Eina_List **out)
{
Eina_Strbuf *buf = push_strbuf(ls);
ls->tmp.str_items = NULL;
parse_name(ls, buf);
ls->tmp.str_items = eina_list_append(ls->tmp.str_items,
*out = eina_list_append(*out,
eina_stringshare_add(eina_strbuf_string_get(buf)));
while (test_next(ls, ','))
{
parse_name(ls, buf);
ls->tmp.str_items = eina_list_append(ls->tmp.str_items,
eina_stringshare_add(eina_strbuf_string_get(buf)));
*out = eina_list_append(*out,
eina_stringshare_add(eina_strbuf_string_get(buf)));
}
pop_strbuf(ls);
return ls->tmp.str_items;
}
#define NAMESPACE_PARSE(def, dname) \
@ -1853,10 +1851,7 @@ parse_class(Eo_Lexer *ls, Eolian_Class_Type type)
col = ls->column;
check_next(ls, '(');
if (ls->t.token != ')')
{
ls->tmp.kls->inherits = parse_name_list(ls);
ls->tmp.str_items = NULL;
}
parse_name_list(ls, &ls->tmp.kls->inherits);
check_match(ls, ')', '(', line, col);
}
line = ls->line_number;