void
database_type_add(Eolian_Unit *unit, Eolian_Typedecl *tp)
{
- eolian_object_add(&tp->base, tp->full_name, unit->state->unit.aliases);
- eolian_object_add(&tp->base, tp->full_name, unit->aliases);
+ EOLIAN_OBJECT_ADD(unit, tp->full_name, tp, aliases);
eina_hash_set(unit->state->aliases_f, tp->base.file, eina_list_append
((Eina_List*)eina_hash_find(unit->state->aliases_f, tp->base.file),
tp));
void
database_struct_add(Eolian_Unit *unit, Eolian_Typedecl *tp)
{
- eolian_object_add(&tp->base, tp->full_name, unit->state->unit.structs);
- eolian_object_add(&tp->base, tp->full_name, unit->structs);
+ EOLIAN_OBJECT_ADD(unit, tp->full_name, tp, structs);
eina_hash_set(unit->state->structs_f, tp->base.file, eina_list_append
((Eina_List*)eina_hash_find(unit->state->structs_f, tp->base.file), tp));
database_decl_add(unit, tp->full_name, EOLIAN_DECL_STRUCT, tp->base.file, tp);
void
database_enum_add(Eolian_Unit *unit, Eolian_Typedecl *tp)
{
- eolian_object_add(&tp->base, tp->full_name, unit->state->unit.enums);
- eolian_object_add(&tp->base, tp->full_name, unit->enums);
+ EOLIAN_OBJECT_ADD(unit, tp->full_name, tp, enums);
eina_hash_set(unit->state->enums_f, tp->base.file, eina_list_append
((Eina_List*)eina_hash_find(unit->state->enums_f, tp->base.file), tp));
database_decl_add(unit, tp->full_name, EOLIAN_DECL_ENUM, tp->base.file, tp);
static void
database_var_global_add(Eolian_Unit *unit, Eolian_Variable *var)
{
- eolian_object_add(&var->base, var->full_name, unit->state->unit.globals);
- eolian_object_add(&var->base, var->full_name, unit->globals);
+ EOLIAN_OBJECT_ADD(unit, var->full_name, var, globals);
eina_hash_set(unit->state->globals_f, var->base.file, eina_list_append
((Eina_List*)eina_hash_find(unit->state->globals_f, var->base.file), var));
database_decl_add(unit, var->full_name, EOLIAN_DECL_VAR, var->base.file, var);
static void
database_var_constant_add(Eolian_Unit *unit, Eolian_Variable *var)
{
- eolian_object_add(&var->base, var->full_name, unit->state->unit.constants);
- eolian_object_add(&var->base, var->full_name, unit->constants);
+ EOLIAN_OBJECT_ADD(unit, var->full_name, var, constants);
eina_hash_set(unit->state->constants_f, var->base.file, eina_list_append
((Eina_List*)eina_hash_find(unit->state->constants_f, var->base.file), var));
database_decl_add(unit, var->full_name, EOLIAN_DECL_VAR, var->base.file, var);
}
ls->tmp.kls = NULL;
- eolian_object_add(&cl->base, cl->full_name, ls->unit->classes);
- eolian_object_add(&cl->base, cl->full_name, ls->state->unit.classes);
+ EOLIAN_OBJECT_ADD(ls->unit, cl->full_name, cl, classes);
eina_hash_set(ls->state->classes_f, cl->base.file, cl);
done:
decl->type = type;
decl->name = name;
decl->data = ptr;
- eolian_object_add(&decl->base, name, unit->state->unit.decls);
- eolian_object_add(&decl->base, name, unit->decls);
+ EOLIAN_OBJECT_ADD(unit, name, decl, decls);
eina_hash_set(unit->state->decls_f, file, eina_list_append
((Eina_List*)eina_hash_find(unit->state->decls_f, file), decl));
}
eolian_object_ref(obj);
}
+#define EOLIAN_OBJECT_ADD(tunit, name, obj, memb) \
+{ \
+ eolian_object_add(&obj->base, name, tunit->state->unit.memb); \
+ eolian_object_add(&obj->base, name, tunit->memb); \
+}
+
struct _Eolian_Documentation
{
Eolian_Object base;