diff --git a/src/lib/eolian/database_type.c b/src/lib/eolian/database_type.c index b74f080495..884e50121d 100644 --- a/src/lib/eolian/database_type.c +++ b/src/lib/eolian/database_type.c @@ -41,32 +41,28 @@ database_typedef_del(Eolian_Type *tp) database_type_del(tp); } -Eina_Bool +void database_type_add(Eolian_Type *def) { - if (!_aliases) return EINA_FALSE; eina_hash_set(_aliases, def->full_name, def); eina_hash_set(_aliasesf, def->base.file, eina_list_append ((Eina_List*)eina_hash_find(_aliasesf, def->base.file), def)); - return EINA_TRUE; } -Eina_Bool database_struct_add(Eolian_Type *tp) +void +database_struct_add(Eolian_Type *tp) { - if (!_structs) return EINA_FALSE; eina_hash_set(_structs, tp->full_name, tp); eina_hash_set(_structsf, tp->base.file, eina_list_append ((Eina_List*)eina_hash_find(_structsf, tp->base.file), tp)); - return EINA_TRUE; } -Eina_Bool database_enum_add(Eolian_Type *tp) +void +database_enum_add(Eolian_Type *tp) { - if (!_enums) return EINA_FALSE; eina_hash_set(_enums, tp->full_name, tp); eina_hash_set(_enumsf, tp->base.file, eina_list_append ((Eina_List*)eina_hash_find(_enumsf, tp->base.file), tp)); - return EINA_TRUE; } static void diff --git a/src/lib/eolian/database_var.c b/src/lib/eolian/database_var.c index 0b0b1d9f1e..69d15a3a33 100644 --- a/src/lib/eolian/database_var.c +++ b/src/lib/eolian/database_var.c @@ -18,30 +18,27 @@ database_var_del(Eolian_Variable *var) free(var); } -static Eina_Bool +static void database_var_global_add(Eolian_Variable *var) { - if (!_globals) return EINA_FALSE; eina_hash_set(_globals, var->full_name, var); eina_hash_set(_globalsf, var->base.file, eina_list_append ((Eina_List*)eina_hash_find(_globalsf, var->base.file), var)); - return EINA_TRUE; } -static Eina_Bool +static void database_var_constant_add(Eolian_Variable *var) { - if (!_constants) return EINA_FALSE; eina_hash_set(_constants, var->full_name, var); eina_hash_set(_constantsf, var->base.file, eina_list_append ((Eina_List*)eina_hash_find(_constantsf, var->base.file), var)); - return EINA_TRUE; } -Eina_Bool +void database_var_add(Eolian_Variable *var) { if (var->type == EOLIAN_VAR_GLOBAL) - return database_var_global_add(var); - return database_var_constant_add(var); + database_var_global_add(var); + else + database_var_constant_add(var); } diff --git a/src/lib/eolian/eolian_database.c b/src/lib/eolian/eolian_database.c index 3ef0955efa..5bae78d03c 100644 --- a/src/lib/eolian/eolian_database.c +++ b/src/lib/eolian/eolian_database.c @@ -201,6 +201,8 @@ database_class_name_validate(const char *class_name, const Eolian_Class **cl) EAPI Eina_Bool eolian_eot_file_parse(const char *filepath) { + if (_database_init_count <= 0) + return EINA_FALSE; return eo_parser_database_fill(filepath, EINA_TRUE); } @@ -210,6 +212,10 @@ eolian_eo_file_parse(const char *filepath) Eina_Iterator *itr; Eina_List *depl; Eolian_Dependency *dep; + + if (_database_init_count <= 0) + return EINA_FALSE; + char *bfiledup = strdup(filepath); char *bfilename = basename(bfiledup); const Eolian_Class *class = eolian_class_get_by_file(bfilename); @@ -317,6 +323,10 @@ EAPI Eina_Bool eolian_all_eot_files_parse() { Eina_Bool ret = EINA_TRUE; + + if (_database_init_count <= 0) + return EINA_FALSE; + eina_hash_foreach(_tfilenames, _tfile_parse, &ret); return ret; } @@ -332,6 +342,10 @@ EAPI Eina_Bool eolian_all_eo_files_parse() { Eina_Bool ret = EINA_TRUE; + + if (_database_init_count <= 0) + return EINA_FALSE; + eina_hash_foreach(_filenames, _file_parse, &ret); return ret; } @@ -339,5 +353,8 @@ eolian_all_eo_files_parse() EAPI Eina_Bool eolian_database_validate(void) { + if (_database_init_count <= 0) + return EINA_FALSE; + return database_validate(); } diff --git a/src/lib/eolian/eolian_database.h b/src/lib/eolian/eolian_database.h index bb487f092b..6777e5aa7e 100644 --- a/src/lib/eolian/eolian_database.h +++ b/src/lib/eolian/eolian_database.h @@ -249,9 +249,9 @@ Eina_Bool database_class_name_validate(const char *class_name, const Eolian_Clas /* types */ -Eina_Bool database_type_add(Eolian_Type *def); -Eina_Bool database_struct_add(Eolian_Type *tp); -Eina_Bool database_enum_add(Eolian_Type *tp); +void database_type_add(Eolian_Type *def); +void database_struct_add(Eolian_Type *tp); +void database_enum_add(Eolian_Type *tp); void database_type_del(Eolian_Type *tp); void database_typedef_del(Eolian_Type *tp); @@ -267,7 +267,7 @@ void database_expr_print(Eolian_Expression *expr); /* variables */ void database_var_del(Eolian_Variable *var); -Eina_Bool database_var_add(Eolian_Variable *var); +void database_var_add(Eolian_Variable *var); /* classes */ void database_class_del(Eolian_Class *cl);