787 |
787 |
788 if (NULL == prev_il_instruction) return NULL; |
788 if (NULL == prev_il_instruction) return NULL; |
789 ((list_c *)symbol->il_operand_list)->insert_element(prev_il_instruction, 0); |
789 ((list_c *)symbol->il_operand_list)->insert_element(prev_il_instruction, 0); |
790 |
790 |
791 generic_function_call_t fcall_param = { |
791 generic_function_call_t fcall_param = { |
792 /* fcall_param.function_name = */ symbol->function_name, |
792 /* fcall_param.function_name = */ symbol->function_name, |
793 /* fcall_param.nonformal_operand_list = */ symbol->il_operand_list, |
793 /* fcall_param.nonformal_operand_list = */ symbol->il_operand_list, |
794 /* fcall_param.formal_operand_list = */ NULL, |
794 /* fcall_param.formal_operand_list = */ NULL, |
795 /* fcall_param.candidate_functions = */ symbol->candidate_functions, |
795 /* enum {POU_FB, POU_function} POU_type = */ generic_function_call_t::POU_function, |
796 /* fcall_param.called_function_declaration = */ symbol->called_function_declaration, |
796 /* fcall_param.candidate_functions = */ symbol->candidate_functions, |
797 /* fcall_param.extensible_param_count = */ symbol->extensible_param_count |
797 /* fcall_param.called_function_declaration = */ symbol->called_function_declaration, |
|
798 /* fcall_param.extensible_param_count = */ symbol->extensible_param_count |
798 }; |
799 }; |
799 handle_function_call(symbol, fcall_param); |
800 handle_function_call(symbol, fcall_param); |
800 |
801 |
801 if (debug) std::cout << "il_function_call_c [" << symbol->candidate_datatypes.size() << "] result.\n"; |
802 if (debug) std::cout << "il_function_call_c [" << symbol->candidate_datatypes.size() << "] result.\n"; |
802 return NULL; |
803 return NULL; |
881 // SYM_REF2(il_formal_funct_call_c, function_name, il_param_list, symbol_c *called_function_declaration; int extensible_param_count;) |
882 // SYM_REF2(il_formal_funct_call_c, function_name, il_param_list, symbol_c *called_function_declaration; int extensible_param_count;) |
882 void *fill_candidate_datatypes_c::visit(il_formal_funct_call_c *symbol) { |
883 void *fill_candidate_datatypes_c::visit(il_formal_funct_call_c *symbol) { |
883 symbol->il_param_list->accept(*this); |
884 symbol->il_param_list->accept(*this); |
884 |
885 |
885 generic_function_call_t fcall_param = { |
886 generic_function_call_t fcall_param = { |
886 /* fcall_param.function_name = */ symbol->function_name, |
887 /* fcall_param.function_name = */ symbol->function_name, |
887 /* fcall_param.nonformal_operand_list = */ NULL, |
888 /* fcall_param.nonformal_operand_list = */ NULL, |
888 /* fcall_param.formal_operand_list = */ symbol->il_param_list, |
889 /* fcall_param.formal_operand_list = */ symbol->il_param_list, |
889 /* fcall_param.candidate_functions = */ symbol->candidate_functions, |
890 /* enum {POU_FB, POU_function} POU_type = */ generic_function_call_t::POU_function, |
890 /* fcall_param.called_function_declaration = */ symbol->called_function_declaration, |
891 /* fcall_param.candidate_functions = */ symbol->candidate_functions, |
891 /* fcall_param.extensible_param_count = */ symbol->extensible_param_count |
892 /* fcall_param.called_function_declaration = */ symbol->called_function_declaration, |
|
893 /* fcall_param.extensible_param_count = */ symbol->extensible_param_count |
892 }; |
894 }; |
893 handle_function_call(symbol, fcall_param); |
895 handle_function_call(symbol, fcall_param); |
894 |
896 |
895 if (debug) std::cout << "il_formal_funct_call_c [" << symbol->candidate_datatypes.size() << "] result.\n"; |
897 if (debug) std::cout << "il_formal_funct_call_c [" << symbol->candidate_datatypes.size() << "] result.\n"; |
896 return NULL; |
898 return NULL; |
1889 if (NULL != symbol->formal_param_list) symbol-> formal_param_list->accept(*this); |
1891 if (NULL != symbol->formal_param_list) symbol-> formal_param_list->accept(*this); |
1890 else if (NULL != symbol->nonformal_param_list) symbol->nonformal_param_list->accept(*this); |
1892 else if (NULL != symbol->nonformal_param_list) symbol->nonformal_param_list->accept(*this); |
1891 else ERROR; |
1893 else ERROR; |
1892 |
1894 |
1893 generic_function_call_t fcall_param = { |
1895 generic_function_call_t fcall_param = { |
1894 /* fcall_param.function_name = */ symbol->function_name, |
1896 /* fcall_param.function_name = */ symbol->function_name, |
1895 /* fcall_param.nonformal_operand_list = */ symbol->nonformal_param_list, |
1897 /* fcall_param.nonformal_operand_list = */ symbol->nonformal_param_list, |
1896 /* fcall_param.formal_operand_list = */ symbol->formal_param_list, |
1898 /* fcall_param.formal_operand_list = */ symbol->formal_param_list, |
1897 /* fcall_param.candidate_functions = */ symbol->candidate_functions, |
1899 /* enum {POU_FB, POU_function} POU_type = */ generic_function_call_t::POU_function, |
1898 /* fcall_param.called_function_declaration = */ symbol->called_function_declaration, |
1900 /* fcall_param.candidate_functions = */ symbol->candidate_functions, |
1899 /* fcall_param.extensible_param_count = */ symbol->extensible_param_count |
1901 /* fcall_param.called_function_declaration = */ symbol->called_function_declaration, |
|
1902 /* fcall_param.extensible_param_count = */ symbol->extensible_param_count |
1900 }; |
1903 }; |
1901 handle_function_call(symbol, fcall_param); |
1904 handle_function_call(symbol, fcall_param); |
1902 |
1905 |
1903 if (debug) std::cout << "function_invocation_c [" << symbol->candidate_datatypes.size() << "] result.\n"; |
1906 if (debug) std::cout << "function_invocation_c [" << symbol->candidate_datatypes.size() << "] result.\n"; |
1904 return NULL; |
1907 return NULL; |