q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a1646ff61d42bd38c1b51db607c6d44b8d17cb7d
commit a1646ff61d42bd38c1b51db607c6d44b8d17cb7d Author: Daniel Kolesa <d.kol...@samsung.com> Date: Fri Sep 12 13:40:46 2014 +0100 eolian: remove eo_definitions --- src/Makefile_Eolian.am | 2 -- src/lib/eolian/database_type_api.c | 1 - src/lib/eolian/database_var_api.c | 1 - src/lib/eolian/eo_definitions.c | 35 ----------------------------------- src/lib/eolian/eo_definitions.h | 25 ------------------------- src/lib/eolian/eo_lexer.c | 33 ++++++++++++++++++++++++++++++++- src/lib/eolian/eo_lexer.h | 15 ++++++++++++++- 7 files changed, 46 insertions(+), 66 deletions(-) diff --git a/src/Makefile_Eolian.am b/src/Makefile_Eolian.am index 03b4cb3..c1461c2 100644 --- a/src/Makefile_Eolian.am +++ b/src/Makefile_Eolian.am @@ -7,8 +7,6 @@ installed_eolianmainheadersdir = $(includedir)/eolian-@VMAJ@ dist_installed_eolianmainheaders_DATA = lib/eolian/Eolian.h lib_eolian_libeolian_la_SOURCES = \ - lib/eolian/eo_definitions.c \ - lib/eolian/eo_definitions.h \ lib/eolian/eo_lexer.c \ lib/eolian/eo_lexer.h \ lib/eolian/eo_parser.c \ diff --git a/src/lib/eolian/database_type_api.c b/src/lib/eolian/database_type_api.c index f874ea8..9d9ac65 100644 --- a/src/lib/eolian/database_type_api.c +++ b/src/lib/eolian/database_type_api.c @@ -1,6 +1,5 @@ #include <Eina.h> #include "eolian_database.h" -#include "eo_definitions.h" EAPI const Eolian_Type * eolian_type_alias_get_by_name(const char *name) diff --git a/src/lib/eolian/database_var_api.c b/src/lib/eolian/database_var_api.c index 1cd37ab..a65edb2 100644 --- a/src/lib/eolian/database_var_api.c +++ b/src/lib/eolian/database_var_api.c @@ -1,6 +1,5 @@ #include <Eina.h> #include "eolian_database.h" -#include "eo_definitions.h" EAPI const Eolian_Variable * eolian_variable_global_get_by_name(const char *name) diff --git a/src/lib/eolian/eo_definitions.c b/src/lib/eolian/eo_definitions.c deleted file mode 100644 index beae132..0000000 --- a/src/lib/eolian/eo_definitions.c +++ /dev/null @@ -1,35 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -#include "eo_definitions.h" - -void -eo_definitions_temps_free(Eo_Lexer_Temps *tmp) -{ - Eina_Strbuf *buf; - Eolian_Type *tp; - Eolian_Variable *var; - Eolian_Class *cl; - const char *s; - - EINA_LIST_FREE(tmp->str_bufs, buf) - eina_strbuf_free(buf); - - if (tmp->kls) - database_class_del(tmp->kls); - - EINA_LIST_FREE(tmp->type_defs, tp) - database_type_del(tp); - - EINA_LIST_FREE(tmp->var_defs, var) - database_var_del(var); - - 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); - - EINA_LIST_FREE(tmp->classes, cl) - database_class_del(cl); -} diff --git a/src/lib/eolian/eo_definitions.h b/src/lib/eolian/eo_definitions.h deleted file mode 100644 index cc1193b..0000000 --- a/src/lib/eolian/eo_definitions.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef __EO_DEFINITIONS_H__ -#define __EO_DEFINITIONS_H__ - -#include <Eina.h> -#include <Eolian.h> - -#include "eolian_database.h" - -/* TEMPS */ - -typedef struct _Eo_Lexer_Temps -{ - Eolian_Class *kls; - Eina_List *classes; - Eina_List *str_bufs; - Eina_List *type_defs; - Eina_List *var_defs; - Eina_List *str_items; - Eina_List *expr_defs; - Eina_List *strs; -} Eo_Lexer_Temps; - -void eo_definitions_temps_free(Eo_Lexer_Temps *tmp); - -#endif /* __EO_DEFINITIONS_H__ */ diff --git a/src/lib/eolian/eo_lexer.c b/src/lib/eolian/eo_lexer.c index 781937a..6f41535 100644 --- a/src/lib/eolian/eo_lexer.c +++ b/src/lib/eolian/eo_lexer.c @@ -700,6 +700,37 @@ eo_lexer_set_input(Eo_Lexer *ls, const char *source) next_char(ls); } +static void +_temps_free(Eo_Lexer_Temps *tmp) +{ + Eina_Strbuf *buf; + Eolian_Type *tp; + Eolian_Variable *var; + Eolian_Class *cl; + const char *s; + + EINA_LIST_FREE(tmp->str_bufs, buf) + eina_strbuf_free(buf); + + if (tmp->kls) + database_class_del(tmp->kls); + + EINA_LIST_FREE(tmp->type_defs, tp) + database_type_del(tp); + + EINA_LIST_FREE(tmp->var_defs, var) + database_var_del(var); + + 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); + + EINA_LIST_FREE(tmp->classes, cl) + database_class_del(cl); +} + void eo_lexer_free(Eo_Lexer *ls) { @@ -710,7 +741,7 @@ eo_lexer_free(Eo_Lexer *ls) if (ls->handle ) eina_file_close (ls->handle); eo_lexer_context_clear(ls); - eo_definitions_temps_free(&ls->tmp); + _temps_free(&ls->tmp); free(ls); } diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h index b406515..b5c49e4 100644 --- a/src/lib/eolian/eo_lexer.h +++ b/src/lib/eolian/eo_lexer.h @@ -5,7 +5,8 @@ #include <Eina.h> #include <Eolian.h> -#include "eo_definitions.h" + +#include "eolian_database.h" /* a token is an int, custom tokens start at this - single-char tokens are * simply represented by their ascii */ @@ -92,6 +93,18 @@ typedef struct _Lexer_Ctx const char *linestr; } Lexer_Ctx; +typedef struct _Eo_Lexer_Temps +{ + Eolian_Class *kls; + Eina_List *classes; + Eina_List *str_bufs; + Eina_List *type_defs; + Eina_List *var_defs; + Eina_List *str_items; + Eina_List *expr_defs; + Eina_List *strs; +} Eo_Lexer_Temps; + /* keeps all lexer state */ typedef struct _Eo_Lexer { --