/* ------- code automatically created by ../scripts/adms_build_object.pl -------------- */ #include #include inline void adms_evaluation_free(p_evaluation myevaluation) { if(!myevaluation) return; adms_slist_free(myevaluation->_variable); adms_global_increment_nbevaluationdestroy(); free(myevaluation); } int adms_evaluation_cmp (p_evaluation myevaluation,p_evaluation refevaluation) { int status; status = ( (adms_evaluation_valueof_module (myevaluation) != adms_evaluation_valueof_module (refevaluation)) ); return status; } p_evaluation adms_evaluation_new(p_module mymodule) { p_evaluation mynewevaluation=(p_evaluation) calloc(1,(size_t)sizeof(t_evaluation)); adms_global_increment_nbevaluationnew(); mynewevaluation->_adms._datatypename=adms_adms_enumeration_datatypename_evaluation; mynewevaluation->_adms._seen=adms_adms_enumeration_seen_no; mynewevaluation->_module_isdefault=-1; adms_evaluation_valueto_module (mynewevaluation,mymodule); mynewevaluation->_module_isdefault=1; mynewevaluation->_variable_isdefault=-1; return mynewevaluation; } p_adms adms_evaluation_new_impl (p_adms arguments[]) { p_evaluation mynewevaluation; p_module mymodule=(p_module)arguments[0]; mynewevaluation=adms_evaluation_new(mymodule); return adms_adms(mynewevaluation); } /*$1*/ char*adms_evaluation_uid (p_evaluation mynewevaluation) { char*myuid=NULL; char*myuid0=adms_module_uid(mynewevaluation->_module); adms_strconcat(&myuid,myuid0); return myuid; } inline void adms_evaluation_valueto_module (p_evaluation myevaluation,p_module _module) { myevaluation->_module=_module; myevaluation->_module_isdefault=0; } inline void adms_evaluation_valueto_variable (p_evaluation myevaluation,p_slist _variable) { myevaluation->_variable=_variable; myevaluation->_variable_isdefault=0; } p_variable adms_evaluation_list_variable_lookup_by_id (p_evaluation mymyevaluation,p_module mymodule,p_quark myname,p_adms myblock) { p_slist list=adms_evaluation_valueof_variable(mymyevaluation); while(list) { p_variable refvariable=adms_variable(list->data); if((adms_variable_valueof_module(refvariable)==mymodule)&& !strcmp(adms_variable_valueof_name(refvariable)->_value,myname->_value)&& (adms_variable_valueof_block(refvariable)==myblock)) return refvariable; list=list->next; } return NULL; } p_variable adms_evaluation_list_variable_prepend_by_id (p_evaluation mymyevaluation,p_module mymodule,p_quark myname,p_adms myblock) { p_variable refvariable=adms_variable_new(mymodule,myname,myblock); adms_slist_push(&adms_evaluation_valueof_variable(mymyevaluation),adms_adms(refvariable)); return refvariable; } p_variable adms_evaluation_list_variable_prepend_by_id_once_or_ignore (p_evaluation mymyevaluation,p_module mymodule,p_quark myname,p_adms myblock) { p_slist list=adms_evaluation_valueof_variable(mymyevaluation); p_variable refvariable=adms_variable_new(mymodule,myname,myblock); while(list) { if(!adms_variable_cmp(adms_variable(list->data),refvariable)) { adms_variable_free (refvariable); return adms_variable(list->data); } list=list->next; } adms_slist_push(&adms_evaluation_valueof_variable(mymyevaluation),adms_adms(refvariable)); return refvariable; } void adms_evaluation_list_variable_prepend_once_or_ignore (p_evaluation mymyevaluation,p_variable myvariable) { p_slist list=adms_evaluation_valueof_variable(mymyevaluation); while(list) { if(!adms_variable_cmp(adms_variable(list->data),myvariable)) return; list=list->next; } adms_slist_push(&adms_evaluation_valueof_variable(mymyevaluation),adms_adms(myvariable)); }