equal
deleted
inserted
replaced
16033 if (IN_param_value == NULL) |
16033 if (IN_param_value == NULL) |
16034 IN_param_value = function_call_param_iterator.next(); |
16034 IN_param_value = function_call_param_iterator.next(); |
16035 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16035 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16036 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 ; |
16036 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 ; |
16037 |
16037 |
16038 if(search_expression_type->is_real_type(IN_param_value)) |
16038 if(search_expression_type->is_real_type(IN_type_symbol)) |
16039 { |
16039 { |
16040 |
16040 |
16041 symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name; |
16041 symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name; |
16042 s4o.print("(int)"); |
16042 s4o.print("(int)"); |
16043 IN_param_value->accept(*this); |
16043 IN_param_value->accept(*this); |
16067 if (IN_param_value == NULL) |
16067 if (IN_param_value == NULL) |
16068 IN_param_value = function_call_param_iterator.next(); |
16068 IN_param_value = function_call_param_iterator.next(); |
16069 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16069 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16070 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 ; |
16070 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 ; |
16071 |
16071 |
16072 if(search_expression_type->is_binary_type(IN_param_value)) |
16072 if(search_expression_type->is_binary_type(IN_type_symbol)) |
16073 { |
16073 { |
16074 |
16074 |
16075 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; |
16075 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; |
16076 s4o.print("__bcd_to_something(sizeof("); |
16076 s4o.print("__bcd_to_something(sizeof("); |
16077 IN_type_symbol->accept(*this); |
16077 IN_type_symbol->accept(*this); |
16104 if (IN_param_value == NULL) |
16104 if (IN_param_value == NULL) |
16105 IN_param_value = function_call_param_iterator.next(); |
16105 IN_param_value = function_call_param_iterator.next(); |
16106 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16106 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16107 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 ; |
16107 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 ; |
16108 |
16108 |
16109 if(search_expression_type->is_binary_type(IN_param_value)) |
16109 if(search_expression_type->is_binary_type(IN_type_symbol)) |
16110 { |
16110 { |
16111 |
16111 |
16112 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; |
16112 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; |
16113 s4o.print("__bcd_to_something(sizeof("); |
16113 s4o.print("__bcd_to_something(sizeof("); |
16114 IN_type_symbol->accept(*this); |
16114 IN_type_symbol->accept(*this); |
16141 if (IN_param_value == NULL) |
16141 if (IN_param_value == NULL) |
16142 IN_param_value = function_call_param_iterator.next(); |
16142 IN_param_value = function_call_param_iterator.next(); |
16143 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16143 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16144 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 ; |
16144 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 ; |
16145 |
16145 |
16146 if(search_expression_type->is_binary_type(IN_param_value)) |
16146 if(search_expression_type->is_binary_type(IN_type_symbol)) |
16147 { |
16147 { |
16148 |
16148 |
16149 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; |
16149 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; |
16150 s4o.print("__bcd_to_something(sizeof("); |
16150 s4o.print("__bcd_to_something(sizeof("); |
16151 IN_type_symbol->accept(*this); |
16151 IN_type_symbol->accept(*this); |
16178 if (IN_param_value == NULL) |
16178 if (IN_param_value == NULL) |
16179 IN_param_value = function_call_param_iterator.next(); |
16179 IN_param_value = function_call_param_iterator.next(); |
16180 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16180 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16181 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 ; |
16181 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 ; |
16182 |
16182 |
16183 if(search_expression_type->is_binary_type(IN_param_value)) |
16183 if(search_expression_type->is_binary_type(IN_type_symbol)) |
16184 { |
16184 { |
16185 |
16185 |
16186 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; |
16186 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; |
16187 s4o.print("__bcd_to_something(sizeof("); |
16187 s4o.print("__bcd_to_something(sizeof("); |
16188 IN_type_symbol->accept(*this); |
16188 IN_type_symbol->accept(*this); |
16215 if (IN_param_value == NULL) |
16215 if (IN_param_value == NULL) |
16216 IN_param_value = function_call_param_iterator.next(); |
16216 IN_param_value = function_call_param_iterator.next(); |
16217 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16217 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16218 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 ; |
16218 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 ; |
16219 |
16219 |
16220 if(search_expression_type->is_binary_type(IN_param_value)) |
16220 if(search_expression_type->is_binary_type(IN_type_symbol)) |
16221 { |
16221 { |
16222 |
16222 |
16223 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; |
16223 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; |
16224 s4o.print("__bcd_to_something(sizeof("); |
16224 s4o.print("__bcd_to_something(sizeof("); |
16225 IN_type_symbol->accept(*this); |
16225 IN_type_symbol->accept(*this); |
16252 if (IN_param_value == NULL) |
16252 if (IN_param_value == NULL) |
16253 IN_param_value = function_call_param_iterator.next(); |
16253 IN_param_value = function_call_param_iterator.next(); |
16254 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16254 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16255 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 ; |
16255 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 ; |
16256 |
16256 |
16257 if(search_expression_type->is_binary_type(IN_param_value)) |
16257 if(search_expression_type->is_binary_type(IN_type_symbol)) |
16258 { |
16258 { |
16259 |
16259 |
16260 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; |
16260 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; |
16261 s4o.print("__bcd_to_something(sizeof("); |
16261 s4o.print("__bcd_to_something(sizeof("); |
16262 IN_type_symbol->accept(*this); |
16262 IN_type_symbol->accept(*this); |
16289 if (IN_param_value == NULL) |
16289 if (IN_param_value == NULL) |
16290 IN_param_value = function_call_param_iterator.next(); |
16290 IN_param_value = function_call_param_iterator.next(); |
16291 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16291 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16292 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 ; |
16292 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 ; |
16293 |
16293 |
16294 if(search_expression_type->is_binary_type(IN_param_value)) |
16294 if(search_expression_type->is_binary_type(IN_type_symbol)) |
16295 { |
16295 { |
16296 |
16296 |
16297 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; |
16297 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; |
16298 s4o.print("__bcd_to_something(sizeof("); |
16298 s4o.print("__bcd_to_something(sizeof("); |
16299 IN_type_symbol->accept(*this); |
16299 IN_type_symbol->accept(*this); |
16326 if (IN_param_value == NULL) |
16326 if (IN_param_value == NULL) |
16327 IN_param_value = function_call_param_iterator.next(); |
16327 IN_param_value = function_call_param_iterator.next(); |
16328 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16328 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16329 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 ; |
16329 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 ; |
16330 |
16330 |
16331 if(search_expression_type->is_binary_type(IN_param_value)) |
16331 if(search_expression_type->is_binary_type(IN_type_symbol)) |
16332 { |
16332 { |
16333 |
16333 |
16334 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; |
16334 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; |
16335 s4o.print("__bcd_to_something(sizeof("); |
16335 s4o.print("__bcd_to_something(sizeof("); |
16336 IN_type_symbol->accept(*this); |
16336 IN_type_symbol->accept(*this); |
16729 if (IN_param_value == NULL) |
16729 if (IN_param_value == NULL) |
16730 IN_param_value = function_call_param_iterator.next(); |
16730 IN_param_value = function_call_param_iterator.next(); |
16731 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16731 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16732 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 ; |
16732 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 ; |
16733 |
16733 |
16734 if(search_expression_type->is_num_type(IN_param_value)) |
16734 if(search_expression_type->is_num_type(IN_type_symbol)) |
16735 { |
16735 { |
16736 |
16736 |
16737 symbol_c * return_type_symbol = IN_type_symbol; |
16737 symbol_c * return_type_symbol = IN_type_symbol; |
16738 s4o.print("__abs_"); |
16738 s4o.print("__abs_"); |
16739 IN_type_symbol->accept(*this); |
16739 IN_type_symbol->accept(*this); |
16766 if (IN_param_value == NULL) |
16766 if (IN_param_value == NULL) |
16767 IN_param_value = function_call_param_iterator.next(); |
16767 IN_param_value = function_call_param_iterator.next(); |
16768 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16768 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16769 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 ; |
16769 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 ; |
16770 |
16770 |
16771 if(search_expression_type->is_real_type(IN_param_value)) |
16771 if(search_expression_type->is_real_type(IN_type_symbol)) |
16772 { |
16772 { |
16773 |
16773 |
16774 symbol_c * return_type_symbol = IN_type_symbol; |
16774 symbol_c * return_type_symbol = IN_type_symbol; |
16775 s4o.print("sqrt("); |
16775 s4o.print("sqrt("); |
16776 IN_param_value->accept(*this); |
16776 IN_param_value->accept(*this); |
16801 if (IN_param_value == NULL) |
16801 if (IN_param_value == NULL) |
16802 IN_param_value = function_call_param_iterator.next(); |
16802 IN_param_value = function_call_param_iterator.next(); |
16803 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16803 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16804 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 ; |
16804 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 ; |
16805 |
16805 |
16806 if(search_expression_type->is_real_type(IN_param_value)) |
16806 if(search_expression_type->is_real_type(IN_type_symbol)) |
16807 { |
16807 { |
16808 |
16808 |
16809 symbol_c * return_type_symbol = IN_type_symbol; |
16809 symbol_c * return_type_symbol = IN_type_symbol; |
16810 s4o.print("ln("); |
16810 s4o.print("ln("); |
16811 IN_param_value->accept(*this); |
16811 IN_param_value->accept(*this); |
16836 if (IN_param_value == NULL) |
16836 if (IN_param_value == NULL) |
16837 IN_param_value = function_call_param_iterator.next(); |
16837 IN_param_value = function_call_param_iterator.next(); |
16838 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16838 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16839 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 ; |
16839 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 ; |
16840 |
16840 |
16841 if(search_expression_type->is_real_type(IN_param_value)) |
16841 if(search_expression_type->is_real_type(IN_type_symbol)) |
16842 { |
16842 { |
16843 |
16843 |
16844 symbol_c * return_type_symbol = IN_type_symbol; |
16844 symbol_c * return_type_symbol = IN_type_symbol; |
16845 s4o.print("log("); |
16845 s4o.print("log("); |
16846 IN_param_value->accept(*this); |
16846 IN_param_value->accept(*this); |
16871 if (IN_param_value == NULL) |
16871 if (IN_param_value == NULL) |
16872 IN_param_value = function_call_param_iterator.next(); |
16872 IN_param_value = function_call_param_iterator.next(); |
16873 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16873 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16874 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 ; |
16874 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 ; |
16875 |
16875 |
16876 if(search_expression_type->is_real_type(IN_param_value)) |
16876 if(search_expression_type->is_real_type(IN_type_symbol)) |
16877 { |
16877 { |
16878 |
16878 |
16879 symbol_c * return_type_symbol = IN_type_symbol; |
16879 symbol_c * return_type_symbol = IN_type_symbol; |
16880 s4o.print("exp("); |
16880 s4o.print("exp("); |
16881 IN_param_value->accept(*this); |
16881 IN_param_value->accept(*this); |
16906 if (IN_param_value == NULL) |
16906 if (IN_param_value == NULL) |
16907 IN_param_value = function_call_param_iterator.next(); |
16907 IN_param_value = function_call_param_iterator.next(); |
16908 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16908 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16909 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 ; |
16909 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 ; |
16910 |
16910 |
16911 if(search_expression_type->is_real_type(IN_param_value)) |
16911 if(search_expression_type->is_real_type(IN_type_symbol)) |
16912 { |
16912 { |
16913 |
16913 |
16914 symbol_c * return_type_symbol = IN_type_symbol; |
16914 symbol_c * return_type_symbol = IN_type_symbol; |
16915 s4o.print("sin("); |
16915 s4o.print("sin("); |
16916 IN_param_value->accept(*this); |
16916 IN_param_value->accept(*this); |
16941 if (IN_param_value == NULL) |
16941 if (IN_param_value == NULL) |
16942 IN_param_value = function_call_param_iterator.next(); |
16942 IN_param_value = function_call_param_iterator.next(); |
16943 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16943 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16944 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 ; |
16944 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 ; |
16945 |
16945 |
16946 if(search_expression_type->is_real_type(IN_param_value)) |
16946 if(search_expression_type->is_real_type(IN_type_symbol)) |
16947 { |
16947 { |
16948 |
16948 |
16949 symbol_c * return_type_symbol = IN_type_symbol; |
16949 symbol_c * return_type_symbol = IN_type_symbol; |
16950 s4o.print("cos("); |
16950 s4o.print("cos("); |
16951 IN_param_value->accept(*this); |
16951 IN_param_value->accept(*this); |
16976 if (IN_param_value == NULL) |
16976 if (IN_param_value == NULL) |
16977 IN_param_value = function_call_param_iterator.next(); |
16977 IN_param_value = function_call_param_iterator.next(); |
16978 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16978 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
16979 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 ; |
16979 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 ; |
16980 |
16980 |
16981 if(search_expression_type->is_real_type(IN_param_value)) |
16981 if(search_expression_type->is_real_type(IN_type_symbol)) |
16982 { |
16982 { |
16983 |
16983 |
16984 symbol_c * return_type_symbol = IN_type_symbol; |
16984 symbol_c * return_type_symbol = IN_type_symbol; |
16985 s4o.print("tan("); |
16985 s4o.print("tan("); |
16986 IN_param_value->accept(*this); |
16986 IN_param_value->accept(*this); |
17011 if (IN_param_value == NULL) |
17011 if (IN_param_value == NULL) |
17012 IN_param_value = function_call_param_iterator.next(); |
17012 IN_param_value = function_call_param_iterator.next(); |
17013 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
17013 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
17014 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 ; |
17014 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 ; |
17015 |
17015 |
17016 if(search_expression_type->is_real_type(IN_param_value)) |
17016 if(search_expression_type->is_real_type(IN_type_symbol)) |
17017 { |
17017 { |
17018 |
17018 |
17019 symbol_c * return_type_symbol = IN_type_symbol; |
17019 symbol_c * return_type_symbol = IN_type_symbol; |
17020 s4o.print("asin("); |
17020 s4o.print("asin("); |
17021 IN_param_value->accept(*this); |
17021 IN_param_value->accept(*this); |
17046 if (IN_param_value == NULL) |
17046 if (IN_param_value == NULL) |
17047 IN_param_value = function_call_param_iterator.next(); |
17047 IN_param_value = function_call_param_iterator.next(); |
17048 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
17048 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
17049 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 ; |
17049 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 ; |
17050 |
17050 |
17051 if(search_expression_type->is_real_type(IN_param_value)) |
17051 if(search_expression_type->is_real_type(IN_type_symbol)) |
17052 { |
17052 { |
17053 |
17053 |
17054 symbol_c * return_type_symbol = IN_type_symbol; |
17054 symbol_c * return_type_symbol = IN_type_symbol; |
17055 s4o.print("acos("); |
17055 s4o.print("acos("); |
17056 IN_param_value->accept(*this); |
17056 IN_param_value->accept(*this); |
17081 if (IN_param_value == NULL) |
17081 if (IN_param_value == NULL) |
17082 IN_param_value = function_call_param_iterator.next(); |
17082 IN_param_value = function_call_param_iterator.next(); |
17083 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
17083 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
17084 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 ; |
17084 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 ; |
17085 |
17085 |
17086 if(search_expression_type->is_real_type(IN_param_value)) |
17086 if(search_expression_type->is_real_type(IN_type_symbol)) |
17087 { |
17087 { |
17088 |
17088 |
17089 symbol_c * return_type_symbol = IN_type_symbol; |
17089 symbol_c * return_type_symbol = IN_type_symbol; |
17090 s4o.print("atan("); |
17090 s4o.print("atan("); |
17091 IN_param_value->accept(*this); |
17091 IN_param_value->accept(*this); |
17116 if (IN1_param_value == NULL) |
17116 if (IN1_param_value == NULL) |
17117 IN1_param_value = function_call_param_iterator.next(); |
17117 IN1_param_value = function_call_param_iterator.next(); |
17118 symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); |
17118 symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); |
17119 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 ; |
17119 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 ; |
17120 |
17120 |
17121 if(search_expression_type->is_num_type(IN1_param_value)) |
17121 if(search_expression_type->is_num_type(IN1_type_symbol)) |
17122 { |
17122 { |
17123 |
17123 |
17124 { |
17124 { |
17125 identifier_c param_name("IN2"); |
17125 identifier_c param_name("IN2"); |
17126 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
17126 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
17130 if (IN2_param_value == NULL) |
17130 if (IN2_param_value == NULL) |
17131 IN2_param_value = function_call_param_iterator.next(); |
17131 IN2_param_value = function_call_param_iterator.next(); |
17132 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
17132 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
17133 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 ; |
17133 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 ; |
17134 |
17134 |
17135 if(search_expression_type->is_num_type(IN2_param_value)) |
17135 if(search_expression_type->is_num_type(IN2_type_symbol)) |
17136 { |
17136 { |
17137 |
17137 |
17138 symbol_c * return_type_symbol = last_type_symbol; |
17138 symbol_c * return_type_symbol = last_type_symbol; |
17139 s4o.print("("); |
17139 s4o.print("("); |
17140 IN1_param_value->accept(*this); |
17140 IN1_param_value->accept(*this); |
17294 if (IN1_param_value == NULL) |
17294 if (IN1_param_value == NULL) |
17295 IN1_param_value = function_call_param_iterator.next(); |
17295 IN1_param_value = function_call_param_iterator.next(); |
17296 symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); |
17296 symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); |
17297 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 ; |
17297 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 ; |
17298 |
17298 |
17299 if(search_expression_type->is_num_type(IN1_param_value)) |
17299 if(search_expression_type->is_num_type(IN1_type_symbol)) |
17300 { |
17300 { |
17301 |
17301 |
17302 { |
17302 { |
17303 identifier_c param_name("IN2"); |
17303 identifier_c param_name("IN2"); |
17304 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
17304 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
17308 if (IN2_param_value == NULL) |
17308 if (IN2_param_value == NULL) |
17309 IN2_param_value = function_call_param_iterator.next(); |
17309 IN2_param_value = function_call_param_iterator.next(); |
17310 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
17310 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
17311 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 ; |
17311 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 ; |
17312 |
17312 |
17313 if(search_expression_type->is_num_type(IN2_param_value)) |
17313 if(search_expression_type->is_num_type(IN2_type_symbol)) |
17314 { |
17314 { |
17315 |
17315 |
17316 symbol_c * return_type_symbol = last_type_symbol; |
17316 symbol_c * return_type_symbol = last_type_symbol; |
17317 s4o.print("("); |
17317 s4o.print("("); |
17318 IN1_param_value->accept(*this); |
17318 IN1_param_value->accept(*this); |
17366 if (IN2_param_value == NULL) |
17366 if (IN2_param_value == NULL) |
17367 IN2_param_value = function_call_param_iterator.next(); |
17367 IN2_param_value = function_call_param_iterator.next(); |
17368 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
17368 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
17369 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 ; |
17369 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 ; |
17370 |
17370 |
17371 if(search_expression_type->is_num_type(IN2_param_value)) |
17371 if(search_expression_type->is_num_type(IN2_type_symbol)) |
17372 { |
17372 { |
17373 |
17373 |
17374 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; |
17374 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; |
17375 s4o.print("__time_mul(&"); |
17375 s4o.print("__time_mul(&"); |
17376 IN1_param_value->accept(*this); |
17376 IN1_param_value->accept(*this); |
17408 if (IN1_param_value == NULL) |
17408 if (IN1_param_value == NULL) |
17409 IN1_param_value = function_call_param_iterator.next(); |
17409 IN1_param_value = function_call_param_iterator.next(); |
17410 symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); |
17410 symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); |
17411 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 ; |
17411 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 ; |
17412 |
17412 |
17413 if(search_expression_type->is_num_type(IN1_param_value)) |
17413 if(search_expression_type->is_num_type(IN1_type_symbol)) |
17414 { |
17414 { |
17415 |
17415 |
17416 { |
17416 { |
17417 identifier_c param_name("IN2"); |
17417 identifier_c param_name("IN2"); |
17418 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
17418 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
17422 if (IN2_param_value == NULL) |
17422 if (IN2_param_value == NULL) |
17423 IN2_param_value = function_call_param_iterator.next(); |
17423 IN2_param_value = function_call_param_iterator.next(); |
17424 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
17424 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
17425 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 ; |
17425 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 ; |
17426 |
17426 |
17427 if(search_expression_type->is_num_type(IN2_param_value)) |
17427 if(search_expression_type->is_num_type(IN2_type_symbol)) |
17428 { |
17428 { |
17429 |
17429 |
17430 symbol_c * return_type_symbol = last_type_symbol; |
17430 symbol_c * return_type_symbol = last_type_symbol; |
17431 s4o.print("("); |
17431 s4o.print("("); |
17432 IN1_param_value->accept(*this); |
17432 IN1_param_value->accept(*this); |
17618 if (IN1_param_value == NULL) |
17618 if (IN1_param_value == NULL) |
17619 IN1_param_value = function_call_param_iterator.next(); |
17619 IN1_param_value = function_call_param_iterator.next(); |
17620 symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); |
17620 symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); |
17621 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 ; |
17621 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 ; |
17622 |
17622 |
17623 if(search_expression_type->is_num_type(IN1_param_value)) |
17623 if(search_expression_type->is_num_type(IN1_type_symbol)) |
17624 { |
17624 { |
17625 |
17625 |
17626 { |
17626 { |
17627 identifier_c param_name("IN2"); |
17627 identifier_c param_name("IN2"); |
17628 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
17628 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
17632 if (IN2_param_value == NULL) |
17632 if (IN2_param_value == NULL) |
17633 IN2_param_value = function_call_param_iterator.next(); |
17633 IN2_param_value = function_call_param_iterator.next(); |
17634 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
17634 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
17635 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 ; |
17635 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 ; |
17636 |
17636 |
17637 if(search_expression_type->is_num_type(IN2_param_value)) |
17637 if(search_expression_type->is_num_type(IN2_type_symbol)) |
17638 { |
17638 { |
17639 |
17639 |
17640 symbol_c * return_type_symbol = last_type_symbol; |
17640 symbol_c * return_type_symbol = last_type_symbol; |
17641 s4o.print("("); |
17641 s4o.print("("); |
17642 IN1_param_value->accept(*this); |
17642 IN1_param_value->accept(*this); |
17664 if (IN2_param_value == NULL) |
17664 if (IN2_param_value == NULL) |
17665 IN2_param_value = function_call_param_iterator.next(); |
17665 IN2_param_value = function_call_param_iterator.next(); |
17666 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
17666 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
17667 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 ; |
17667 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 ; |
17668 |
17668 |
17669 if(search_expression_type->is_num_type(IN2_param_value)) |
17669 if(search_expression_type->is_num_type(IN2_type_symbol)) |
17670 { |
17670 { |
17671 |
17671 |
17672 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; |
17672 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; |
17673 s4o.print("__time_div(&"); |
17673 s4o.print("__time_div(&"); |
17674 IN1_param_value->accept(*this); |
17674 IN1_param_value->accept(*this); |
17706 if (IN1_param_value == NULL) |
17706 if (IN1_param_value == NULL) |
17707 IN1_param_value = function_call_param_iterator.next(); |
17707 IN1_param_value = function_call_param_iterator.next(); |
17708 symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); |
17708 symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); |
17709 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 ; |
17709 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 ; |
17710 |
17710 |
17711 if(search_expression_type->is_num_type(IN1_param_value)) |
17711 if(search_expression_type->is_num_type(IN1_type_symbol)) |
17712 { |
17712 { |
17713 |
17713 |
17714 { |
17714 { |
17715 identifier_c param_name("IN2"); |
17715 identifier_c param_name("IN2"); |
17716 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
17716 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
17720 if (IN2_param_value == NULL) |
17720 if (IN2_param_value == NULL) |
17721 IN2_param_value = function_call_param_iterator.next(); |
17721 IN2_param_value = function_call_param_iterator.next(); |
17722 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
17722 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
17723 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 ; |
17723 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 ; |
17724 |
17724 |
17725 if(search_expression_type->is_num_type(IN2_param_value)) |
17725 if(search_expression_type->is_num_type(IN2_type_symbol)) |
17726 { |
17726 { |
17727 |
17727 |
17728 symbol_c * return_type_symbol = last_type_symbol; |
17728 symbol_c * return_type_symbol = last_type_symbol; |
17729 s4o.print("("); |
17729 s4o.print("("); |
17730 IN1_param_value->accept(*this); |
17730 IN1_param_value->accept(*this); |
17762 if (IN1_param_value == NULL) |
17762 if (IN1_param_value == NULL) |
17763 IN1_param_value = function_call_param_iterator.next(); |
17763 IN1_param_value = function_call_param_iterator.next(); |
17764 symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); |
17764 symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); |
17765 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 ; |
17765 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 ; |
17766 |
17766 |
17767 if(search_expression_type->is_num_type(IN1_param_value)) |
17767 if(search_expression_type->is_num_type(IN1_type_symbol)) |
17768 { |
17768 { |
17769 |
17769 |
17770 { |
17770 { |
17771 identifier_c param_name("IN2"); |
17771 identifier_c param_name("IN2"); |
17772 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
17772 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
17776 if (IN2_param_value == NULL) |
17776 if (IN2_param_value == NULL) |
17777 IN2_param_value = function_call_param_iterator.next(); |
17777 IN2_param_value = function_call_param_iterator.next(); |
17778 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
17778 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
17779 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 ; |
17779 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 ; |
17780 |
17780 |
17781 if(search_expression_type->is_num_type(IN2_param_value)) |
17781 if(search_expression_type->is_num_type(IN2_type_symbol)) |
17782 { |
17782 { |
17783 |
17783 |
17784 symbol_c * return_type_symbol = last_type_symbol; |
17784 symbol_c * return_type_symbol = last_type_symbol; |
17785 s4o.print("pow(&"); |
17785 s4o.print("pow(&"); |
17786 IN1_param_value->accept(*this); |
17786 IN1_param_value->accept(*this); |
17818 if (IN_param_value == NULL) |
17818 if (IN_param_value == NULL) |
17819 IN_param_value = function_call_param_iterator.next(); |
17819 IN_param_value = function_call_param_iterator.next(); |
17820 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
17820 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
17821 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 ; |
17821 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 ; |
17822 |
17822 |
17823 if(search_expression_type->is_num_type(IN_param_value)) |
17823 if(search_expression_type->is_num_type(IN_type_symbol)) |
17824 { |
17824 { |
17825 |
17825 |
17826 symbol_c * return_type_symbol = last_type_symbol; |
17826 symbol_c * return_type_symbol = last_type_symbol; |
17827 IN_param_value->accept(*this); |
17827 IN_param_value->accept(*this); |
17828 return NULL; |
17828 return NULL; |
17851 if (IN_param_value == NULL) |
17851 if (IN_param_value == NULL) |
17852 IN_param_value = function_call_param_iterator.next(); |
17852 IN_param_value = function_call_param_iterator.next(); |
17853 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
17853 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
17854 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 ; |
17854 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 ; |
17855 |
17855 |
17856 if(search_expression_type->is_binary_type(IN_param_value)) |
17856 if(search_expression_type->is_binary_type(IN_type_symbol)) |
17857 { |
17857 { |
17858 |
17858 |
17859 { |
17859 { |
17860 identifier_c param_name("N"); |
17860 identifier_c param_name("N"); |
17861 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
17861 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
17905 if (IN_param_value == NULL) |
17905 if (IN_param_value == NULL) |
17906 IN_param_value = function_call_param_iterator.next(); |
17906 IN_param_value = function_call_param_iterator.next(); |
17907 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
17907 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
17908 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 ; |
17908 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 ; |
17909 |
17909 |
17910 if(search_expression_type->is_binary_type(IN_param_value)) |
17910 if(search_expression_type->is_binary_type(IN_type_symbol)) |
17911 { |
17911 { |
17912 |
17912 |
17913 { |
17913 { |
17914 identifier_c param_name("N"); |
17914 identifier_c param_name("N"); |
17915 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
17915 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
17959 if (IN_param_value == NULL) |
17959 if (IN_param_value == NULL) |
17960 IN_param_value = function_call_param_iterator.next(); |
17960 IN_param_value = function_call_param_iterator.next(); |
17961 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
17961 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
17962 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 ; |
17962 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 ; |
17963 |
17963 |
17964 if(search_expression_type->is_binary_type(IN_param_value)) |
17964 if(search_expression_type->is_binary_type(IN_type_symbol)) |
17965 { |
17965 { |
17966 |
17966 |
17967 { |
17967 { |
17968 identifier_c param_name("N"); |
17968 identifier_c param_name("N"); |
17969 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
17969 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
18017 if (IN_param_value == NULL) |
18017 if (IN_param_value == NULL) |
18018 IN_param_value = function_call_param_iterator.next(); |
18018 IN_param_value = function_call_param_iterator.next(); |
18019 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
18019 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
18020 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 ; |
18020 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 ; |
18021 |
18021 |
18022 if(search_expression_type->is_binary_type(IN_param_value)) |
18022 if(search_expression_type->is_binary_type(IN_type_symbol)) |
18023 { |
18023 { |
18024 |
18024 |
18025 { |
18025 { |
18026 identifier_c param_name("N"); |
18026 identifier_c param_name("N"); |
18027 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
18027 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
18075 if (IN1_param_value == NULL) |
18075 if (IN1_param_value == NULL) |
18076 IN1_param_value = function_call_param_iterator.next(); |
18076 IN1_param_value = function_call_param_iterator.next(); |
18077 symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); |
18077 symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); |
18078 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 ; |
18078 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 ; |
18079 |
18079 |
18080 if(search_expression_type->is_binary_type(IN1_param_value)) |
18080 if(search_expression_type->is_binary_type(IN1_type_symbol)) |
18081 { |
18081 { |
18082 |
18082 |
18083 { |
18083 { |
18084 identifier_c param_name("IN2"); |
18084 identifier_c param_name("IN2"); |
18085 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
18085 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
18089 if (IN2_param_value == NULL) |
18089 if (IN2_param_value == NULL) |
18090 IN2_param_value = function_call_param_iterator.next(); |
18090 IN2_param_value = function_call_param_iterator.next(); |
18091 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
18091 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
18092 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 ; |
18092 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 ; |
18093 |
18093 |
18094 if(search_expression_type->is_binary_type(IN2_param_value)) |
18094 if(search_expression_type->is_binary_type(IN2_type_symbol)) |
18095 { |
18095 { |
18096 |
18096 |
18097 symbol_c * return_type_symbol = last_type_symbol; |
18097 symbol_c * return_type_symbol = last_type_symbol; |
18098 s4o.print("("); |
18098 s4o.print("("); |
|
18099 if (search_expression_type->is_bool_type(last_type_symbol)) |
|
18100 s4o.print("("); |
18099 IN1_param_value->accept(*this); |
18101 IN1_param_value->accept(*this); |
18100 s4o.print("&"); |
18102 s4o.print("&"); |
18101 IN2_param_value->accept(*this); |
18103 IN2_param_value->accept(*this); |
18102 |
18104 |
18103 int base_num = 3; |
18105 int base_num = 3; |
18123 |
18125 |
18124 } |
18126 } |
18125 |
18127 |
18126 }while(param_value != NULL); |
18128 }while(param_value != NULL); |
18127 s4o.print(")"); |
18129 s4o.print(")"); |
|
18130 if (search_expression_type->is_bool_type(last_type_symbol)) { |
|
18131 s4o.print("&1"); |
|
18132 s4o.print(")"); |
|
18133 } |
|
18134 s4o.print(""); |
18128 return NULL; |
18135 return NULL; |
18129 |
18136 |
18130 |
18137 |
18131 } |
18138 } |
18132 |
18139 |
18157 if (IN1_param_value == NULL) |
18164 if (IN1_param_value == NULL) |
18158 IN1_param_value = function_call_param_iterator.next(); |
18165 IN1_param_value = function_call_param_iterator.next(); |
18159 symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); |
18166 symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); |
18160 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 ; |
18167 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 ; |
18161 |
18168 |
18162 if(search_expression_type->is_binary_type(IN1_param_value)) |
18169 if(search_expression_type->is_binary_type(IN1_type_symbol)) |
18163 { |
18170 { |
18164 |
18171 |
18165 { |
18172 { |
18166 identifier_c param_name("IN2"); |
18173 identifier_c param_name("IN2"); |
18167 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
18174 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
18171 if (IN2_param_value == NULL) |
18178 if (IN2_param_value == NULL) |
18172 IN2_param_value = function_call_param_iterator.next(); |
18179 IN2_param_value = function_call_param_iterator.next(); |
18173 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
18180 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
18174 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 ; |
18181 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 ; |
18175 |
18182 |
18176 if(search_expression_type->is_binary_type(IN2_param_value)) |
18183 if(search_expression_type->is_binary_type(IN2_type_symbol)) |
18177 { |
18184 { |
18178 |
18185 |
18179 symbol_c * return_type_symbol = last_type_symbol; |
18186 symbol_c * return_type_symbol = last_type_symbol; |
18180 s4o.print("("); |
18187 s4o.print("("); |
|
18188 if (search_expression_type->is_bool_type(last_type_symbol)) |
|
18189 s4o.print("("); |
18181 IN1_param_value->accept(*this); |
18190 IN1_param_value->accept(*this); |
18182 s4o.print("|"); |
18191 s4o.print("|"); |
18183 IN2_param_value->accept(*this); |
18192 IN2_param_value->accept(*this); |
18184 |
18193 |
18185 int base_num = 3; |
18194 int base_num = 3; |
18205 |
18214 |
18206 } |
18215 } |
18207 |
18216 |
18208 }while(param_value != NULL); |
18217 }while(param_value != NULL); |
18209 s4o.print(")"); |
18218 s4o.print(")"); |
|
18219 if (search_expression_type->is_bool_type(last_type_symbol)) { |
|
18220 s4o.print("&1"); |
|
18221 s4o.print(")"); |
|
18222 } |
|
18223 s4o.print(""); |
18210 return NULL; |
18224 return NULL; |
18211 |
18225 |
18212 |
18226 |
18213 } |
18227 } |
18214 |
18228 |
18239 if (IN1_param_value == NULL) |
18253 if (IN1_param_value == NULL) |
18240 IN1_param_value = function_call_param_iterator.next(); |
18254 IN1_param_value = function_call_param_iterator.next(); |
18241 symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); |
18255 symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); |
18242 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 ; |
18256 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 ; |
18243 |
18257 |
18244 if(search_expression_type->is_binary_type(IN1_param_value)) |
18258 if(search_expression_type->is_binary_type(IN1_type_symbol)) |
18245 { |
18259 { |
18246 |
18260 |
18247 { |
18261 { |
18248 identifier_c param_name("IN2"); |
18262 identifier_c param_name("IN2"); |
18249 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
18263 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
18253 if (IN2_param_value == NULL) |
18267 if (IN2_param_value == NULL) |
18254 IN2_param_value = function_call_param_iterator.next(); |
18268 IN2_param_value = function_call_param_iterator.next(); |
18255 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
18269 symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value); |
18256 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 ; |
18270 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 ; |
18257 |
18271 |
18258 if(search_expression_type->is_binary_type(IN2_param_value)) |
18272 if(search_expression_type->is_binary_type(IN2_type_symbol)) |
18259 { |
18273 { |
18260 |
18274 |
18261 symbol_c * return_type_symbol = last_type_symbol; |
18275 symbol_c * return_type_symbol = last_type_symbol; |
18262 s4o.print("("); |
18276 s4o.print("("); |
|
18277 if (search_expression_type->is_bool_type(last_type_symbol)) |
|
18278 s4o.print("("); |
18263 IN1_param_value->accept(*this); |
18279 IN1_param_value->accept(*this); |
18264 s4o.print("^"); |
18280 s4o.print("^"); |
18265 IN2_param_value->accept(*this); |
18281 IN2_param_value->accept(*this); |
18266 |
18282 |
18267 int base_num = 3; |
18283 int base_num = 3; |
18287 |
18303 |
18288 } |
18304 } |
18289 |
18305 |
18290 }while(param_value != NULL); |
18306 }while(param_value != NULL); |
18291 s4o.print(")"); |
18307 s4o.print(")"); |
|
18308 if (search_expression_type->is_bool_type(last_type_symbol)) { |
|
18309 s4o.print("&1"); |
|
18310 s4o.print(")"); |
|
18311 } |
|
18312 s4o.print(""); |
18292 return NULL; |
18313 return NULL; |
18293 |
18314 |
18294 |
18315 |
18295 } |
18316 } |
18296 |
18317 |
18321 if (IN_param_value == NULL) |
18342 if (IN_param_value == NULL) |
18322 IN_param_value = function_call_param_iterator.next(); |
18343 IN_param_value = function_call_param_iterator.next(); |
18323 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
18344 symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); |
18324 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 ; |
18345 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 ; |
18325 |
18346 |
18326 if(search_expression_type->is_binary_type(IN_param_value)) |
18347 if(search_expression_type->is_binary_type(IN_type_symbol)) |
18327 { |
18348 { |
18328 |
18349 |
18329 symbol_c * return_type_symbol = IN_type_symbol; |
18350 symbol_c * return_type_symbol = IN_type_symbol; |
18330 s4o.print("~"); |
18351 s4o.print("~"); |
18331 IN_param_value->accept(*this); |
18352 IN_param_value->accept(*this); |
18681 if (K_param_value == NULL) |
18702 if (K_param_value == NULL) |
18682 K_param_value = function_call_param_iterator.next(); |
18703 K_param_value = function_call_param_iterator.next(); |
18683 symbol_c *K_type_symbol = search_expression_type->get_type(K_param_value); |
18704 symbol_c *K_type_symbol = search_expression_type->get_type(K_param_value); |
18684 last_type_symbol = last_type_symbol && search_expression_type->is_same_type(K_type_symbol, last_type_symbol) ? search_expression_type->common_type(K_type_symbol, last_type_symbol) : K_type_symbol ; |
18705 last_type_symbol = last_type_symbol && search_expression_type->is_same_type(K_type_symbol, last_type_symbol) ? search_expression_type->common_type(K_type_symbol, last_type_symbol) : K_type_symbol ; |
18685 |
18706 |
18686 if(search_expression_type->is_integer_type(K_param_value)) |
18707 if(search_expression_type->is_integer_type(K_type_symbol)) |
18687 { |
18708 { |
18688 |
18709 |
18689 { |
18710 { |
18690 identifier_c param_name("IN0"); |
18711 identifier_c param_name("IN0"); |
18691 /* Get the value from a foo(<param_name> = <param_value>) style call */ |
18712 /* Get the value from a foo(<param_name> = <param_value>) style call */ |