462 if (current_function_type == function_none) ERROR; |
462 if (current_function_type == function_none) ERROR; |
463 |
463 |
464 symbol_c *function_return_type = search_expression_type->get_type(symbol); |
464 symbol_c *function_return_type = search_expression_type->get_type(symbol); |
465 |
465 |
466 function_call_param_iterator_c function_call_param_iterator(symbol); |
466 function_call_param_iterator_c function_call_param_iterator(symbol); |
|
467 |
|
468 int nb_param = ((list_c *)symbol->parameter_assignment_list)->n; |
467 |
469 |
468 identifier_c en_param_name("EN"); |
470 identifier_c en_param_name("EN"); |
469 /* Get the value from EN param */ |
471 /* Get the value from EN param */ |
470 symbol_c *EN_param_value = function_call_param_iterator.search(&en_param_name); |
472 symbol_c *EN_param_value = function_call_param_iterator.search(&en_param_name); |
471 if (EN_param_value == NULL) |
473 if (EN_param_value == NULL) |
472 EN_param_value = (symbol_c*)(new boolean_literal_c((symbol_c*)(new bool_type_name_c()), new boolean_true_c())); |
474 EN_param_value = (symbol_c*)(new boolean_literal_c((symbol_c*)(new bool_type_name_c()), new boolean_true_c())); |
|
475 else |
|
476 nb_param --; |
473 ADD_PARAM_LIST(EN_param_value, (symbol_c*)(new bool_type_name_c()), function_param_iterator_c::direction_in) |
477 ADD_PARAM_LIST(EN_param_value, (symbol_c*)(new bool_type_name_c()), function_param_iterator_c::direction_in) |
474 |
478 |
475 identifier_c eno_param_name("ENO"); |
479 identifier_c eno_param_name("ENO"); |
476 /* Get the value from ENO param */ |
480 /* Get the value from ENO param */ |
477 symbol_c *ENO_param_value = function_call_param_iterator.search(&eno_param_name); |
481 symbol_c *ENO_param_value = function_call_param_iterator.search(&eno_param_name); |
|
482 if (ENO_param_value != NULL) |
|
483 nb_param --; |
478 ADD_PARAM_LIST(ENO_param_value, (symbol_c*)(new bool_type_name_c()), function_param_iterator_c::direction_out) |
484 ADD_PARAM_LIST(ENO_param_value, (symbol_c*)(new bool_type_name_c()), function_param_iterator_c::direction_out) |
479 |
|
480 int nb_param = ((list_c *)symbol->parameter_assignment_list)->n; |
|
481 |
485 |
482 #include "st_code_gen.c" |
486 #include "st_code_gen.c" |
483 |
487 |
484 } |
488 } |
485 else { |
489 else { |