eolian: less messy initialization checks
authorDaniel Kolesa <d.kolesa@samsung.com>
Fri, 12 Sep 2014 13:20:52 +0000 (14:20 +0100)
committerDaniel Kolesa <d.kolesa@samsung.com>
Fri, 12 Sep 2014 13:20:52 +0000 (14:20 +0100)
src/lib/eolian/database_type.c
src/lib/eolian/database_var.c
src/lib/eolian/eolian_database.c
src/lib/eolian/eolian_database.h

index b74f080495ea5f0c794ad50f1b900a6f00a7dcf7..884e50121d4e0d1543cdd9b2b8dcc55e6de93763 100644 (file)
@@ -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
index 0b0b1d9f1e79c45c73d3e88911ab2e7cc6fd03a2..69d15a3a3313588c9e31eb1784e9c31ca79305b8 100644 (file)
@@ -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);
 }
index 3ef0955efa8dc324a312b5c1af5ce61880d3122e..5bae78d03c06b5b3c9f3616b77c8881579405231 100644 (file)
@@ -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();
 }
index bb487f092b49a4c5a01a19ba59710bc78d5504c8..6777e5aa7e826df1069ea2063949205195304b1d 100644 (file)
@@ -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);