eolian: type -> typedef
This commit is contained in:
parent
74d0cbf29b
commit
2bdba6c850
|
@ -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);
|
||||
|
|
|
@ -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__ */
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue