947 return_data_type = (symbol_c *)search_expression_type->compute_standard_function_default(NULL, symbol); |
947 return_data_type = (symbol_c *)search_expression_type->compute_standard_function_default(NULL, symbol); |
948 if (NULL == return_data_type) ERROR; |
948 if (NULL == return_data_type) ERROR; |
949 |
949 |
950 function_call_param_iterator_c function_call_param_iterator(symbol); |
950 function_call_param_iterator_c function_call_param_iterator(symbol); |
951 |
951 |
|
952 int nb_param = 0; |
|
953 if (symbol->il_param_list != NULL) |
|
954 nb_param += ((list_c *)symbol->il_param_list)->n; |
|
955 |
952 identifier_c en_param_name("EN"); |
956 identifier_c en_param_name("EN"); |
953 /* Get the value from EN param */ |
957 /* Get the value from EN param */ |
954 symbol_c *EN_param_value = function_call_param_iterator.search(&en_param_name); |
958 symbol_c *EN_param_value = function_call_param_iterator.search(&en_param_name); |
955 if (EN_param_value == NULL) |
959 if (EN_param_value == NULL) |
956 EN_param_value = (symbol_c*)(new boolean_literal_c((symbol_c*)(new bool_type_name_c()), new boolean_true_c())); |
960 EN_param_value = (symbol_c*)(new boolean_literal_c((symbol_c*)(new bool_type_name_c()), new boolean_true_c())); |
|
961 else |
|
962 nb_param --; |
957 ADD_PARAM_LIST(EN_param_value, (symbol_c*)(new bool_type_name_c()), function_param_iterator_c::direction_in) |
963 ADD_PARAM_LIST(EN_param_value, (symbol_c*)(new bool_type_name_c()), function_param_iterator_c::direction_in) |
958 |
964 |
959 identifier_c eno_param_name("EN0"); |
965 identifier_c eno_param_name("EN0"); |
960 /* Get the value from ENO param */ |
966 /* Get the value from ENO param */ |
961 symbol_c *ENO_param_value = function_call_param_iterator.search(&eno_param_name); |
967 symbol_c *ENO_param_value = function_call_param_iterator.search(&eno_param_name); |
|
968 if (ENO_param_value != NULL) |
|
969 nb_param --; |
962 ADD_PARAM_LIST(ENO_param_value, (symbol_c*)(new bool_type_name_c()), function_param_iterator_c::direction_out) |
970 ADD_PARAM_LIST(ENO_param_value, (symbol_c*)(new bool_type_name_c()), function_param_iterator_c::direction_out) |
963 |
971 |
964 int nb_param = 0; |
|
965 if (symbol->il_param_list != NULL) |
|
966 nb_param += ((list_c *)symbol->il_param_list)->n; |
|
967 |
|
968 #include "st_code_gen.c" |
972 #include "st_code_gen.c" |
969 |
973 |
970 } |
974 } |
971 else { |
975 else { |
972 /* determine the base data type returned by the function being called... */ |
976 /* determine the base data type returned by the function being called... */ |