eolian: type -> typedef

This commit is contained in:
Daniel Kolesa 2014-06-27 10:55:54 +01:00
parent 74d0cbf29b
commit 2bdba6c850
5 changed files with 25 additions and 24 deletions

View File

@ -114,7 +114,7 @@ eo_definitions_impl_def_free(Eo_Implement_Def *impl)
}
void
eo_definitions_type_def_free(Eo_Type_Def *type)
eo_definitions_typedef_def_free(Eo_Typedef_Def *type)
{
if (type->alias)
eina_stringshare_del(type->alias);
@ -188,8 +188,8 @@ eo_definitions_temps_free(Eo_Lexer_Temps *tmp)
if (tmp->ret_def)
eo_definitions_ret_free(tmp->ret_def);
if (tmp->type_def)
eo_definitions_type_def_free(tmp->type_def);
if (tmp->typedef_def)
eo_definitions_typedef_def_free(tmp->typedef_def);
if (tmp->prop)
eo_definitions_property_def_free(tmp->prop);

View File

@ -124,11 +124,11 @@ typedef struct _eo_class_def
/* TYPE */
typedef struct _eo_type_def
typedef struct _eo_typedef_def
{
const char *alias;
Eolian_Type type;
} Eo_Type_Def;
} Eo_Typedef_Def;
/* TEMPS */
@ -139,7 +139,7 @@ typedef struct _Eo_Lexer_Temps
const char *legacy_def;
Eo_Class_Def *kls;
Eo_Ret_Def *ret_def;
Eo_Type_Def *type_def;
Eo_Typedef_Def *typedef_def;
Eo_Property_Def *prop;
Eo_Method_Def *meth;
Eo_Param_Def *param;
@ -152,7 +152,7 @@ typedef struct _Eo_Lexer_Temps
} Eo_Lexer_Temps;
void eo_definitions_class_def_free(Eo_Class_Def *kls);
void eo_definitions_type_def_free(Eo_Type_Def *type);
void eo_definitions_typedef_def_free(Eo_Typedef_Def *type);
void eo_definitions_temps_free(Eo_Lexer_Temps *tmp);
#endif /* __EO_DEFINITIONS_H__ */

View File

@ -311,7 +311,7 @@ eo_lexer_free(Eo_Lexer *ls)
eo_definitions_class_def_free(nd->def_class);
break;
case NODE_TYPEDEF:
eo_definitions_type_def_free(nd->def_type);
eo_definitions_typedef_def_free(nd->def_typedef);
break;
default:
break;

View File

@ -63,9 +63,9 @@ typedef struct _Eo_Node
{
unsigned char type;
union {
void *def;
Eo_Class_Def *def_class;
Eo_Type_Def *def_type;
void *def;
Eo_Class_Def *def_class;
Eo_Typedef_Def *def_typedef;
};
} Eo_Node;

View File

@ -234,13 +234,13 @@ parse_type(Eo_Lexer *ls, Eolian_Type type, Eina_Strbuf *sbuf)
static void
parse_typedef(Eo_Lexer *ls)
{
ls->tmp.type_def = calloc(1, sizeof(Eo_Type_Def));
ls->tmp.typedef_def = calloc(1, sizeof(Eo_Typedef_Def));
eo_lexer_get(ls);
check(ls, TOK_VALUE);
ls->tmp.type_def->alias = eina_stringshare_add(ls->t.value);
ls->tmp.typedef_def->alias = eina_stringshare_add(ls->t.value);
eo_lexer_get(ls);
test_next(ls, ':');
ls->tmp.type_def->type = parse_type(ls, NULL, NULL);
ls->tmp.typedef_def->type = parse_type(ls, NULL, NULL);
ls->tmp.type = NULL;
check_next(ls, ';');
}
@ -894,8 +894,8 @@ parse_unit(Eo_Lexer *ls, Eina_Bool eot)
case KW_type:
{
parse_typedef(ls);
append_node(ls, NODE_TYPEDEF, ls->tmp.type_def);
ls->tmp.type_def = NULL;
append_node(ls, NODE_TYPEDEF, ls->tmp.typedef_def);
ls->tmp.typedef_def = NULL;
break;
}
def:
@ -927,13 +927,14 @@ typedef struct
} _Parameter_Type;
static void
_print_type(FILE *f, _Parameter_Type *tp)
_print_type(FILE *f, Eolian_Type tp)
{
Eina_List *l;
Eolian_Type stp;
fprintf(f, "%s%s<", tp->name, tp->is_own ? "@own " : "");
EINA_LIST_FOREACH(tp->subtypes, l, stp)
_type_print(f, stp);
_Parameter_Type *tpp = (_Parameter_Type*)tp;
fprintf(f, "%s%s<", tpp->name, tpp->is_own ? "@own " : "");
EINA_LIST_FOREACH(tpp->subtypes, l, stp)
_print_type(f, stp);
fputc('>', f);
}
@ -1027,7 +1028,7 @@ _dump_class(Eo_Class_Def *kls)
}
static void
_dump_type(Eo_Type_Def *type)
_dump_type(Eo_Typedef_Def *type)
{
printf("Typedef: %s ", type->alias);
_print_type(stdout, type->type);
@ -1048,7 +1049,7 @@ eo_parser_dump(Eo_Lexer *ls)
_dump_class(nd->def_class);
break;
case NODE_TYPEDEF:
_dump_type(nd->def_type);
_dump_type(nd->def_typedef);
break;
default:
break;
@ -1266,7 +1267,7 @@ _db_fill_class(Eo_Class_Def *kls, const char *filename)
}
static Eina_Bool
_db_fill_type(Eo_Type_Def *type_def)
_db_fill_type(Eo_Typedef_Def *type_def)
{
database_type_add(type_def->alias, type_def->type);
type_def->type = NULL;
@ -1321,7 +1322,7 @@ nodeloop:
goto error;
break;
case NODE_TYPEDEF:
if (!_db_fill_type(nd->def_type))
if (!_db_fill_type(nd->def_typedef))
goto error;
break;
default: