diff options
Diffstat (limited to 'eo_tokenizer.rl')
-rw-r--r-- | eo_tokenizer.rl | 98 |
1 files changed, 2 insertions, 96 deletions
diff --git a/eo_tokenizer.rl b/eo_tokenizer.rl index a80dfc5..7235c0e 100644 --- a/eo_tokenizer.rl +++ b/eo_tokenizer.rl @@ -565,103 +565,9 @@ eo_tokenizer_dump(Eo_Tokenizer *toknz) printf("\n"); } } - } - -} - -static void -_eo_tokenizer_ret_free(Eo_Ret_Def *ret) -{ - if (ret->type) eina_stringshare_del(ret->type); - if (ret->comment) eina_stringshare_del(ret->comment); - /* do not free */ -} - -static void -_eo_tokenizer_param_free(Eo_Param_Def *param) -{ - if (param->type) eina_stringshare_del(param->type); - if (param->name) eina_stringshare_del(param->name); - if (param->comment) eina_stringshare_del(param->comment); - free(param); -} - -static void -_eo_tokenizer_accessor_free(Eo_Accessor_Def *accessor) -{ - const char *s; - Eina_List *l; - - if (accessor->comment) - eina_stringshare_del(accessor->comment); - - EINA_LIST_FOREACH(accessor->legacies, l, s) - if (s) eina_stringshare_del(s); - - _eo_tokenizer_ret_free(&accessor->ret); - - free(accessor); -} - -static void -_eo_tokenizer_property_def_free(Eo_Property_Def *prop) -{ - Eo_Param_Def *param; - Eo_Accessor_Def *accessor; - - if (prop->name) - eina_stringshare_del(prop->name); - - EINA_LIST_FREE(prop->params, param) - _eo_tokenizer_param_free(param); - - EINA_LIST_FREE(prop->accessors, accessor) - _eo_tokenizer_accessor_free(accessor); - - free(prop); -} - -static void -_eo_tokenizer_method_def_free(Eo_Method_Def *meth) -{ - Eo_Param_Def *param; - - _eo_tokenizer_ret_free(&meth->ret); - - if (meth->name) - eina_stringshare_del(meth->name); - if (meth->comment) - eina_stringshare_del(meth->comment); - EINA_LIST_FREE(meth->params, param) - _eo_tokenizer_param_free(param); - - free(meth); -} - -static void -_eo_tokenizer_class_def_free(Eo_Class_Def *kls) -{ - const char *s; - Eina_List *l; - Eo_Property_Def *prop; - Eo_Method_Def *meth; - - if (kls->name) - eina_stringshare_del(kls->name); - if (kls->comment) - eina_stringshare_del(kls->comment); - - EINA_LIST_FOREACH(kls->inherits, l, s) - if (s) eina_stringshare_del(s); - - EINA_LIST_FREE(kls->properties, prop) - _eo_tokenizer_property_def_free(prop); - - EINA_LIST_FREE(kls->methods, meth) - _eo_tokenizer_method_def_free(meth); + } - free(kls); } void @@ -673,7 +579,7 @@ eo_tokenizer_free(Eo_Tokenizer *toknz) eina_stringshare_del(toknz->source); EINA_LIST_FREE(toknz->classes, kls) - _eo_tokenizer_class_def_free(kls); + eo_definitions_class_def_free(kls); free(toknz); } |