/* ------- code automatically created by ../scripts/adms_build_object.pl -------------- */ #include #include inline void adms_range_free(p_range myrange) { if(!myrange) return; adms_quark_free(myrange->_name); adms_quark_free(myrange->_infboundtype); adms_quark_free(myrange->_supboundtype); adms_enumeration_free(myrange->_type); adms_global_increment_nbrangedestroy(); free(myrange); } int adms_range_cmp (p_range myrange,p_range refrange) { int status; status = ( (adms_range_valueof_module (myrange) != adms_range_valueof_module (refrange)) || (adms_range_valueof_infexpr (myrange) != adms_range_valueof_infexpr (refrange)) || (adms_range_valueof_supexpr (myrange) != adms_range_valueof_supexpr (refrange)) ); return status; } p_range adms_range_new(p_module mymodule,p_expression myinfexpr,p_expression mysupexpr) { p_range mynewrange=(p_range) calloc(1,(size_t)sizeof(t_range)); adms_global_increment_nbrangenew(); mynewrange->_adms._datatypename=adms_adms_enumeration_datatypename_range; mynewrange->_adms._seen=adms_adms_enumeration_seen_no; mynewrange->_module_isdefault=-1; adms_range_valueto_module (mynewrange,mymodule); mynewrange->_module_isdefault=1; mynewrange->_infexpr_isdefault=-1; adms_range_valueto_infexpr (mynewrange,myinfexpr); mynewrange->_infexpr_isdefault=1; mynewrange->_supexpr_isdefault=-1; adms_range_valueto_supexpr (mynewrange,mysupexpr); mynewrange->_supexpr_isdefault=1; mynewrange->_name_isdefault=-1; mynewrange->_infboundtype_isdefault=-1; mynewrange->_supboundtype_isdefault=-1; mynewrange->_type_isdefault=-1; adms_range_valueto_type(mynewrange,adms_enumeration_new(adms_range_enumeration_type_include,adms_range_fromstring_type_impl,adms_range_tostring_type_impl)); mynewrange->_type_isdefault=1; return mynewrange; } p_adms adms_range_new_impl (p_adms arguments[]) { p_range mynewrange; p_module mymodule=(p_module)arguments[0]; p_expression myinfexpr=(p_expression)arguments[1]; p_expression mysupexpr=(p_expression)arguments[2]; mynewrange=adms_range_new(mymodule,myinfexpr,mysupexpr); return adms_adms(mynewrange); } /*$2-$3*/ char*adms_range_uid (p_range mynewrange) { char*myuid=NULL; char*myuid0=adms_expression_uid(mynewrange->_infexpr); char*myuid1=adms_expression_uid(mynewrange->_supexpr); adms_strconcat(&myuid,myuid0); adms_strconcat2(&myuid,"-"); adms_strconcat(&myuid,myuid1); return myuid; } inline void adms_range_valueto_module (p_range myrange,p_module _module) { myrange->_module=_module; myrange->_module_isdefault=0; } inline void adms_range_valueto_infexpr (p_range myrange,p_expression _infexpr) { myrange->_infexpr=_infexpr; myrange->_infexpr_isdefault=0; } inline void adms_range_valueto_supexpr (p_range myrange,p_expression _supexpr) { myrange->_supexpr=_supexpr; myrange->_supexpr_isdefault=0; } inline void adms_range_valueto_name (p_range myrange,p_quark _name) { if(myrange->_name_isdefault!=-1) adms_quark_free(myrange->_name); myrange->_name=_name; myrange->_name_isdefault=0; } inline void adms_range_valueto_infboundtype (p_range myrange,p_quark _infboundtype) { if(myrange->_infboundtype_isdefault!=-1) adms_quark_free(myrange->_infboundtype); myrange->_infboundtype=_infboundtype; myrange->_infboundtype_isdefault=0; } inline void adms_range_valueto_supboundtype (p_range myrange,p_quark _supboundtype) { if(myrange->_supboundtype_isdefault!=-1) adms_quark_free(myrange->_supboundtype); myrange->_supboundtype=_supboundtype; myrange->_supboundtype_isdefault=0; } inline void adms_range_valueto_type (p_range myrange,p_enumeration _type) { myrange->_type=_type; myrange->_type_isdefault=0; } e_range_type adms_range_fromstring_type_impl (p_admsttransform myadmsttransform,char*token) { if(!strcmp(token,"exclude")) return adms_range_enumeration_type_exclude; if(!strcmp(token,"include")) return adms_range_enumeration_type_include; adms_message_fatal_continue(("select='range/type': possible values:\n")) adms_message_fatal_continue(("exclude|include\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return 0; } char* adms_range_tostring_type_impl (p_admsttransform myadmsttransform,p_enumeration myenumeration) { e_range_type e=myenumeration->_value; if(e==adms_range_enumeration_type_exclude) return "exclude"; if(e==adms_range_enumeration_type_include) return "include"; adms_message_fatal_continue(("select='range/type': possible values:\n")) adms_message_fatal_continue(("exclude|include\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return NULL; }