database_type_add(Eolian_Unit *unit, Eolian_Typedecl *tp)
{
EOLIAN_OBJECT_ADD(unit, tp->base.name, tp, aliases);
- eina_hash_set(unit->state->main.aliases_f, tp->base.file, eina_list_append
- ((Eina_List*)eina_hash_find(unit->state->main.aliases_f, tp->base.file),
+ eina_hash_set(unit->state->staging.aliases_f, tp->base.file, eina_list_append
+ ((Eina_List*)eina_hash_find(unit->state->staging.aliases_f, tp->base.file),
tp));
database_object_add(unit, &tp->base);
}
database_struct_add(Eolian_Unit *unit, Eolian_Typedecl *tp)
{
EOLIAN_OBJECT_ADD(unit, tp->base.name, tp, structs);
- eina_hash_set(unit->state->main.structs_f, tp->base.file, eina_list_append
- ((Eina_List*)eina_hash_find(unit->state->main.structs_f, tp->base.file), tp));
+ eina_hash_set(unit->state->staging.structs_f, tp->base.file, eina_list_append
+ ((Eina_List*)eina_hash_find(unit->state->staging.structs_f, tp->base.file), tp));
database_object_add(unit, &tp->base);
}
database_enum_add(Eolian_Unit *unit, Eolian_Typedecl *tp)
{
EOLIAN_OBJECT_ADD(unit, tp->base.name, tp, enums);
- eina_hash_set(unit->state->main.enums_f, tp->base.file, eina_list_append
- ((Eina_List*)eina_hash_find(unit->state->main.enums_f, tp->base.file), tp));
+ eina_hash_set(unit->state->staging.enums_f, tp->base.file, eina_list_append
+ ((Eina_List*)eina_hash_find(unit->state->staging.enums_f, tp->base.file), tp));
database_object_add(unit, &tp->base);
}
database_var_global_add(Eolian_Unit *unit, Eolian_Variable *var)
{
EOLIAN_OBJECT_ADD(unit, var->base.name, var, globals);
- eina_hash_set(unit->state->main.globals_f, var->base.file, eina_list_append
- ((Eina_List*)eina_hash_find(unit->state->main.globals_f, var->base.file), var));
+ eina_hash_set(unit->state->staging.globals_f, var->base.file, eina_list_append
+ ((Eina_List*)eina_hash_find(unit->state->staging.globals_f, var->base.file), var));
}
static void
database_var_constant_add(Eolian_Unit *unit, Eolian_Variable *var)
{
EOLIAN_OBJECT_ADD(unit, var->base.name, var, constants);
- eina_hash_set(unit->state->main.constants_f, var->base.file, eina_list_append
- ((Eina_List*)eina_hash_find(unit->state->main.constants_f, var->base.file), var));
+ eina_hash_set(unit->state->staging.constants_f, var->base.file, eina_list_append
+ ((Eina_List*)eina_hash_find(unit->state->staging.constants_f, var->base.file), var));
}
void
}
ls->unit = ncunit;
database_unit_init(state, ncunit, ls->filename);
- eina_hash_add(state->main.units, ls->filename, ncunit);
+ eina_hash_add(state->staging.units, ls->filename, ncunit);
if (ls->current != 0xEF)
return;
fname = eina_stringshare_add(filename);
Eolian_Unit *ret = eina_hash_find(parent->state->main.units, fname);
+ if (!ret)
+ ret = eina_hash_find(parent->state->staging.units, fname);
if (ret)
{
}
ls->klass = NULL;
EOLIAN_OBJECT_ADD(ls->unit, cl->base.name, cl, classes);
- eina_hash_set(ls->state->main.classes_f, cl->base.file, cl);
+ eina_hash_set(ls->state->staging.classes_f, cl->base.file, cl);
eo_lexer_node_release(ls, &cl->base);
done:
/* object storage */
eina_hash_add(unit->objects, obj->name, obj);
eina_hash_add(unit->state->staging.unit.objects, obj->name, obj);
- eina_hash_set(unit->state->main.objects_f, obj->file, eina_list_append
- ((Eina_List *)eina_hash_find(unit->state->main.objects_f, obj->file), obj));
+ eina_hash_set(unit->state->staging.objects_f, obj->file, eina_list_append
+ ((Eina_List *)eina_hash_find(unit->state->staging.objects_f, obj->file), obj));
}
EAPI Eolian_Object_Type