diff -r 225db59fe6fe -r bea932bc60b0 stage4/generate_c/il_code_gen.c --- a/stage4/generate_c/il_code_gen.c Mon Jan 19 08:28:04 2009 +0100 +++ b/stage4/generate_c/il_code_gen.c Mon Jan 19 17:06:22 2009 +0100 @@ -44,9 +44,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; @@ -75,9 +78,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; @@ -106,9 +112,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; @@ -137,10 +146,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__real_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; function_type_prefix = return_type_symbol; @@ -169,9 +181,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; @@ -200,10 +215,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__real_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; function_type_prefix = return_type_symbol; @@ -232,10 +250,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__real_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; function_type_prefix = return_type_symbol; @@ -264,9 +285,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; @@ -295,9 +319,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; @@ -326,10 +353,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__real_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; function_type_prefix = return_type_symbol; @@ -358,9 +388,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; @@ -389,9 +422,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; @@ -420,9 +456,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; function_type_prefix = return_type_symbol; @@ -451,9 +490,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; @@ -482,9 +524,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; @@ -513,9 +558,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; @@ -544,9 +592,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; function_type_prefix = return_type_symbol; @@ -575,10 +626,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__real_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; function_type_prefix = return_type_symbol; @@ -607,9 +661,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; @@ -638,9 +695,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; function_type_prefix = return_type_symbol; @@ -669,9 +729,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; @@ -700,9 +763,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; @@ -731,10 +797,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; function_type_prefix = return_type_symbol; @@ -763,9 +832,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; @@ -794,10 +866,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; function_type_prefix = return_type_symbol; @@ -826,10 +901,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; function_type_prefix = return_type_symbol; @@ -858,9 +936,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; @@ -889,9 +970,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; @@ -920,10 +1004,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__sint_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; function_type_prefix = return_type_symbol; @@ -952,9 +1039,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; @@ -983,9 +1073,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; @@ -1014,9 +1107,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; function_type_prefix = return_type_symbol; @@ -1045,9 +1141,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; @@ -1076,9 +1175,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; @@ -1107,9 +1209,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; @@ -1138,9 +1243,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; function_type_prefix = return_type_symbol; @@ -1169,10 +1277,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; function_type_prefix = return_type_symbol; @@ -1201,9 +1312,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; @@ -1232,9 +1346,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; function_type_prefix = return_type_symbol; @@ -1263,9 +1380,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; @@ -1294,9 +1414,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; @@ -1325,10 +1448,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; function_type_prefix = return_type_symbol; @@ -1357,9 +1483,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; @@ -1388,10 +1517,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; function_type_prefix = return_type_symbol; @@ -1420,10 +1552,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; function_type_prefix = return_type_symbol; @@ -1452,9 +1587,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; @@ -1483,9 +1621,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; @@ -1514,10 +1655,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__sint_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; function_type_prefix = return_type_symbol; @@ -1546,9 +1690,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; @@ -1577,9 +1724,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; @@ -1608,9 +1758,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; function_type_prefix = return_type_symbol; @@ -1639,9 +1792,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; @@ -1670,9 +1826,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; @@ -1701,9 +1860,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; @@ -1732,9 +1894,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; function_type_prefix = return_type_symbol; @@ -1763,10 +1928,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; function_type_prefix = return_type_symbol; @@ -1795,9 +1963,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; @@ -1826,9 +1997,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; function_type_prefix = return_type_symbol; @@ -1857,9 +2031,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; @@ -1888,9 +2065,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; @@ -1919,10 +2099,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; function_type_prefix = return_type_symbol; @@ -1951,9 +2134,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; @@ -1982,10 +2168,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; function_type_prefix = return_type_symbol; @@ -2014,10 +2203,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; function_type_prefix = return_type_symbol; @@ -2046,9 +2238,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; @@ -2077,9 +2272,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; @@ -2108,10 +2306,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__sint_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; function_type_prefix = return_type_symbol; @@ -2140,9 +2341,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; @@ -2171,9 +2375,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; @@ -2202,9 +2409,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; function_type_prefix = return_type_symbol; @@ -2233,9 +2443,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; @@ -2264,9 +2477,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; @@ -2295,9 +2511,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; @@ -2326,9 +2545,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; function_type_prefix = return_type_symbol; @@ -2357,10 +2579,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; function_type_prefix = return_type_symbol; @@ -2389,9 +2614,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; @@ -2420,10 +2648,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_real")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; function_type_prefix = return_type_symbol; @@ -2452,10 +2683,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; @@ -2484,10 +2718,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; @@ -2516,10 +2753,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; @@ -2548,10 +2788,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; @@ -2580,10 +2823,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; @@ -2612,10 +2858,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; @@ -2644,10 +2893,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__date_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; function_type_prefix = return_type_symbol; @@ -2676,10 +2928,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; @@ -2708,10 +2963,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; @@ -2740,10 +2998,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_real")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; function_type_prefix = return_type_symbol; @@ -2772,10 +3033,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; @@ -2804,10 +3068,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; @@ -2836,10 +3103,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; @@ -2868,10 +3138,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; @@ -2900,9 +3173,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; function_type_prefix = return_type_symbol; @@ -2931,9 +3207,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; @@ -2962,9 +3241,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; @@ -2993,9 +3275,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; @@ -3024,10 +3309,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; function_type_prefix = return_type_symbol; @@ -3056,10 +3344,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; function_type_prefix = return_type_symbol; @@ -3088,10 +3379,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; function_type_prefix = return_type_symbol; @@ -3120,9 +3414,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; @@ -3151,9 +3448,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; @@ -3182,10 +3482,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__bit_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; function_type_prefix = return_type_symbol; @@ -3214,9 +3517,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; @@ -3245,9 +3551,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; @@ -3276,9 +3585,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; function_type_prefix = return_type_symbol; @@ -3307,9 +3619,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; @@ -3338,9 +3653,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; @@ -3369,9 +3687,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; @@ -3400,9 +3721,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; function_type_prefix = return_type_symbol; @@ -3431,10 +3755,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; function_type_prefix = return_type_symbol; @@ -3463,9 +3790,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; @@ -3494,10 +3824,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_real")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; function_type_prefix = return_type_symbol; @@ -3526,10 +3859,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; @@ -3558,10 +3894,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; @@ -3590,10 +3929,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; @@ -3622,10 +3964,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; @@ -3654,10 +3999,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; @@ -3686,10 +4034,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; @@ -3718,10 +4069,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__dt_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; function_type_prefix = return_type_symbol; @@ -3750,10 +4104,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; @@ -3782,10 +4139,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; @@ -3814,10 +4174,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_real")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; function_type_prefix = return_type_symbol; @@ -3846,10 +4209,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; @@ -3878,10 +4244,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; @@ -3910,10 +4279,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; @@ -3942,10 +4314,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; @@ -3974,10 +4349,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_real")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; function_type_prefix = return_type_symbol; @@ -4006,10 +4384,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; @@ -4038,10 +4419,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; @@ -4070,10 +4454,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; @@ -4102,10 +4489,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; @@ -4134,10 +4524,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; @@ -4166,10 +4559,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; @@ -4198,10 +4594,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__tod_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; function_type_prefix = return_type_symbol; @@ -4230,10 +4629,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; @@ -4262,10 +4664,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; @@ -4294,10 +4699,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_real")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; function_type_prefix = return_type_symbol; @@ -4326,10 +4734,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; @@ -4358,10 +4769,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; @@ -4390,10 +4804,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; @@ -4422,10 +4839,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; @@ -4454,9 +4874,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; function_type_prefix = return_type_symbol; @@ -4485,9 +4908,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; @@ -4516,9 +4942,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; @@ -4547,9 +4976,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; @@ -4578,10 +5010,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; function_type_prefix = return_type_symbol; @@ -4610,9 +5045,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; @@ -4641,10 +5079,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; function_type_prefix = return_type_symbol; @@ -4673,10 +5114,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; function_type_prefix = return_type_symbol; @@ -4705,9 +5149,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; @@ -4736,10 +5183,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__uint_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; function_type_prefix = return_type_symbol; @@ -4768,9 +5218,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; @@ -4799,9 +5252,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; @@ -4830,9 +5286,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; function_type_prefix = return_type_symbol; @@ -4861,9 +5320,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; @@ -4892,9 +5354,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; @@ -4923,9 +5388,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; @@ -4954,9 +5422,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; function_type_prefix = return_type_symbol; @@ -4985,10 +5456,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; function_type_prefix = return_type_symbol; @@ -5017,9 +5491,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; @@ -5048,9 +5525,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; function_type_prefix = return_type_symbol; @@ -5079,9 +5559,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; @@ -5110,9 +5593,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; @@ -5141,9 +5627,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; @@ -5172,10 +5661,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; function_type_prefix = return_type_symbol; @@ -5204,9 +5696,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; @@ -5235,10 +5730,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; function_type_prefix = return_type_symbol; @@ -5267,10 +5765,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; function_type_prefix = return_type_symbol; @@ -5299,9 +5800,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; @@ -5330,10 +5834,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__bit_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; function_type_prefix = return_type_symbol; @@ -5362,9 +5869,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; @@ -5393,9 +5903,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; @@ -5424,9 +5937,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; function_type_prefix = return_type_symbol; @@ -5455,9 +5971,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; @@ -5486,9 +6005,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; @@ -5517,9 +6039,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; @@ -5548,9 +6073,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; function_type_prefix = return_type_symbol; @@ -5579,10 +6107,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; function_type_prefix = return_type_symbol; @@ -5611,9 +6142,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; @@ -5642,10 +6176,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__string_to_real")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; function_type_prefix = return_type_symbol; @@ -5674,10 +6211,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__string_to_sint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; @@ -5706,10 +6246,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__string_to_sint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; @@ -5738,10 +6281,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__string_to_sint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; @@ -5770,10 +6316,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__string_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; function_type_prefix = return_type_symbol; @@ -5802,10 +6351,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__string_to_bit")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; @@ -5834,10 +6386,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__string_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; function_type_prefix = return_type_symbol; @@ -5866,10 +6421,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__string_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; function_type_prefix = return_type_symbol; @@ -5898,10 +6456,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__string_to_uint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; @@ -5930,10 +6491,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__string_to_bit")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; @@ -5962,10 +6526,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__string_to_bit")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; @@ -5994,10 +6561,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__string_to_uint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; @@ -6026,10 +6596,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__string_to_real")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; function_type_prefix = return_type_symbol; @@ -6058,10 +6631,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__string_to_bit")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; @@ -6090,10 +6666,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__string_to_uint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; @@ -6122,10 +6701,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__string_to_uint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; @@ -6154,10 +6736,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__string_to_bool")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; function_type_prefix = return_type_symbol; @@ -6186,10 +6771,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__string_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; function_type_prefix = return_type_symbol; @@ -6218,10 +6806,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__string_to_sint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; @@ -6250,9 +6841,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; function_type_prefix = return_type_symbol; @@ -6281,9 +6875,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; @@ -6312,9 +6909,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; @@ -6343,9 +6943,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; @@ -6374,10 +6977,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; function_type_prefix = return_type_symbol; @@ -6406,9 +7012,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; @@ -6437,10 +7046,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; function_type_prefix = return_type_symbol; @@ -6469,10 +7081,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; function_type_prefix = return_type_symbol; @@ -6501,9 +7116,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; @@ -6532,9 +7150,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; @@ -6563,10 +7184,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__bit_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; function_type_prefix = return_type_symbol; @@ -6595,9 +7219,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; @@ -6626,9 +7253,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; function_type_prefix = return_type_symbol; @@ -6657,9 +7287,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; @@ -6688,9 +7321,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; @@ -6719,9 +7355,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; @@ -6750,9 +7389,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; function_type_prefix = return_type_symbol; @@ -6781,10 +7423,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; function_type_prefix = return_type_symbol; @@ -6813,9 +7458,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; @@ -6844,9 +7492,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; function_type_prefix = return_type_symbol; @@ -6875,9 +7526,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; @@ -6906,9 +7560,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; @@ -6937,9 +7594,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; @@ -6968,10 +7628,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; function_type_prefix = return_type_symbol; @@ -7000,9 +7663,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; @@ -7031,10 +7697,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; function_type_prefix = return_type_symbol; @@ -7063,10 +7732,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; function_type_prefix = return_type_symbol; @@ -7095,9 +7767,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; @@ -7126,9 +7801,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; @@ -7157,10 +7835,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__uint_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; function_type_prefix = return_type_symbol; @@ -7189,9 +7870,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; @@ -7220,9 +7904,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; function_type_prefix = return_type_symbol; @@ -7251,9 +7938,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; @@ -7282,9 +7972,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; @@ -7313,9 +8006,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; @@ -7344,9 +8040,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; function_type_prefix = return_type_symbol; @@ -7375,10 +8074,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; function_type_prefix = return_type_symbol; @@ -7407,9 +8109,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; @@ -7438,9 +8143,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; function_type_prefix = return_type_symbol; @@ -7469,9 +8177,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; @@ -7500,9 +8211,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; @@ -7531,9 +8245,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; @@ -7562,10 +8279,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__real_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; function_type_prefix = return_type_symbol; @@ -7594,9 +8314,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; @@ -7625,10 +8348,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__real_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; function_type_prefix = return_type_symbol; @@ -7657,10 +8383,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__real_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; function_type_prefix = return_type_symbol; @@ -7689,9 +8418,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; @@ -7720,9 +8452,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; @@ -7751,10 +8486,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__real_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; function_type_prefix = return_type_symbol; @@ -7783,9 +8521,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; @@ -7814,9 +8555,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; @@ -7845,9 +8589,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; @@ -7876,9 +8623,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; @@ -7907,9 +8657,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; @@ -7938,9 +8691,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; function_type_prefix = return_type_symbol; @@ -7969,10 +8725,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__real_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; function_type_prefix = return_type_symbol; @@ -8001,9 +8760,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; @@ -8032,9 +8794,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; function_type_prefix = return_type_symbol; @@ -8063,9 +8828,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; @@ -8094,9 +8862,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; @@ -8125,9 +8896,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; @@ -8156,10 +8930,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; function_type_prefix = return_type_symbol; @@ -8188,9 +8965,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; @@ -8219,10 +8999,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; function_type_prefix = return_type_symbol; @@ -8251,10 +9034,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; function_type_prefix = return_type_symbol; @@ -8283,9 +9069,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; @@ -8314,9 +9103,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; @@ -8345,10 +9137,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__bit_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; function_type_prefix = return_type_symbol; @@ -8377,9 +9172,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; @@ -8408,9 +9206,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; @@ -8439,9 +9240,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; function_type_prefix = return_type_symbol; @@ -8470,9 +9274,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; @@ -8501,9 +9308,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; @@ -8532,9 +9342,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; function_type_prefix = return_type_symbol; @@ -8563,10 +9376,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; function_type_prefix = return_type_symbol; @@ -8595,9 +9411,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; @@ -8626,9 +9445,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; function_type_prefix = return_type_symbol; @@ -8657,9 +9479,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; @@ -8688,9 +9513,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; @@ -8719,9 +9547,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; @@ -8750,10 +9581,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; function_type_prefix = return_type_symbol; @@ -8782,9 +9616,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; @@ -8813,10 +9650,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; function_type_prefix = return_type_symbol; @@ -8845,10 +9685,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; function_type_prefix = return_type_symbol; @@ -8877,9 +9720,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; @@ -8908,9 +9754,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; @@ -8939,10 +9788,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__uint_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; function_type_prefix = return_type_symbol; @@ -8971,9 +9823,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; @@ -9002,9 +9857,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; @@ -9033,9 +9891,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; function_type_prefix = return_type_symbol; @@ -9064,9 +9925,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; @@ -9095,9 +9959,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; @@ -9126,9 +9993,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; function_type_prefix = return_type_symbol; @@ -9157,10 +10027,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; function_type_prefix = return_type_symbol; @@ -9189,9 +10062,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; @@ -9220,9 +10096,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; function_type_prefix = return_type_symbol; @@ -9251,9 +10130,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; @@ -9282,9 +10164,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; @@ -9313,9 +10198,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; @@ -9344,10 +10232,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; function_type_prefix = return_type_symbol; @@ -9376,9 +10267,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; @@ -9407,10 +10301,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; function_type_prefix = return_type_symbol; @@ -9439,10 +10336,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; function_type_prefix = return_type_symbol; @@ -9471,9 +10371,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; @@ -9502,9 +10405,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; @@ -9533,10 +10439,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__uint_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; function_type_prefix = return_type_symbol; @@ -9565,9 +10474,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; @@ -9596,9 +10508,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; @@ -9627,9 +10542,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; function_type_prefix = return_type_symbol; @@ -9658,9 +10576,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; @@ -9689,9 +10610,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; @@ -9720,9 +10644,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; function_type_prefix = return_type_symbol; @@ -9751,10 +10678,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; function_type_prefix = return_type_symbol; @@ -9783,9 +10713,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; @@ -9814,9 +10747,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; function_type_prefix = return_type_symbol; @@ -9845,9 +10781,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; @@ -9876,9 +10815,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; @@ -9907,9 +10849,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; @@ -9938,10 +10883,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; function_type_prefix = return_type_symbol; @@ -9970,9 +10918,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; @@ -10001,10 +10952,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; function_type_prefix = return_type_symbol; @@ -10033,10 +10987,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; function_type_prefix = return_type_symbol; @@ -10065,9 +11022,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; @@ -10096,9 +11056,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; @@ -10127,10 +11090,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__bool_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; function_type_prefix = return_type_symbol; @@ -10159,9 +11125,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; @@ -10190,9 +11159,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; @@ -10221,9 +11193,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; function_type_prefix = return_type_symbol; @@ -10252,9 +11227,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; @@ -10283,9 +11261,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; @@ -10314,9 +11295,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; @@ -10345,10 +11329,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; function_type_prefix = return_type_symbol; @@ -10377,9 +11364,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; @@ -10408,10 +11398,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_real")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; function_type_prefix = return_type_symbol; @@ -10440,10 +11433,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; @@ -10472,10 +11468,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; @@ -10504,10 +11503,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; @@ -10536,10 +11538,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; @@ -10568,10 +11573,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; @@ -10600,10 +11608,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; @@ -10632,10 +11643,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; function_type_prefix = return_type_symbol; @@ -10664,10 +11678,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; @@ -10696,10 +11713,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; @@ -10728,10 +11748,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_real")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; function_type_prefix = return_type_symbol; @@ -10760,10 +11783,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; @@ -10792,10 +11818,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; @@ -10824,10 +11853,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; @@ -10856,10 +11888,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; @@ -10888,9 +11923,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; function_type_prefix = return_type_symbol; @@ -10919,9 +11957,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; @@ -10950,9 +11991,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; @@ -10981,9 +12025,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; @@ -11012,10 +12059,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; function_type_prefix = return_type_symbol; @@ -11044,9 +12094,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; @@ -11075,10 +12128,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; function_type_prefix = return_type_symbol; @@ -11107,10 +12163,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; function_type_prefix = return_type_symbol; @@ -11139,9 +12198,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; @@ -11170,9 +12232,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; @@ -11201,10 +12266,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__sint_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; function_type_prefix = return_type_symbol; @@ -11233,9 +12301,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; @@ -11264,9 +12335,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; @@ -11295,9 +12369,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; function_type_prefix = return_type_symbol; @@ -11326,9 +12403,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; @@ -11357,9 +12437,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; @@ -11388,9 +12471,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; @@ -11419,9 +12505,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; function_type_prefix = return_type_symbol; @@ -11450,10 +12539,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; function_type_prefix = return_type_symbol; @@ -11482,9 +12574,12 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_real_type(IN_type_symbol)) - { - + if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) + { + + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name; function_type_prefix = (symbol_c*)(new pragma_c("int")); @@ -11513,10 +12608,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__bcd_to_uint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; @@ -11545,10 +12643,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__bcd_to_uint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; @@ -11577,10 +12678,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__bcd_to_uint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; @@ -11609,10 +12713,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__bcd_to_uint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; @@ -11641,10 +12748,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__uint_to_bcd")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name; function_type_prefix = return_type_symbol; @@ -11673,10 +12783,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__uint_to_bcd")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name; function_type_prefix = return_type_symbol; @@ -11705,10 +12818,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__uint_to_bcd")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name; function_type_prefix = return_type_symbol; @@ -11737,10 +12853,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__uint_to_bcd")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name; function_type_prefix = return_type_symbol; @@ -11769,10 +12888,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__date_and_time_to_time_of_day")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; break; @@ -11800,10 +12922,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__date_and_time_to_date")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; break; @@ -11831,10 +12956,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_num_type(IN_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_num_type(IN_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__abs_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; function_type_suffix = IN_type_symbol; @@ -11863,10 +12991,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_real_type(IN_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__sqrt_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; function_type_suffix = IN_type_symbol; @@ -11895,10 +13026,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_real_type(IN_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__ln_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; function_type_suffix = IN_type_symbol; @@ -11927,10 +13061,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_real_type(IN_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__log_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; function_type_suffix = IN_type_symbol; @@ -11959,10 +13096,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_real_type(IN_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__exp_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; function_type_suffix = IN_type_symbol; @@ -11991,10 +13131,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_real_type(IN_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__sin_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; function_type_suffix = IN_type_symbol; @@ -12023,10 +13166,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_real_type(IN_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__cos_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; function_type_suffix = IN_type_symbol; @@ -12055,10 +13201,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_real_type(IN_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__tan_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; function_type_suffix = IN_type_symbol; @@ -12087,10 +13236,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_real_type(IN_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__asin_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; function_type_suffix = IN_type_symbol; @@ -12119,10 +13271,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_real_type(IN_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__acos_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; function_type_suffix = IN_type_symbol; @@ -12151,10 +13306,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_real_type(IN_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__atan_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; function_type_suffix = IN_type_symbol; @@ -12183,29 +13341,40 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_num_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_num_type(IN2_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__add_")); + if (nb_param < 2) + nb_param = 2; char* nb_param_str = new char[10]; sprintf(nb_param_str, "%d", nb_param); ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) int base_num = 3; @@ -12242,25 +13411,34 @@ } - if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_add")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; break; @@ -12273,25 +13451,34 @@ } - if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_add")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; break; @@ -12304,25 +13491,34 @@ } - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_add")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; break; @@ -12356,29 +13552,40 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_num_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_num_type(IN2_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__mul_")); + if (nb_param < 2) + nb_param = 2; char* nb_param_str = new char[10]; sprintf(nb_param_str, "%d", nb_param); ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) int base_num = 3; @@ -12415,25 +13622,34 @@ } - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_num_type(IN2_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_mul")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; break; @@ -12467,25 +13683,34 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_num_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_num_type(IN2_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__sub_")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = last_type_symbol; function_type_suffix = return_type_symbol; @@ -12499,25 +13724,34 @@ } - if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; break; @@ -12530,36 +13764,51 @@ } - if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; break; } - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; break; @@ -12572,36 +13821,51 @@ } - if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; break; } - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; break; @@ -12614,25 +13878,34 @@ } - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; break; @@ -12666,25 +13939,34 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_num_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_num_type(IN2_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__div_")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = last_type_symbol; function_type_suffix = return_type_symbol; @@ -12698,25 +13980,34 @@ } - if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_num_type(IN2_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_div")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; break; @@ -12750,25 +14041,34 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_num_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_num_type(IN2_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__mod_")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = last_type_symbol; function_type_suffix = return_type_symbol; @@ -12803,25 +14103,34 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_real_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_real_type(IN1_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_num_type(IN2_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__expt_")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = last_type_symbol; function_type_suffix = IN1_type_symbol; @@ -12860,6 +14169,9 @@ { function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = last_type_symbol; function_type_suffix = return_type_symbol; @@ -12888,25 +14200,34 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_binary_type(IN_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol)) { { identifier_c param_name("N"); /* Get the value from a foo( = ) style call */ symbol_c *N_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *N_type_symbol = NULL; /* Get the value from a foo() style call */ if (N_param_value == NULL) N_param_value = function_call_param_iterator.next(); - symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ; - - if(search_expression_type->is_integer_type(N_type_symbol)) + if (N_param_value != NULL) { + N_type_symbol = search_expression_type->get_type(N_param_value); + last_type_symbol = last_type_symbol && N_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ; + } + + if(N_type_symbol == NULL || search_expression_type->is_integer_type(N_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__shl_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + + if (N_type_symbol == NULL) + N_type_symbol = last_type_symbol; ADD_PARAM_LIST(N_param_value, N_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; function_type_suffix = IN_type_symbol; @@ -12941,25 +14262,34 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_binary_type(IN_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol)) { { identifier_c param_name("N"); /* Get the value from a foo( = ) style call */ symbol_c *N_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *N_type_symbol = NULL; /* Get the value from a foo() style call */ if (N_param_value == NULL) N_param_value = function_call_param_iterator.next(); - symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ; - - if(search_expression_type->is_integer_type(N_type_symbol)) + if (N_param_value != NULL) { + N_type_symbol = search_expression_type->get_type(N_param_value); + last_type_symbol = last_type_symbol && N_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ; + } + + if(N_type_symbol == NULL || search_expression_type->is_integer_type(N_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__shr_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + + if (N_type_symbol == NULL) + N_type_symbol = last_type_symbol; ADD_PARAM_LIST(N_param_value, N_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; function_type_suffix = IN_type_symbol; @@ -12994,25 +14324,34 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_nbinary_type(IN_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_nbinary_type(IN_type_symbol)) { { identifier_c param_name("N"); /* Get the value from a foo( = ) style call */ symbol_c *N_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *N_type_symbol = NULL; /* Get the value from a foo() style call */ if (N_param_value == NULL) N_param_value = function_call_param_iterator.next(); - symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ; - - if(search_expression_type->is_integer_type(N_type_symbol)) + if (N_param_value != NULL) { + N_type_symbol = search_expression_type->get_type(N_param_value); + last_type_symbol = last_type_symbol && N_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ; + } + + if(N_type_symbol == NULL || search_expression_type->is_integer_type(N_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__ror_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + + if (N_type_symbol == NULL) + N_type_symbol = last_type_symbol; ADD_PARAM_LIST(N_param_value, N_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; function_type_suffix = IN_type_symbol; @@ -13047,25 +14386,34 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_nbinary_type(IN_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_nbinary_type(IN_type_symbol)) { { identifier_c param_name("N"); /* Get the value from a foo( = ) style call */ symbol_c *N_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *N_type_symbol = NULL; /* Get the value from a foo() style call */ if (N_param_value == NULL) N_param_value = function_call_param_iterator.next(); - symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ; - - if(search_expression_type->is_integer_type(N_type_symbol)) + if (N_param_value != NULL) { + N_type_symbol = search_expression_type->get_type(N_param_value); + last_type_symbol = last_type_symbol && N_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ; + } + + if(N_type_symbol == NULL || search_expression_type->is_integer_type(N_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__rol_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + + if (N_type_symbol == NULL) + N_type_symbol = last_type_symbol; ADD_PARAM_LIST(N_param_value, N_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; function_type_suffix = IN_type_symbol; @@ -13100,29 +14448,40 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_binary_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_binary_type(IN2_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_binary_type(IN2_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__and_")); + if (nb_param < 2) + nb_param = 2; char* nb_param_str = new char[10]; sprintf(nb_param_str, "%d", nb_param); ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) int base_num = 3; @@ -13180,29 +14539,40 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_binary_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_binary_type(IN2_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_binary_type(IN2_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__or_")); + if (nb_param < 2) + nb_param = 2; char* nb_param_str = new char[10]; sprintf(nb_param_str, "%d", nb_param); ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) int base_num = 3; @@ -13260,29 +14630,40 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_binary_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_binary_type(IN2_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_binary_type(IN2_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__xor_")); + if (nb_param < 2) + nb_param = 2; char* nb_param_str = new char[10]; sprintf(nb_param_str, "%d", nb_param); ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) int base_num = 3; @@ -13340,10 +14721,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_binary_type(IN_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__not_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; function_type_suffix = return_type_symbol; @@ -13372,19 +14756,22 @@ symbol_c *G_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) + if(G_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { { identifier_c param_name("IN0"); /* Get the value from a foo( = ) style call */ symbol_c *IN0_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN0_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN0_param_value == NULL) IN0_param_value = function_call_param_iterator.next(); - symbol_c *IN0_type_symbol = search_expression_type->get_type(IN0_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ; + if (IN0_param_value != NULL) { + IN0_type_symbol = search_expression_type->get_type(IN0_param_value); + last_type_symbol = last_type_symbol && IN0_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ; + } { @@ -13393,19 +14780,31 @@ identifier_c param_name("IN1"); /* Get the value from a foo( = ) style call */ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN1_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN1_param_value == NULL) IN1_param_value = function_call_param_iterator.next(); - symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ; + if (IN1_param_value != NULL) { + IN1_type_symbol = search_expression_type->get_type(IN1_param_value); + last_type_symbol = last_type_symbol && IN1_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ; + } { function_name = (symbol_c*)(new pragma_c("__sel_")); + + if (G_type_symbol == NULL) + G_type_symbol = last_type_symbol; ADD_PARAM_LIST(G_param_value, G_type_symbol, function_param_iterator_c::direction_in) + + if (IN0_type_symbol == NULL) + IN0_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN0_param_value, IN0_type_symbol, function_param_iterator_c::direction_in) + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = last_type_symbol; function_type_suffix = IN0_type_symbol; @@ -13453,22 +14852,33 @@ identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } { function_name = (symbol_c*)(new pragma_c("__max_")); + if (nb_param < 2) + nb_param = 2; char* nb_param_str = new char[10]; sprintf(nb_param_str, "%d", nb_param); ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) int base_num = 3; @@ -13533,22 +14943,33 @@ identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } { function_name = (symbol_c*)(new pragma_c("__min_")); + if (nb_param < 2) + nb_param = 2; char* nb_param_str = new char[10]; sprintf(nb_param_str, "%d", nb_param); ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) int base_num = 3; @@ -13613,12 +15034,15 @@ identifier_c param_name("IN"); /* Get the value from a foo( = ) style call */ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN_param_value == NULL) IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } { @@ -13627,19 +15051,31 @@ identifier_c param_name("MX"); /* Get the value from a foo( = ) style call */ symbol_c *MX_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *MX_type_symbol = NULL; /* Get the value from a foo() style call */ if (MX_param_value == NULL) MX_param_value = function_call_param_iterator.next(); - symbol_c *MX_type_symbol = search_expression_type->get_type(MX_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(MX_type_symbol, last_type_symbol) ? search_expression_type->common_type(MX_type_symbol, last_type_symbol) : MX_type_symbol ; + if (MX_param_value != NULL) { + MX_type_symbol = search_expression_type->get_type(MX_param_value); + last_type_symbol = last_type_symbol && MX_type_symbol && search_expression_type->is_same_type(MX_type_symbol, last_type_symbol) ? search_expression_type->common_type(MX_type_symbol, last_type_symbol) : MX_type_symbol ; + } { function_name = (symbol_c*)(new pragma_c("__limit_")); + + if (MN_type_symbol == NULL) + MN_type_symbol = last_type_symbol; ADD_PARAM_LIST(MN_param_value, MN_type_symbol, function_param_iterator_c::direction_in) + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + + if (MX_type_symbol == NULL) + MX_type_symbol = last_type_symbol; ADD_PARAM_LIST(MX_param_value, MX_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; function_type_suffix = IN_type_symbol; @@ -13680,19 +15116,22 @@ symbol_c *K_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_integer_type(K_type_symbol)) + if(K_type_symbol == NULL || search_expression_type->is_integer_type(K_type_symbol)) { { identifier_c param_name("IN0"); /* Get the value from a foo( = ) style call */ symbol_c *IN0_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN0_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN0_param_value == NULL) IN0_param_value = function_call_param_iterator.next(); - symbol_c *IN0_type_symbol = search_expression_type->get_type(IN0_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ; + if (IN0_param_value != NULL) { + IN0_type_symbol = search_expression_type->get_type(IN0_param_value); + last_type_symbol = last_type_symbol && IN0_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ; + } { @@ -13701,23 +15140,37 @@ identifier_c param_name("IN1"); /* Get the value from a foo( = ) style call */ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN1_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN1_param_value == NULL) IN1_param_value = function_call_param_iterator.next(); - symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ; + if (IN1_param_value != NULL) { + IN1_type_symbol = search_expression_type->get_type(IN1_param_value); + last_type_symbol = last_type_symbol && IN1_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ; + } { function_name = (symbol_c*)(new pragma_c("__mux_")); + if (nb_param < 3) + nb_param = 3; char* nb_param_str = new char[10]; sprintf(nb_param_str, "%d", nb_param); ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) + + if (K_type_symbol == NULL) + K_type_symbol = last_type_symbol; ADD_PARAM_LIST(K_param_value, K_type_symbol, function_param_iterator_c::direction_in) + + if (IN0_type_symbol == NULL) + IN0_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN0_param_value, IN0_type_symbol, function_param_iterator_c::direction_in) + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) int base_num = 2; @@ -13788,22 +15241,33 @@ identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } { function_name = (symbol_c*)(new pragma_c("__gt_")); + if (nb_param < 2) + nb_param = 2; char* nb_param_str = new char[10]; sprintf(nb_param_str, "%d", nb_param); ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) int base_num = 3; @@ -13868,22 +15332,33 @@ identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } { function_name = (symbol_c*)(new pragma_c("__ge_")); + if (nb_param < 2) + nb_param = 2; char* nb_param_str = new char[10]; sprintf(nb_param_str, "%d", nb_param); ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) int base_num = 3; @@ -13948,22 +15423,33 @@ identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } { function_name = (symbol_c*)(new pragma_c("__eq_")); + if (nb_param < 2) + nb_param = 2; char* nb_param_str = new char[10]; sprintf(nb_param_str, "%d", nb_param); ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) int base_num = 3; @@ -14028,22 +15514,33 @@ identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } { function_name = (symbol_c*)(new pragma_c("__lt_")); + if (nb_param < 2) + nb_param = 2; char* nb_param_str = new char[10]; sprintf(nb_param_str, "%d", nb_param); ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) int base_num = 3; @@ -14108,22 +15605,33 @@ identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } { function_name = (symbol_c*)(new pragma_c("__le_")); + if (nb_param < 2) + nb_param = 2; char* nb_param_str = new char[10]; sprintf(nb_param_str, "%d", nb_param); ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) int base_num = 3; @@ -14188,22 +15696,33 @@ identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } { function_name = (symbol_c*)(new pragma_c("__ne_")); + if (nb_param < 2) + nb_param = 2; char* nb_param_str = new char[10]; sprintf(nb_param_str, "%d", nb_param); ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) int base_num = 3; @@ -14261,10 +15780,13 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__len")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; break; @@ -14292,25 +15814,34 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { { identifier_c param_name("L"); /* Get the value from a foo( = ) style call */ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *L_type_symbol = NULL; /* Get the value from a foo() style call */ if (L_param_value == NULL) L_param_value = function_call_param_iterator.next(); - symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ; - - if(search_expression_type->is_integer_type(L_type_symbol)) + if (L_param_value != NULL) { + L_type_symbol = search_expression_type->get_type(L_param_value); + last_type_symbol = last_type_symbol && L_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ; + } + + if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__left")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + + if (L_type_symbol == NULL) + L_type_symbol = last_type_symbol; ADD_PARAM_LIST(L_param_value, L_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; break; @@ -14344,25 +15875,34 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { { identifier_c param_name("L"); /* Get the value from a foo( = ) style call */ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *L_type_symbol = NULL; /* Get the value from a foo() style call */ if (L_param_value == NULL) L_param_value = function_call_param_iterator.next(); - symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ; - - if(search_expression_type->is_integer_type(L_type_symbol)) + if (L_param_value != NULL) { + L_type_symbol = search_expression_type->get_type(L_param_value); + last_type_symbol = last_type_symbol && L_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ; + } + + if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__right")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + + if (L_type_symbol == NULL) + L_type_symbol = last_type_symbol; ADD_PARAM_LIST(L_param_value, L_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; break; @@ -14396,40 +15936,55 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { { identifier_c param_name("L"); /* Get the value from a foo( = ) style call */ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *L_type_symbol = NULL; /* Get the value from a foo() style call */ if (L_param_value == NULL) L_param_value = function_call_param_iterator.next(); - symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ; - - if(search_expression_type->is_integer_type(L_type_symbol)) + if (L_param_value != NULL) { + L_type_symbol = search_expression_type->get_type(L_param_value); + last_type_symbol = last_type_symbol && L_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ; + } + + if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol)) { { identifier_c param_name("P"); /* Get the value from a foo( = ) style call */ symbol_c *P_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *P_type_symbol = NULL; /* Get the value from a foo() style call */ if (P_param_value == NULL) P_param_value = function_call_param_iterator.next(); - symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ; + if (P_param_value != NULL) { + P_type_symbol = search_expression_type->get_type(P_param_value); + last_type_symbol = last_type_symbol && P_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ; + } - if(search_expression_type->is_integer_type(P_type_symbol)) + if(P_type_symbol == NULL || search_expression_type->is_integer_type(P_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__mid")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + + if (L_type_symbol == NULL) + L_type_symbol = last_type_symbol; ADD_PARAM_LIST(L_param_value, L_type_symbol, function_param_iterator_c::direction_in) + + if (P_type_symbol == NULL) + P_type_symbol = last_type_symbol; ADD_PARAM_LIST(P_param_value, P_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; break; @@ -14469,25 +16024,34 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_add")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; break; @@ -14500,29 +16064,40 @@ } - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__concat")); + if (nb_param < 2) + nb_param = 2; char* nb_param_str = new char[10]; sprintf(nb_param_str, "%d", nb_param); ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) int base_num = 3; @@ -14579,40 +16154,55 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { { identifier_c param_name("P"); /* Get the value from a foo( = ) style call */ symbol_c *P_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *P_type_symbol = NULL; /* Get the value from a foo() style call */ if (P_param_value == NULL) P_param_value = function_call_param_iterator.next(); - symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ; + if (P_param_value != NULL) { + P_type_symbol = search_expression_type->get_type(P_param_value); + last_type_symbol = last_type_symbol && P_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ; + } - if(search_expression_type->is_integer_type(P_type_symbol)) + if(P_type_symbol == NULL || search_expression_type->is_integer_type(P_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__insert")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + + if (P_type_symbol == NULL) + P_type_symbol = last_type_symbol; ADD_PARAM_LIST(P_param_value, P_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; break; @@ -14652,40 +16242,55 @@ symbol_c *IN_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { { identifier_c param_name("L"); /* Get the value from a foo( = ) style call */ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *L_type_symbol = NULL; /* Get the value from a foo() style call */ if (L_param_value == NULL) L_param_value = function_call_param_iterator.next(); - symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ; - - if(search_expression_type->is_integer_type(L_type_symbol)) + if (L_param_value != NULL) { + L_type_symbol = search_expression_type->get_type(L_param_value); + last_type_symbol = last_type_symbol && L_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ; + } + + if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol)) { { identifier_c param_name("P"); /* Get the value from a foo( = ) style call */ symbol_c *P_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *P_type_symbol = NULL; /* Get the value from a foo() style call */ if (P_param_value == NULL) P_param_value = function_call_param_iterator.next(); - symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ; + if (P_param_value != NULL) { + P_type_symbol = search_expression_type->get_type(P_param_value); + last_type_symbol = last_type_symbol && P_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ; + } - if(search_expression_type->is_integer_type(P_type_symbol)) + if(P_type_symbol == NULL || search_expression_type->is_integer_type(P_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__delete")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + + if (L_type_symbol == NULL) + L_type_symbol = last_type_symbol; ADD_PARAM_LIST(L_param_value, L_type_symbol, function_param_iterator_c::direction_in) + + if (P_type_symbol == NULL) + P_type_symbol = last_type_symbol; ADD_PARAM_LIST(P_param_value, P_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; break; @@ -14725,55 +16330,76 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { { identifier_c param_name("L"); /* Get the value from a foo( = ) style call */ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *L_type_symbol = NULL; /* Get the value from a foo() style call */ if (L_param_value == NULL) L_param_value = function_call_param_iterator.next(); - symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ; + if (L_param_value != NULL) { + L_type_symbol = search_expression_type->get_type(L_param_value); + last_type_symbol = last_type_symbol && L_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ; + } - if(search_expression_type->is_integer_type(L_type_symbol)) + if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol)) { { identifier_c param_name("P"); /* Get the value from a foo( = ) style call */ symbol_c *P_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *P_type_symbol = NULL; /* Get the value from a foo() style call */ if (P_param_value == NULL) P_param_value = function_call_param_iterator.next(); - symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ; + if (P_param_value != NULL) { + P_type_symbol = search_expression_type->get_type(P_param_value); + last_type_symbol = last_type_symbol && P_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ; + } - if(search_expression_type->is_integer_type(P_type_symbol)) + if(P_type_symbol == NULL || search_expression_type->is_integer_type(P_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__replace")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + + if (L_type_symbol == NULL) + L_type_symbol = last_type_symbol; ADD_PARAM_LIST(L_param_value, L_type_symbol, function_param_iterator_c::direction_in) + + if (P_type_symbol == NULL) + P_type_symbol = last_type_symbol; ADD_PARAM_LIST(P_param_value, P_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; break; @@ -14819,25 +16445,34 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { { identifier_c param_name("IN2"); /* Get the value from a foo( = ) style call */ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); + symbol_c *IN2_type_symbol = NULL; /* Get the value from a foo() style call */ if (IN2_param_value == NULL) IN2_param_value = function_call_param_iterator.next(); - symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; - - if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ; + } + + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__find")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; break;