absyntax_utils/search_type_code.c
changeset 331 e08e14782a4f
parent 316 baa7a1585585
child 348 990ecb883731
equal deleted inserted replaced
330:d2facfcf485a 331:e08e14782a4f
 17092     {
 17092     {
 17093         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17093         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17094 
 17094 
 17095         {
 17095         {
 17096             symbol_c *IN_type_symbol = param_data_type;
 17096             symbol_c *IN_type_symbol = param_data_type;
 17097             last_type_symbol = param_data_type;
 17097             last_type_symbol = IN_type_symbol;
 17098             
 17098             
 17099             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17099             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17100             {
 17100             {
 17101         
 17101         
 17102                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 17102                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 17118     {
 17118     {
 17119         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17119         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17120 
 17120 
 17121         {
 17121         {
 17122             symbol_c *IN_type_symbol = param_data_type;
 17122             symbol_c *IN_type_symbol = param_data_type;
 17123             last_type_symbol = param_data_type;
 17123             last_type_symbol = IN_type_symbol;
 17124             
 17124             
 17125             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17125             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17126             {
 17126             {
 17127         
 17127         
 17128                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 17128                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 17144     {
 17144     {
 17145         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17145         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17146 
 17146 
 17147         {
 17147         {
 17148             symbol_c *IN_type_symbol = param_data_type;
 17148             symbol_c *IN_type_symbol = param_data_type;
 17149             last_type_symbol = param_data_type;
 17149             last_type_symbol = IN_type_symbol;
 17150             
 17150             
 17151             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17151             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17152             {
 17152             {
 17153         
 17153         
 17154                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 17154                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 17170     {
 17170     {
 17171         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17171         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17172 
 17172 
 17173         {
 17173         {
 17174             symbol_c *IN_type_symbol = param_data_type;
 17174             symbol_c *IN_type_symbol = param_data_type;
 17175             last_type_symbol = param_data_type;
 17175             last_type_symbol = IN_type_symbol;
 17176             
 17176             
 17177             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17177             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17178             {
 17178             {
 17179         
 17179         
 17180                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 17180                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 17196     {
 17196     {
 17197         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17197         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17198 
 17198 
 17199         {
 17199         {
 17200             symbol_c *IN_type_symbol = param_data_type;
 17200             symbol_c *IN_type_symbol = param_data_type;
 17201             last_type_symbol = param_data_type;
 17201             last_type_symbol = IN_type_symbol;
 17202             
 17202             
 17203             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17203             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17204             {
 17204             {
 17205         
 17205         
 17206                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 17206                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 17222     {
 17222     {
 17223         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17223         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17224 
 17224 
 17225         {
 17225         {
 17226             symbol_c *IN_type_symbol = param_data_type;
 17226             symbol_c *IN_type_symbol = param_data_type;
 17227             last_type_symbol = param_data_type;
 17227             last_type_symbol = IN_type_symbol;
 17228             
 17228             
 17229             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17229             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17230             {
 17230             {
 17231         
 17231         
 17232                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 17232                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 17248     {
 17248     {
 17249         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17249         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17250 
 17250 
 17251         {
 17251         {
 17252             symbol_c *IN_type_symbol = param_data_type;
 17252             symbol_c *IN_type_symbol = param_data_type;
 17253             last_type_symbol = param_data_type;
 17253             last_type_symbol = IN_type_symbol;
 17254             
 17254             
 17255             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17255             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17256             {
 17256             {
 17257         
 17257         
 17258                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 17258                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 17274     {
 17274     {
 17275         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17275         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17276 
 17276 
 17277         {
 17277         {
 17278             symbol_c *IN_type_symbol = param_data_type;
 17278             symbol_c *IN_type_symbol = param_data_type;
 17279             last_type_symbol = param_data_type;
 17279             last_type_symbol = IN_type_symbol;
 17280             
 17280             
 17281             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17281             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17282             {
 17282             {
 17283         
 17283         
 17284                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 17284                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 17300     {
 17300     {
 17301         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17301         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17302 
 17302 
 17303         {
 17303         {
 17304             symbol_c *IN_type_symbol = param_data_type;
 17304             symbol_c *IN_type_symbol = param_data_type;
 17305             last_type_symbol = param_data_type;
 17305             last_type_symbol = IN_type_symbol;
 17306             
 17306             
 17307             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17307             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17308             {
 17308             {
 17309         
 17309         
 17310                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 17310                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 17326     {
 17326     {
 17327         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17327         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17328 
 17328 
 17329         {
 17329         {
 17330             symbol_c *IN_type_symbol = param_data_type;
 17330             symbol_c *IN_type_symbol = param_data_type;
 17331             last_type_symbol = param_data_type;
 17331             last_type_symbol = IN_type_symbol;
 17332             
 17332             
 17333             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17333             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17334             {
 17334             {
 17335         
 17335         
 17336                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 17336                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 17352     {
 17352     {
 17353         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17353         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17354 
 17354 
 17355         {
 17355         {
 17356             symbol_c *IN_type_symbol = param_data_type;
 17356             symbol_c *IN_type_symbol = param_data_type;
 17357             last_type_symbol = param_data_type;
 17357             last_type_symbol = IN_type_symbol;
 17358             
 17358             
 17359             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17359             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17360             {
 17360             {
 17361         
 17361         
 17362                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 17362                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 17378     {
 17378     {
 17379         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17379         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17380 
 17380 
 17381         {
 17381         {
 17382             symbol_c *IN_type_symbol = param_data_type;
 17382             symbol_c *IN_type_symbol = param_data_type;
 17383             last_type_symbol = param_data_type;
 17383             last_type_symbol = IN_type_symbol;
 17384             
 17384             
 17385             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17385             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17386             {
 17386             {
 17387         
 17387         
 17388                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 17388                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 17404     {
 17404     {
 17405         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17405         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17406 
 17406 
 17407         {
 17407         {
 17408             symbol_c *IN_type_symbol = param_data_type;
 17408             symbol_c *IN_type_symbol = param_data_type;
 17409             last_type_symbol = param_data_type;
 17409             last_type_symbol = IN_type_symbol;
 17410             
 17410             
 17411             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17411             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17412             {
 17412             {
 17413         
 17413         
 17414                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 17414                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 17430     {
 17430     {
 17431         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17431         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17432 
 17432 
 17433         {
 17433         {
 17434             symbol_c *IN_type_symbol = param_data_type;
 17434             symbol_c *IN_type_symbol = param_data_type;
 17435             last_type_symbol = param_data_type;
 17435             last_type_symbol = IN_type_symbol;
 17436             
 17436             
 17437             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17437             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17438             {
 17438             {
 17439         
 17439         
 17440                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 17440                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 17456     {
 17456     {
 17457         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17457         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17458 
 17458 
 17459         {
 17459         {
 17460             symbol_c *IN_type_symbol = param_data_type;
 17460             symbol_c *IN_type_symbol = param_data_type;
 17461             last_type_symbol = param_data_type;
 17461             last_type_symbol = IN_type_symbol;
 17462             
 17462             
 17463             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17463             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17464             {
 17464             {
 17465         
 17465         
 17466                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 17466                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 17482     {
 17482     {
 17483         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17483         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17484 
 17484 
 17485         {
 17485         {
 17486             symbol_c *IN_type_symbol = param_data_type;
 17486             symbol_c *IN_type_symbol = param_data_type;
 17487             last_type_symbol = param_data_type;
 17487             last_type_symbol = IN_type_symbol;
 17488             
 17488             
 17489             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17489             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17490             {
 17490             {
 17491         
 17491         
 17492                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 17492                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 17508     {
 17508     {
 17509         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17509         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17510 
 17510 
 17511         {
 17511         {
 17512             symbol_c *IN_type_symbol = param_data_type;
 17512             symbol_c *IN_type_symbol = param_data_type;
 17513             last_type_symbol = param_data_type;
 17513             last_type_symbol = IN_type_symbol;
 17514             
 17514             
 17515             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17515             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17516             {
 17516             {
 17517         
 17517         
 17518                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 17518                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 17534     {
 17534     {
 17535         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17535         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17536 
 17536 
 17537         {
 17537         {
 17538             symbol_c *IN_type_symbol = param_data_type;
 17538             symbol_c *IN_type_symbol = param_data_type;
 17539             last_type_symbol = param_data_type;
 17539             last_type_symbol = IN_type_symbol;
 17540             
 17540             
 17541             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17541             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17542             {
 17542             {
 17543         
 17543         
 17544                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 17544                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 17560     {
 17560     {
 17561         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17561         symbol_c *last_type_symbol = &search_constant_type_c::real_type_name;
 17562 
 17562 
 17563         {
 17563         {
 17564             symbol_c *IN_type_symbol = param_data_type;
 17564             symbol_c *IN_type_symbol = param_data_type;
 17565             last_type_symbol = param_data_type;
 17565             last_type_symbol = IN_type_symbol;
 17566             
 17566             
 17567             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17567             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
 17568             {
 17568             {
 17569         
 17569         
 17570                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 17570                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 17586     {
 17586     {
 17587         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17587         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17588 
 17588 
 17589         {
 17589         {
 17590             symbol_c *IN_type_symbol = param_data_type;
 17590             symbol_c *IN_type_symbol = param_data_type;
 17591             last_type_symbol = param_data_type;
 17591             last_type_symbol = IN_type_symbol;
 17592             
 17592             
 17593             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17593             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17594             {
 17594             {
 17595         
 17595         
 17596                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 17596                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 17612     {
 17612     {
 17613         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17613         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17614 
 17614 
 17615         {
 17615         {
 17616             symbol_c *IN_type_symbol = param_data_type;
 17616             symbol_c *IN_type_symbol = param_data_type;
 17617             last_type_symbol = param_data_type;
 17617             last_type_symbol = IN_type_symbol;
 17618             
 17618             
 17619             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17619             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17620             {
 17620             {
 17621         
 17621         
 17622                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 17622                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 17638     {
 17638     {
 17639         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17639         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17640 
 17640 
 17641         {
 17641         {
 17642             symbol_c *IN_type_symbol = param_data_type;
 17642             symbol_c *IN_type_symbol = param_data_type;
 17643             last_type_symbol = param_data_type;
 17643             last_type_symbol = IN_type_symbol;
 17644             
 17644             
 17645             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17645             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17646             {
 17646             {
 17647         
 17647         
 17648                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 17648                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 17664     {
 17664     {
 17665         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17665         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17666 
 17666 
 17667         {
 17667         {
 17668             symbol_c *IN_type_symbol = param_data_type;
 17668             symbol_c *IN_type_symbol = param_data_type;
 17669             last_type_symbol = param_data_type;
 17669             last_type_symbol = IN_type_symbol;
 17670             
 17670             
 17671             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17671             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17672             {
 17672             {
 17673         
 17673         
 17674                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 17674                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 17690     {
 17690     {
 17691         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17691         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17692 
 17692 
 17693         {
 17693         {
 17694             symbol_c *IN_type_symbol = param_data_type;
 17694             symbol_c *IN_type_symbol = param_data_type;
 17695             last_type_symbol = param_data_type;
 17695             last_type_symbol = IN_type_symbol;
 17696             
 17696             
 17697             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17697             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17698             {
 17698             {
 17699         
 17699         
 17700                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 17700                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 17716     {
 17716     {
 17717         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17717         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17718 
 17718 
 17719         {
 17719         {
 17720             symbol_c *IN_type_symbol = param_data_type;
 17720             symbol_c *IN_type_symbol = param_data_type;
 17721             last_type_symbol = param_data_type;
 17721             last_type_symbol = IN_type_symbol;
 17722             
 17722             
 17723             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17723             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17724             {
 17724             {
 17725         
 17725         
 17726                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 17726                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 17742     {
 17742     {
 17743         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17743         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17744 
 17744 
 17745         {
 17745         {
 17746             symbol_c *IN_type_symbol = param_data_type;
 17746             symbol_c *IN_type_symbol = param_data_type;
 17747             last_type_symbol = param_data_type;
 17747             last_type_symbol = IN_type_symbol;
 17748             
 17748             
 17749             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17749             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17750             {
 17750             {
 17751         
 17751         
 17752                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 17752                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 17768     {
 17768     {
 17769         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17769         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17770 
 17770 
 17771         {
 17771         {
 17772             symbol_c *IN_type_symbol = param_data_type;
 17772             symbol_c *IN_type_symbol = param_data_type;
 17773             last_type_symbol = param_data_type;
 17773             last_type_symbol = IN_type_symbol;
 17774             
 17774             
 17775             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17775             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17776             {
 17776             {
 17777         
 17777         
 17778                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 17778                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 17794     {
 17794     {
 17795         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17795         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17796 
 17796 
 17797         {
 17797         {
 17798             symbol_c *IN_type_symbol = param_data_type;
 17798             symbol_c *IN_type_symbol = param_data_type;
 17799             last_type_symbol = param_data_type;
 17799             last_type_symbol = IN_type_symbol;
 17800             
 17800             
 17801             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17801             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17802             {
 17802             {
 17803         
 17803         
 17804                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 17804                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 17820     {
 17820     {
 17821         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17821         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17822 
 17822 
 17823         {
 17823         {
 17824             symbol_c *IN_type_symbol = param_data_type;
 17824             symbol_c *IN_type_symbol = param_data_type;
 17825             last_type_symbol = param_data_type;
 17825             last_type_symbol = IN_type_symbol;
 17826             
 17826             
 17827             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17827             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17828             {
 17828             {
 17829         
 17829         
 17830                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 17830                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 17846     {
 17846     {
 17847         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17847         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17848 
 17848 
 17849         {
 17849         {
 17850             symbol_c *IN_type_symbol = param_data_type;
 17850             symbol_c *IN_type_symbol = param_data_type;
 17851             last_type_symbol = param_data_type;
 17851             last_type_symbol = IN_type_symbol;
 17852             
 17852             
 17853             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17853             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17854             {
 17854             {
 17855         
 17855         
 17856                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 17856                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 17872     {
 17872     {
 17873         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17873         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17874 
 17874 
 17875         {
 17875         {
 17876             symbol_c *IN_type_symbol = param_data_type;
 17876             symbol_c *IN_type_symbol = param_data_type;
 17877             last_type_symbol = param_data_type;
 17877             last_type_symbol = IN_type_symbol;
 17878             
 17878             
 17879             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17879             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17880             {
 17880             {
 17881         
 17881         
 17882                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 17882                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 17898     {
 17898     {
 17899         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17899         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17900 
 17900 
 17901         {
 17901         {
 17902             symbol_c *IN_type_symbol = param_data_type;
 17902             symbol_c *IN_type_symbol = param_data_type;
 17903             last_type_symbol = param_data_type;
 17903             last_type_symbol = IN_type_symbol;
 17904             
 17904             
 17905             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17905             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17906             {
 17906             {
 17907         
 17907         
 17908                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 17908                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 17924     {
 17924     {
 17925         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17925         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17926 
 17926 
 17927         {
 17927         {
 17928             symbol_c *IN_type_symbol = param_data_type;
 17928             symbol_c *IN_type_symbol = param_data_type;
 17929             last_type_symbol = param_data_type;
 17929             last_type_symbol = IN_type_symbol;
 17930             
 17930             
 17931             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17931             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17932             {
 17932             {
 17933         
 17933         
 17934                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 17934                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 17950     {
 17950     {
 17951         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17951         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17952 
 17952 
 17953         {
 17953         {
 17954             symbol_c *IN_type_symbol = param_data_type;
 17954             symbol_c *IN_type_symbol = param_data_type;
 17955             last_type_symbol = param_data_type;
 17955             last_type_symbol = IN_type_symbol;
 17956             
 17956             
 17957             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17957             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17958             {
 17958             {
 17959         
 17959         
 17960                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 17960                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 17976     {
 17976     {
 17977         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17977         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 17978 
 17978 
 17979         {
 17979         {
 17980             symbol_c *IN_type_symbol = param_data_type;
 17980             symbol_c *IN_type_symbol = param_data_type;
 17981             last_type_symbol = param_data_type;
 17981             last_type_symbol = IN_type_symbol;
 17982             
 17982             
 17983             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17983             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 17984             {
 17984             {
 17985         
 17985         
 17986                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 17986                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 18002     {
 18002     {
 18003         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 18003         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 18004 
 18004 
 18005         {
 18005         {
 18006             symbol_c *IN_type_symbol = param_data_type;
 18006             symbol_c *IN_type_symbol = param_data_type;
 18007             last_type_symbol = param_data_type;
 18007             last_type_symbol = IN_type_symbol;
 18008             
 18008             
 18009             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 18009             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 18010             {
 18010             {
 18011         
 18011         
 18012                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 18012                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 18028     {
 18028     {
 18029         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 18029         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 18030 
 18030 
 18031         {
 18031         {
 18032             symbol_c *IN_type_symbol = param_data_type;
 18032             symbol_c *IN_type_symbol = param_data_type;
 18033             last_type_symbol = param_data_type;
 18033             last_type_symbol = IN_type_symbol;
 18034             
 18034             
 18035             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 18035             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 18036             {
 18036             {
 18037         
 18037         
 18038                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 18038                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 18054     {
 18054     {
 18055         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 18055         symbol_c *last_type_symbol = &search_constant_type_c::sint_type_name;
 18056 
 18056 
 18057         {
 18057         {
 18058             symbol_c *IN_type_symbol = param_data_type;
 18058             symbol_c *IN_type_symbol = param_data_type;
 18059             last_type_symbol = param_data_type;
 18059             last_type_symbol = IN_type_symbol;
 18060             
 18060             
 18061             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 18061             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
 18062             {
 18062             {
 18063         
 18063         
 18064                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 18064                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 18080     {
 18080     {
 18081         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18081         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18082 
 18082 
 18083         {
 18083         {
 18084             symbol_c *IN_type_symbol = param_data_type;
 18084             symbol_c *IN_type_symbol = param_data_type;
 18085             last_type_symbol = param_data_type;
 18085             last_type_symbol = IN_type_symbol;
 18086             
 18086             
 18087             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18087             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18088             {
 18088             {
 18089         
 18089         
 18090                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 18090                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 18106     {
 18106     {
 18107         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18107         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18108 
 18108 
 18109         {
 18109         {
 18110             symbol_c *IN_type_symbol = param_data_type;
 18110             symbol_c *IN_type_symbol = param_data_type;
 18111             last_type_symbol = param_data_type;
 18111             last_type_symbol = IN_type_symbol;
 18112             
 18112             
 18113             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18113             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18114             {
 18114             {
 18115         
 18115         
 18116                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 18116                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 18132     {
 18132     {
 18133         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18133         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18134 
 18134 
 18135         {
 18135         {
 18136             symbol_c *IN_type_symbol = param_data_type;
 18136             symbol_c *IN_type_symbol = param_data_type;
 18137             last_type_symbol = param_data_type;
 18137             last_type_symbol = IN_type_symbol;
 18138             
 18138             
 18139             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18139             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18140             {
 18140             {
 18141         
 18141         
 18142                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 18142                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 18158     {
 18158     {
 18159         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18159         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18160 
 18160 
 18161         {
 18161         {
 18162             symbol_c *IN_type_symbol = param_data_type;
 18162             symbol_c *IN_type_symbol = param_data_type;
 18163             last_type_symbol = param_data_type;
 18163             last_type_symbol = IN_type_symbol;
 18164             
 18164             
 18165             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18165             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18166             {
 18166             {
 18167         
 18167         
 18168                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 18168                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 18184     {
 18184     {
 18185         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18185         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18186 
 18186 
 18187         {
 18187         {
 18188             symbol_c *IN_type_symbol = param_data_type;
 18188             symbol_c *IN_type_symbol = param_data_type;
 18189             last_type_symbol = param_data_type;
 18189             last_type_symbol = IN_type_symbol;
 18190             
 18190             
 18191             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18191             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18192             {
 18192             {
 18193         
 18193         
 18194                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 18194                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 18210     {
 18210     {
 18211         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18211         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18212 
 18212 
 18213         {
 18213         {
 18214             symbol_c *IN_type_symbol = param_data_type;
 18214             symbol_c *IN_type_symbol = param_data_type;
 18215             last_type_symbol = param_data_type;
 18215             last_type_symbol = IN_type_symbol;
 18216             
 18216             
 18217             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18217             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18218             {
 18218             {
 18219         
 18219         
 18220                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 18220                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 18236     {
 18236     {
 18237         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18237         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18238 
 18238 
 18239         {
 18239         {
 18240             symbol_c *IN_type_symbol = param_data_type;
 18240             symbol_c *IN_type_symbol = param_data_type;
 18241             last_type_symbol = param_data_type;
 18241             last_type_symbol = IN_type_symbol;
 18242             
 18242             
 18243             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18243             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18244             {
 18244             {
 18245         
 18245         
 18246                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 18246                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 18262     {
 18262     {
 18263         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18263         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18264 
 18264 
 18265         {
 18265         {
 18266             symbol_c *IN_type_symbol = param_data_type;
 18266             symbol_c *IN_type_symbol = param_data_type;
 18267             last_type_symbol = param_data_type;
 18267             last_type_symbol = IN_type_symbol;
 18268             
 18268             
 18269             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18269             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18270             {
 18270             {
 18271         
 18271         
 18272                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 18272                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 18288     {
 18288     {
 18289         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18289         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18290 
 18290 
 18291         {
 18291         {
 18292             symbol_c *IN_type_symbol = param_data_type;
 18292             symbol_c *IN_type_symbol = param_data_type;
 18293             last_type_symbol = param_data_type;
 18293             last_type_symbol = IN_type_symbol;
 18294             
 18294             
 18295             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18295             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18296             {
 18296             {
 18297         
 18297         
 18298                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 18298                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 18314     {
 18314     {
 18315         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18315         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18316 
 18316 
 18317         {
 18317         {
 18318             symbol_c *IN_type_symbol = param_data_type;
 18318             symbol_c *IN_type_symbol = param_data_type;
 18319             last_type_symbol = param_data_type;
 18319             last_type_symbol = IN_type_symbol;
 18320             
 18320             
 18321             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18321             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18322             {
 18322             {
 18323         
 18323         
 18324                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 18324                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 18340     {
 18340     {
 18341         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18341         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18342 
 18342 
 18343         {
 18343         {
 18344             symbol_c *IN_type_symbol = param_data_type;
 18344             symbol_c *IN_type_symbol = param_data_type;
 18345             last_type_symbol = param_data_type;
 18345             last_type_symbol = IN_type_symbol;
 18346             
 18346             
 18347             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18347             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18348             {
 18348             {
 18349         
 18349         
 18350                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 18350                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 18366     {
 18366     {
 18367         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18367         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18368 
 18368 
 18369         {
 18369         {
 18370             symbol_c *IN_type_symbol = param_data_type;
 18370             symbol_c *IN_type_symbol = param_data_type;
 18371             last_type_symbol = param_data_type;
 18371             last_type_symbol = IN_type_symbol;
 18372             
 18372             
 18373             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18373             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18374             {
 18374             {
 18375         
 18375         
 18376                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 18376                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 18392     {
 18392     {
 18393         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18393         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18394 
 18394 
 18395         {
 18395         {
 18396             symbol_c *IN_type_symbol = param_data_type;
 18396             symbol_c *IN_type_symbol = param_data_type;
 18397             last_type_symbol = param_data_type;
 18397             last_type_symbol = IN_type_symbol;
 18398             
 18398             
 18399             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18399             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18400             {
 18400             {
 18401         
 18401         
 18402                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 18402                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 18418     {
 18418     {
 18419         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18419         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18420 
 18420 
 18421         {
 18421         {
 18422             symbol_c *IN_type_symbol = param_data_type;
 18422             symbol_c *IN_type_symbol = param_data_type;
 18423             last_type_symbol = param_data_type;
 18423             last_type_symbol = IN_type_symbol;
 18424             
 18424             
 18425             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18425             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18426             {
 18426             {
 18427         
 18427         
 18428                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 18428                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 18444     {
 18444     {
 18445         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18445         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18446 
 18446 
 18447         {
 18447         {
 18448             symbol_c *IN_type_symbol = param_data_type;
 18448             symbol_c *IN_type_symbol = param_data_type;
 18449             last_type_symbol = param_data_type;
 18449             last_type_symbol = IN_type_symbol;
 18450             
 18450             
 18451             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18451             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18452             {
 18452             {
 18453         
 18453         
 18454                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 18454                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 18470     {
 18470     {
 18471         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18471         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18472 
 18472 
 18473         {
 18473         {
 18474             symbol_c *IN_type_symbol = param_data_type;
 18474             symbol_c *IN_type_symbol = param_data_type;
 18475             last_type_symbol = param_data_type;
 18475             last_type_symbol = IN_type_symbol;
 18476             
 18476             
 18477             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18477             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18478             {
 18478             {
 18479         
 18479         
 18480                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 18480                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 18496     {
 18496     {
 18497         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18497         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18498 
 18498 
 18499         {
 18499         {
 18500             symbol_c *IN_type_symbol = param_data_type;
 18500             symbol_c *IN_type_symbol = param_data_type;
 18501             last_type_symbol = param_data_type;
 18501             last_type_symbol = IN_type_symbol;
 18502             
 18502             
 18503             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18503             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18504             {
 18504             {
 18505         
 18505         
 18506                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 18506                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 18522     {
 18522     {
 18523         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18523         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18524 
 18524 
 18525         {
 18525         {
 18526             symbol_c *IN_type_symbol = param_data_type;
 18526             symbol_c *IN_type_symbol = param_data_type;
 18527             last_type_symbol = param_data_type;
 18527             last_type_symbol = IN_type_symbol;
 18528             
 18528             
 18529             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18529             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18530             {
 18530             {
 18531         
 18531         
 18532                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 18532                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 18548     {
 18548     {
 18549         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18549         symbol_c *last_type_symbol = &search_constant_type_c::lint_type_name;
 18550 
 18550 
 18551         {
 18551         {
 18552             symbol_c *IN_type_symbol = param_data_type;
 18552             symbol_c *IN_type_symbol = param_data_type;
 18553             last_type_symbol = param_data_type;
 18553             last_type_symbol = IN_type_symbol;
 18554             
 18554             
 18555             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18555             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
 18556             {
 18556             {
 18557         
 18557         
 18558                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 18558                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 18574     {
 18574     {
 18575         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18575         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18576 
 18576 
 18577         {
 18577         {
 18578             symbol_c *IN_type_symbol = param_data_type;
 18578             symbol_c *IN_type_symbol = param_data_type;
 18579             last_type_symbol = param_data_type;
 18579             last_type_symbol = IN_type_symbol;
 18580             
 18580             
 18581             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18581             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18582             {
 18582             {
 18583         
 18583         
 18584                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 18584                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 18600     {
 18600     {
 18601         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18601         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18602 
 18602 
 18603         {
 18603         {
 18604             symbol_c *IN_type_symbol = param_data_type;
 18604             symbol_c *IN_type_symbol = param_data_type;
 18605             last_type_symbol = param_data_type;
 18605             last_type_symbol = IN_type_symbol;
 18606             
 18606             
 18607             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18607             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18608             {
 18608             {
 18609         
 18609         
 18610                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 18610                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 18626     {
 18626     {
 18627         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18627         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18628 
 18628 
 18629         {
 18629         {
 18630             symbol_c *IN_type_symbol = param_data_type;
 18630             symbol_c *IN_type_symbol = param_data_type;
 18631             last_type_symbol = param_data_type;
 18631             last_type_symbol = IN_type_symbol;
 18632             
 18632             
 18633             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18633             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18634             {
 18634             {
 18635         
 18635         
 18636                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 18636                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 18652     {
 18652     {
 18653         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18653         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18654 
 18654 
 18655         {
 18655         {
 18656             symbol_c *IN_type_symbol = param_data_type;
 18656             symbol_c *IN_type_symbol = param_data_type;
 18657             last_type_symbol = param_data_type;
 18657             last_type_symbol = IN_type_symbol;
 18658             
 18658             
 18659             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18659             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18660             {
 18660             {
 18661         
 18661         
 18662                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 18662                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 18678     {
 18678     {
 18679         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18679         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18680 
 18680 
 18681         {
 18681         {
 18682             symbol_c *IN_type_symbol = param_data_type;
 18682             symbol_c *IN_type_symbol = param_data_type;
 18683             last_type_symbol = param_data_type;
 18683             last_type_symbol = IN_type_symbol;
 18684             
 18684             
 18685             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18685             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18686             {
 18686             {
 18687         
 18687         
 18688                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 18688                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 18704     {
 18704     {
 18705         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18705         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18706 
 18706 
 18707         {
 18707         {
 18708             symbol_c *IN_type_symbol = param_data_type;
 18708             symbol_c *IN_type_symbol = param_data_type;
 18709             last_type_symbol = param_data_type;
 18709             last_type_symbol = IN_type_symbol;
 18710             
 18710             
 18711             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18711             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18712             {
 18712             {
 18713         
 18713         
 18714                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 18714                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 18730     {
 18730     {
 18731         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18731         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18732 
 18732 
 18733         {
 18733         {
 18734             symbol_c *IN_type_symbol = param_data_type;
 18734             symbol_c *IN_type_symbol = param_data_type;
 18735             last_type_symbol = param_data_type;
 18735             last_type_symbol = IN_type_symbol;
 18736             
 18736             
 18737             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18737             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18738             {
 18738             {
 18739         
 18739         
 18740                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 18740                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 18756     {
 18756     {
 18757         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18757         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18758 
 18758 
 18759         {
 18759         {
 18760             symbol_c *IN_type_symbol = param_data_type;
 18760             symbol_c *IN_type_symbol = param_data_type;
 18761             last_type_symbol = param_data_type;
 18761             last_type_symbol = IN_type_symbol;
 18762             
 18762             
 18763             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18763             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18764             {
 18764             {
 18765         
 18765         
 18766                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 18766                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 18782     {
 18782     {
 18783         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18783         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18784 
 18784 
 18785         {
 18785         {
 18786             symbol_c *IN_type_symbol = param_data_type;
 18786             symbol_c *IN_type_symbol = param_data_type;
 18787             last_type_symbol = param_data_type;
 18787             last_type_symbol = IN_type_symbol;
 18788             
 18788             
 18789             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18789             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18790             {
 18790             {
 18791         
 18791         
 18792                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 18792                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 18808     {
 18808     {
 18809         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18809         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18810 
 18810 
 18811         {
 18811         {
 18812             symbol_c *IN_type_symbol = param_data_type;
 18812             symbol_c *IN_type_symbol = param_data_type;
 18813             last_type_symbol = param_data_type;
 18813             last_type_symbol = IN_type_symbol;
 18814             
 18814             
 18815             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18815             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18816             {
 18816             {
 18817         
 18817         
 18818                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 18818                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 18834     {
 18834     {
 18835         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18835         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18836 
 18836 
 18837         {
 18837         {
 18838             symbol_c *IN_type_symbol = param_data_type;
 18838             symbol_c *IN_type_symbol = param_data_type;
 18839             last_type_symbol = param_data_type;
 18839             last_type_symbol = IN_type_symbol;
 18840             
 18840             
 18841             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18841             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18842             {
 18842             {
 18843         
 18843         
 18844                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 18844                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 18860     {
 18860     {
 18861         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18861         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18862 
 18862 
 18863         {
 18863         {
 18864             symbol_c *IN_type_symbol = param_data_type;
 18864             symbol_c *IN_type_symbol = param_data_type;
 18865             last_type_symbol = param_data_type;
 18865             last_type_symbol = IN_type_symbol;
 18866             
 18866             
 18867             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18867             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18868             {
 18868             {
 18869         
 18869         
 18870                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 18870                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 18886     {
 18886     {
 18887         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18887         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18888 
 18888 
 18889         {
 18889         {
 18890             symbol_c *IN_type_symbol = param_data_type;
 18890             symbol_c *IN_type_symbol = param_data_type;
 18891             last_type_symbol = param_data_type;
 18891             last_type_symbol = IN_type_symbol;
 18892             
 18892             
 18893             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18893             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18894             {
 18894             {
 18895         
 18895         
 18896                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 18896                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 18912     {
 18912     {
 18913         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18913         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18914 
 18914 
 18915         {
 18915         {
 18916             symbol_c *IN_type_symbol = param_data_type;
 18916             symbol_c *IN_type_symbol = param_data_type;
 18917             last_type_symbol = param_data_type;
 18917             last_type_symbol = IN_type_symbol;
 18918             
 18918             
 18919             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18919             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18920             {
 18920             {
 18921         
 18921         
 18922                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 18922                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 18938     {
 18938     {
 18939         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18939         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18940 
 18940 
 18941         {
 18941         {
 18942             symbol_c *IN_type_symbol = param_data_type;
 18942             symbol_c *IN_type_symbol = param_data_type;
 18943             last_type_symbol = param_data_type;
 18943             last_type_symbol = IN_type_symbol;
 18944             
 18944             
 18945             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18945             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18946             {
 18946             {
 18947         
 18947         
 18948                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 18948                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 18964     {
 18964     {
 18965         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18965         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18966 
 18966 
 18967         {
 18967         {
 18968             symbol_c *IN_type_symbol = param_data_type;
 18968             symbol_c *IN_type_symbol = param_data_type;
 18969             last_type_symbol = param_data_type;
 18969             last_type_symbol = IN_type_symbol;
 18970             
 18970             
 18971             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18971             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18972             {
 18972             {
 18973         
 18973         
 18974                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 18974                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 18990     {
 18990     {
 18991         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18991         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 18992 
 18992 
 18993         {
 18993         {
 18994             symbol_c *IN_type_symbol = param_data_type;
 18994             symbol_c *IN_type_symbol = param_data_type;
 18995             last_type_symbol = param_data_type;
 18995             last_type_symbol = IN_type_symbol;
 18996             
 18996             
 18997             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18997             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 18998             {
 18998             {
 18999         
 18999         
 19000                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 19000                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 19016     {
 19016     {
 19017         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 19017         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 19018 
 19018 
 19019         {
 19019         {
 19020             symbol_c *IN_type_symbol = param_data_type;
 19020             symbol_c *IN_type_symbol = param_data_type;
 19021             last_type_symbol = param_data_type;
 19021             last_type_symbol = IN_type_symbol;
 19022             
 19022             
 19023             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 19023             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 19024             {
 19024             {
 19025         
 19025         
 19026                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 19026                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 19042     {
 19042     {
 19043         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 19043         symbol_c *last_type_symbol = &search_constant_type_c::dint_type_name;
 19044 
 19044 
 19045         {
 19045         {
 19046             symbol_c *IN_type_symbol = param_data_type;
 19046             symbol_c *IN_type_symbol = param_data_type;
 19047             last_type_symbol = param_data_type;
 19047             last_type_symbol = IN_type_symbol;
 19048             
 19048             
 19049             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 19049             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
 19050             {
 19050             {
 19051         
 19051         
 19052                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 19052                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 19068     {
 19068     {
 19069         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19069         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19070 
 19070 
 19071         {
 19071         {
 19072             symbol_c *IN_type_symbol = param_data_type;
 19072             symbol_c *IN_type_symbol = param_data_type;
 19073             last_type_symbol = param_data_type;
 19073             last_type_symbol = IN_type_symbol;
 19074             
 19074             
 19075             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19075             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19076             {
 19076             {
 19077         
 19077         
 19078                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 19078                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 19094     {
 19094     {
 19095         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19095         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19096 
 19096 
 19097         {
 19097         {
 19098             symbol_c *IN_type_symbol = param_data_type;
 19098             symbol_c *IN_type_symbol = param_data_type;
 19099             last_type_symbol = param_data_type;
 19099             last_type_symbol = IN_type_symbol;
 19100             
 19100             
 19101             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19101             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19102             {
 19102             {
 19103         
 19103         
 19104                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 19104                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 19120     {
 19120     {
 19121         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19121         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19122 
 19122 
 19123         {
 19123         {
 19124             symbol_c *IN_type_symbol = param_data_type;
 19124             symbol_c *IN_type_symbol = param_data_type;
 19125             last_type_symbol = param_data_type;
 19125             last_type_symbol = IN_type_symbol;
 19126             
 19126             
 19127             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19127             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19128             {
 19128             {
 19129         
 19129         
 19130                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 19130                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 19146     {
 19146     {
 19147         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19147         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19148 
 19148 
 19149         {
 19149         {
 19150             symbol_c *IN_type_symbol = param_data_type;
 19150             symbol_c *IN_type_symbol = param_data_type;
 19151             last_type_symbol = param_data_type;
 19151             last_type_symbol = IN_type_symbol;
 19152             
 19152             
 19153             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19153             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19154             {
 19154             {
 19155         
 19155         
 19156                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 19156                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 19172     {
 19172     {
 19173         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19173         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19174 
 19174 
 19175         {
 19175         {
 19176             symbol_c *IN_type_symbol = param_data_type;
 19176             symbol_c *IN_type_symbol = param_data_type;
 19177             last_type_symbol = param_data_type;
 19177             last_type_symbol = IN_type_symbol;
 19178             
 19178             
 19179             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19179             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19180             {
 19180             {
 19181         
 19181         
 19182                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 19182                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 19198     {
 19198     {
 19199         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19199         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19200 
 19200 
 19201         {
 19201         {
 19202             symbol_c *IN_type_symbol = param_data_type;
 19202             symbol_c *IN_type_symbol = param_data_type;
 19203             last_type_symbol = param_data_type;
 19203             last_type_symbol = IN_type_symbol;
 19204             
 19204             
 19205             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19205             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19206             {
 19206             {
 19207         
 19207         
 19208                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 19208                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 19224     {
 19224     {
 19225         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19225         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19226 
 19226 
 19227         {
 19227         {
 19228             symbol_c *IN_type_symbol = param_data_type;
 19228             symbol_c *IN_type_symbol = param_data_type;
 19229             last_type_symbol = param_data_type;
 19229             last_type_symbol = IN_type_symbol;
 19230             
 19230             
 19231             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19231             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19232             {
 19232             {
 19233         
 19233         
 19234                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 19234                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 19250     {
 19250     {
 19251         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19251         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19252 
 19252 
 19253         {
 19253         {
 19254             symbol_c *IN_type_symbol = param_data_type;
 19254             symbol_c *IN_type_symbol = param_data_type;
 19255             last_type_symbol = param_data_type;
 19255             last_type_symbol = IN_type_symbol;
 19256             
 19256             
 19257             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19257             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19258             {
 19258             {
 19259         
 19259         
 19260                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19260                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19276     {
 19276     {
 19277         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19277         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19278 
 19278 
 19279         {
 19279         {
 19280             symbol_c *IN_type_symbol = param_data_type;
 19280             symbol_c *IN_type_symbol = param_data_type;
 19281             last_type_symbol = param_data_type;
 19281             last_type_symbol = IN_type_symbol;
 19282             
 19282             
 19283             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19283             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19284             {
 19284             {
 19285         
 19285         
 19286                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 19286                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 19302     {
 19302     {
 19303         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19303         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19304 
 19304 
 19305         {
 19305         {
 19306             symbol_c *IN_type_symbol = param_data_type;
 19306             symbol_c *IN_type_symbol = param_data_type;
 19307             last_type_symbol = param_data_type;
 19307             last_type_symbol = IN_type_symbol;
 19308             
 19308             
 19309             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19309             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19310             {
 19310             {
 19311         
 19311         
 19312                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 19312                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 19328     {
 19328     {
 19329         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19329         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19330 
 19330 
 19331         {
 19331         {
 19332             symbol_c *IN_type_symbol = param_data_type;
 19332             symbol_c *IN_type_symbol = param_data_type;
 19333             last_type_symbol = param_data_type;
 19333             last_type_symbol = IN_type_symbol;
 19334             
 19334             
 19335             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19335             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19336             {
 19336             {
 19337         
 19337         
 19338                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 19338                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 19354     {
 19354     {
 19355         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19355         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19356 
 19356 
 19357         {
 19357         {
 19358             symbol_c *IN_type_symbol = param_data_type;
 19358             symbol_c *IN_type_symbol = param_data_type;
 19359             last_type_symbol = param_data_type;
 19359             last_type_symbol = IN_type_symbol;
 19360             
 19360             
 19361             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19361             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19362             {
 19362             {
 19363         
 19363         
 19364                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 19364                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 19380     {
 19380     {
 19381         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19381         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19382 
 19382 
 19383         {
 19383         {
 19384             symbol_c *IN_type_symbol = param_data_type;
 19384             symbol_c *IN_type_symbol = param_data_type;
 19385             last_type_symbol = param_data_type;
 19385             last_type_symbol = IN_type_symbol;
 19386             
 19386             
 19387             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19387             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19388             {
 19388             {
 19389         
 19389         
 19390                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 19390                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 19406     {
 19406     {
 19407         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19407         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19408 
 19408 
 19409         {
 19409         {
 19410             symbol_c *IN_type_symbol = param_data_type;
 19410             symbol_c *IN_type_symbol = param_data_type;
 19411             last_type_symbol = param_data_type;
 19411             last_type_symbol = IN_type_symbol;
 19412             
 19412             
 19413             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19413             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19414             {
 19414             {
 19415         
 19415         
 19416                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 19416                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 19432     {
 19432     {
 19433         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19433         symbol_c *last_type_symbol = &search_constant_type_c::date_type_name;
 19434 
 19434 
 19435         {
 19435         {
 19436             symbol_c *IN_type_symbol = param_data_type;
 19436             symbol_c *IN_type_symbol = param_data_type;
 19437             last_type_symbol = param_data_type;
 19437             last_type_symbol = IN_type_symbol;
 19438             
 19438             
 19439             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19439             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19440             {
 19440             {
 19441         
 19441         
 19442                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 19442                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 19458     {
 19458     {
 19459         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19459         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19460 
 19460 
 19461         {
 19461         {
 19462             symbol_c *IN_type_symbol = param_data_type;
 19462             symbol_c *IN_type_symbol = param_data_type;
 19463             last_type_symbol = param_data_type;
 19463             last_type_symbol = IN_type_symbol;
 19464             
 19464             
 19465             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19465             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19466             {
 19466             {
 19467         
 19467         
 19468                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 19468                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 19484     {
 19484     {
 19485         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19485         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19486 
 19486 
 19487         {
 19487         {
 19488             symbol_c *IN_type_symbol = param_data_type;
 19488             symbol_c *IN_type_symbol = param_data_type;
 19489             last_type_symbol = param_data_type;
 19489             last_type_symbol = IN_type_symbol;
 19490             
 19490             
 19491             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19491             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19492             {
 19492             {
 19493         
 19493         
 19494                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 19494                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 19510     {
 19510     {
 19511         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19511         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19512 
 19512 
 19513         {
 19513         {
 19514             symbol_c *IN_type_symbol = param_data_type;
 19514             symbol_c *IN_type_symbol = param_data_type;
 19515             last_type_symbol = param_data_type;
 19515             last_type_symbol = IN_type_symbol;
 19516             
 19516             
 19517             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19517             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19518             {
 19518             {
 19519         
 19519         
 19520                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 19520                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 19536     {
 19536     {
 19537         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19537         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19538 
 19538 
 19539         {
 19539         {
 19540             symbol_c *IN_type_symbol = param_data_type;
 19540             symbol_c *IN_type_symbol = param_data_type;
 19541             last_type_symbol = param_data_type;
 19541             last_type_symbol = IN_type_symbol;
 19542             
 19542             
 19543             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19543             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19544             {
 19544             {
 19545         
 19545         
 19546                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 19546                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 19562     {
 19562     {
 19563         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19563         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19564 
 19564 
 19565         {
 19565         {
 19566             symbol_c *IN_type_symbol = param_data_type;
 19566             symbol_c *IN_type_symbol = param_data_type;
 19567             last_type_symbol = param_data_type;
 19567             last_type_symbol = IN_type_symbol;
 19568             
 19568             
 19569             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19569             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19570             {
 19570             {
 19571         
 19571         
 19572                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 19572                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 19588     {
 19588     {
 19589         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19589         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19590 
 19590 
 19591         {
 19591         {
 19592             symbol_c *IN_type_symbol = param_data_type;
 19592             symbol_c *IN_type_symbol = param_data_type;
 19593             last_type_symbol = param_data_type;
 19593             last_type_symbol = IN_type_symbol;
 19594             
 19594             
 19595             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19595             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19596             {
 19596             {
 19597         
 19597         
 19598                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 19598                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 19614     {
 19614     {
 19615         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19615         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19616 
 19616 
 19617         {
 19617         {
 19618             symbol_c *IN_type_symbol = param_data_type;
 19618             symbol_c *IN_type_symbol = param_data_type;
 19619             last_type_symbol = param_data_type;
 19619             last_type_symbol = IN_type_symbol;
 19620             
 19620             
 19621             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19621             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19622             {
 19622             {
 19623         
 19623         
 19624                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 19624                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 19640     {
 19640     {
 19641         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19641         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19642 
 19642 
 19643         {
 19643         {
 19644             symbol_c *IN_type_symbol = param_data_type;
 19644             symbol_c *IN_type_symbol = param_data_type;
 19645             last_type_symbol = param_data_type;
 19645             last_type_symbol = IN_type_symbol;
 19646             
 19646             
 19647             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19647             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19648             {
 19648             {
 19649         
 19649         
 19650                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 19650                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 19666     {
 19666     {
 19667         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19667         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19668 
 19668 
 19669         {
 19669         {
 19670             symbol_c *IN_type_symbol = param_data_type;
 19670             symbol_c *IN_type_symbol = param_data_type;
 19671             last_type_symbol = param_data_type;
 19671             last_type_symbol = IN_type_symbol;
 19672             
 19672             
 19673             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19673             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19674             {
 19674             {
 19675         
 19675         
 19676                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 19676                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 19692     {
 19692     {
 19693         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19693         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19694 
 19694 
 19695         {
 19695         {
 19696             symbol_c *IN_type_symbol = param_data_type;
 19696             symbol_c *IN_type_symbol = param_data_type;
 19697             last_type_symbol = param_data_type;
 19697             last_type_symbol = IN_type_symbol;
 19698             
 19698             
 19699             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19699             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19700             {
 19700             {
 19701         
 19701         
 19702                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19702                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19718     {
 19718     {
 19719         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19719         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19720 
 19720 
 19721         {
 19721         {
 19722             symbol_c *IN_type_symbol = param_data_type;
 19722             symbol_c *IN_type_symbol = param_data_type;
 19723             last_type_symbol = param_data_type;
 19723             last_type_symbol = IN_type_symbol;
 19724             
 19724             
 19725             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19725             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19726             {
 19726             {
 19727         
 19727         
 19728                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 19728                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 19744     {
 19744     {
 19745         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19745         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19746 
 19746 
 19747         {
 19747         {
 19748             symbol_c *IN_type_symbol = param_data_type;
 19748             symbol_c *IN_type_symbol = param_data_type;
 19749             last_type_symbol = param_data_type;
 19749             last_type_symbol = IN_type_symbol;
 19750             
 19750             
 19751             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19751             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19752             {
 19752             {
 19753         
 19753         
 19754                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 19754                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 19770     {
 19770     {
 19771         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19771         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19772 
 19772 
 19773         {
 19773         {
 19774             symbol_c *IN_type_symbol = param_data_type;
 19774             symbol_c *IN_type_symbol = param_data_type;
 19775             last_type_symbol = param_data_type;
 19775             last_type_symbol = IN_type_symbol;
 19776             
 19776             
 19777             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19777             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19778             {
 19778             {
 19779         
 19779         
 19780                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 19780                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 19796     {
 19796     {
 19797         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19797         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19798 
 19798 
 19799         {
 19799         {
 19800             symbol_c *IN_type_symbol = param_data_type;
 19800             symbol_c *IN_type_symbol = param_data_type;
 19801             last_type_symbol = param_data_type;
 19801             last_type_symbol = IN_type_symbol;
 19802             
 19802             
 19803             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19803             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19804             {
 19804             {
 19805         
 19805         
 19806                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 19806                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 19822     {
 19822     {
 19823         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19823         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19824 
 19824 
 19825         {
 19825         {
 19826             symbol_c *IN_type_symbol = param_data_type;
 19826             symbol_c *IN_type_symbol = param_data_type;
 19827             last_type_symbol = param_data_type;
 19827             last_type_symbol = IN_type_symbol;
 19828             
 19828             
 19829             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19829             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19830             {
 19830             {
 19831         
 19831         
 19832                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 19832                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 19848     {
 19848     {
 19849         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19849         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19850 
 19850 
 19851         {
 19851         {
 19852             symbol_c *IN_type_symbol = param_data_type;
 19852             symbol_c *IN_type_symbol = param_data_type;
 19853             last_type_symbol = param_data_type;
 19853             last_type_symbol = IN_type_symbol;
 19854             
 19854             
 19855             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19855             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19856             {
 19856             {
 19857         
 19857         
 19858                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 19858                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 19874     {
 19874     {
 19875         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19875         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19876 
 19876 
 19877         {
 19877         {
 19878             symbol_c *IN_type_symbol = param_data_type;
 19878             symbol_c *IN_type_symbol = param_data_type;
 19879             last_type_symbol = param_data_type;
 19879             last_type_symbol = IN_type_symbol;
 19880             
 19880             
 19881             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19881             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19882             {
 19882             {
 19883         
 19883         
 19884                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 19884                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 19900     {
 19900     {
 19901         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19901         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19902 
 19902 
 19903         {
 19903         {
 19904             symbol_c *IN_type_symbol = param_data_type;
 19904             symbol_c *IN_type_symbol = param_data_type;
 19905             last_type_symbol = param_data_type;
 19905             last_type_symbol = IN_type_symbol;
 19906             
 19906             
 19907             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19907             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19908             {
 19908             {
 19909         
 19909         
 19910                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 19910                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 19926     {
 19926     {
 19927         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19927         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 19928 
 19928 
 19929         {
 19929         {
 19930             symbol_c *IN_type_symbol = param_data_type;
 19930             symbol_c *IN_type_symbol = param_data_type;
 19931             last_type_symbol = param_data_type;
 19931             last_type_symbol = IN_type_symbol;
 19932             
 19932             
 19933             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19933             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 19934             {
 19934             {
 19935         
 19935         
 19936                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 19936                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 19952     {
 19952     {
 19953         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 19953         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 19954 
 19954 
 19955         {
 19955         {
 19956             symbol_c *IN_type_symbol = param_data_type;
 19956             symbol_c *IN_type_symbol = param_data_type;
 19957             last_type_symbol = param_data_type;
 19957             last_type_symbol = IN_type_symbol;
 19958             
 19958             
 19959             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 19959             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 19960             {
 19960             {
 19961         
 19961         
 19962                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 19962                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 19978     {
 19978     {
 19979         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 19979         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 19980 
 19980 
 19981         {
 19981         {
 19982             symbol_c *IN_type_symbol = param_data_type;
 19982             symbol_c *IN_type_symbol = param_data_type;
 19983             last_type_symbol = param_data_type;
 19983             last_type_symbol = IN_type_symbol;
 19984             
 19984             
 19985             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 19985             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 19986             {
 19986             {
 19987         
 19987         
 19988                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 19988                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 20004     {
 20004     {
 20005         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20005         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20006 
 20006 
 20007         {
 20007         {
 20008             symbol_c *IN_type_symbol = param_data_type;
 20008             symbol_c *IN_type_symbol = param_data_type;
 20009             last_type_symbol = param_data_type;
 20009             last_type_symbol = IN_type_symbol;
 20010             
 20010             
 20011             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20011             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20012             {
 20012             {
 20013         
 20013         
 20014                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 20014                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 20030     {
 20030     {
 20031         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20031         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20032 
 20032 
 20033         {
 20033         {
 20034             symbol_c *IN_type_symbol = param_data_type;
 20034             symbol_c *IN_type_symbol = param_data_type;
 20035             last_type_symbol = param_data_type;
 20035             last_type_symbol = IN_type_symbol;
 20036             
 20036             
 20037             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20037             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20038             {
 20038             {
 20039         
 20039         
 20040                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 20040                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 20056     {
 20056     {
 20057         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20057         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20058 
 20058 
 20059         {
 20059         {
 20060             symbol_c *IN_type_symbol = param_data_type;
 20060             symbol_c *IN_type_symbol = param_data_type;
 20061             last_type_symbol = param_data_type;
 20061             last_type_symbol = IN_type_symbol;
 20062             
 20062             
 20063             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20063             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20064             {
 20064             {
 20065         
 20065         
 20066                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 20066                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 20082     {
 20082     {
 20083         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20083         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20084 
 20084 
 20085         {
 20085         {
 20086             symbol_c *IN_type_symbol = param_data_type;
 20086             symbol_c *IN_type_symbol = param_data_type;
 20087             last_type_symbol = param_data_type;
 20087             last_type_symbol = IN_type_symbol;
 20088             
 20088             
 20089             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20089             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20090             {
 20090             {
 20091         
 20091         
 20092                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 20092                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 20108     {
 20108     {
 20109         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20109         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20110 
 20110 
 20111         {
 20111         {
 20112             symbol_c *IN_type_symbol = param_data_type;
 20112             symbol_c *IN_type_symbol = param_data_type;
 20113             last_type_symbol = param_data_type;
 20113             last_type_symbol = IN_type_symbol;
 20114             
 20114             
 20115             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20115             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20116             {
 20116             {
 20117         
 20117         
 20118                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 20118                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 20134     {
 20134     {
 20135         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20135         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20136 
 20136 
 20137         {
 20137         {
 20138             symbol_c *IN_type_symbol = param_data_type;
 20138             symbol_c *IN_type_symbol = param_data_type;
 20139             last_type_symbol = param_data_type;
 20139             last_type_symbol = IN_type_symbol;
 20140             
 20140             
 20141             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20141             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20142             {
 20142             {
 20143         
 20143         
 20144                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 20144                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 20160     {
 20160     {
 20161         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20161         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20162 
 20162 
 20163         {
 20163         {
 20164             symbol_c *IN_type_symbol = param_data_type;
 20164             symbol_c *IN_type_symbol = param_data_type;
 20165             last_type_symbol = param_data_type;
 20165             last_type_symbol = IN_type_symbol;
 20166             
 20166             
 20167             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20167             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20168             {
 20168             {
 20169         
 20169         
 20170                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 20170                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 20186     {
 20186     {
 20187         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20187         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20188 
 20188 
 20189         {
 20189         {
 20190             symbol_c *IN_type_symbol = param_data_type;
 20190             symbol_c *IN_type_symbol = param_data_type;
 20191             last_type_symbol = param_data_type;
 20191             last_type_symbol = IN_type_symbol;
 20192             
 20192             
 20193             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20193             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20194             {
 20194             {
 20195         
 20195         
 20196                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 20196                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 20212     {
 20212     {
 20213         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20213         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20214 
 20214 
 20215         {
 20215         {
 20216             symbol_c *IN_type_symbol = param_data_type;
 20216             symbol_c *IN_type_symbol = param_data_type;
 20217             last_type_symbol = param_data_type;
 20217             last_type_symbol = IN_type_symbol;
 20218             
 20218             
 20219             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20219             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20220             {
 20220             {
 20221         
 20221         
 20222                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 20222                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 20238     {
 20238     {
 20239         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20239         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20240 
 20240 
 20241         {
 20241         {
 20242             symbol_c *IN_type_symbol = param_data_type;
 20242             symbol_c *IN_type_symbol = param_data_type;
 20243             last_type_symbol = param_data_type;
 20243             last_type_symbol = IN_type_symbol;
 20244             
 20244             
 20245             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20245             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20246             {
 20246             {
 20247         
 20247         
 20248                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 20248                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 20264     {
 20264     {
 20265         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20265         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20266 
 20266 
 20267         {
 20267         {
 20268             symbol_c *IN_type_symbol = param_data_type;
 20268             symbol_c *IN_type_symbol = param_data_type;
 20269             last_type_symbol = param_data_type;
 20269             last_type_symbol = IN_type_symbol;
 20270             
 20270             
 20271             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20271             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20272             {
 20272             {
 20273         
 20273         
 20274                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 20274                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 20290     {
 20290     {
 20291         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20291         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20292 
 20292 
 20293         {
 20293         {
 20294             symbol_c *IN_type_symbol = param_data_type;
 20294             symbol_c *IN_type_symbol = param_data_type;
 20295             last_type_symbol = param_data_type;
 20295             last_type_symbol = IN_type_symbol;
 20296             
 20296             
 20297             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20297             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20298             {
 20298             {
 20299         
 20299         
 20300                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 20300                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 20316     {
 20316     {
 20317         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20317         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 20318 
 20318 
 20319         {
 20319         {
 20320             symbol_c *IN_type_symbol = param_data_type;
 20320             symbol_c *IN_type_symbol = param_data_type;
 20321             last_type_symbol = param_data_type;
 20321             last_type_symbol = IN_type_symbol;
 20322             
 20322             
 20323             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20323             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 20324             {
 20324             {
 20325         
 20325         
 20326                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 20326                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 20342     {
 20342     {
 20343         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20343         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20344 
 20344 
 20345         {
 20345         {
 20346             symbol_c *IN_type_symbol = param_data_type;
 20346             symbol_c *IN_type_symbol = param_data_type;
 20347             last_type_symbol = param_data_type;
 20347             last_type_symbol = IN_type_symbol;
 20348             
 20348             
 20349             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20349             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20350             {
 20350             {
 20351         
 20351         
 20352                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 20352                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 20368     {
 20368     {
 20369         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20369         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20370 
 20370 
 20371         {
 20371         {
 20372             symbol_c *IN_type_symbol = param_data_type;
 20372             symbol_c *IN_type_symbol = param_data_type;
 20373             last_type_symbol = param_data_type;
 20373             last_type_symbol = IN_type_symbol;
 20374             
 20374             
 20375             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20375             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20376             {
 20376             {
 20377         
 20377         
 20378                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 20378                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 20394     {
 20394     {
 20395         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20395         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20396 
 20396 
 20397         {
 20397         {
 20398             symbol_c *IN_type_symbol = param_data_type;
 20398             symbol_c *IN_type_symbol = param_data_type;
 20399             last_type_symbol = param_data_type;
 20399             last_type_symbol = IN_type_symbol;
 20400             
 20400             
 20401             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20401             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20402             {
 20402             {
 20403         
 20403         
 20404                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 20404                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 20420     {
 20420     {
 20421         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20421         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20422 
 20422 
 20423         {
 20423         {
 20424             symbol_c *IN_type_symbol = param_data_type;
 20424             symbol_c *IN_type_symbol = param_data_type;
 20425             last_type_symbol = param_data_type;
 20425             last_type_symbol = IN_type_symbol;
 20426             
 20426             
 20427             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20427             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20428             {
 20428             {
 20429         
 20429         
 20430                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 20430                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 20446     {
 20446     {
 20447         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20447         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20448 
 20448 
 20449         {
 20449         {
 20450             symbol_c *IN_type_symbol = param_data_type;
 20450             symbol_c *IN_type_symbol = param_data_type;
 20451             last_type_symbol = param_data_type;
 20451             last_type_symbol = IN_type_symbol;
 20452             
 20452             
 20453             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20453             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20454             {
 20454             {
 20455         
 20455         
 20456                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 20456                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 20472     {
 20472     {
 20473         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20473         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20474 
 20474 
 20475         {
 20475         {
 20476             symbol_c *IN_type_symbol = param_data_type;
 20476             symbol_c *IN_type_symbol = param_data_type;
 20477             last_type_symbol = param_data_type;
 20477             last_type_symbol = IN_type_symbol;
 20478             
 20478             
 20479             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20479             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20480             {
 20480             {
 20481         
 20481         
 20482                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 20482                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 20498     {
 20498     {
 20499         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20499         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20500 
 20500 
 20501         {
 20501         {
 20502             symbol_c *IN_type_symbol = param_data_type;
 20502             symbol_c *IN_type_symbol = param_data_type;
 20503             last_type_symbol = param_data_type;
 20503             last_type_symbol = IN_type_symbol;
 20504             
 20504             
 20505             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20505             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20506             {
 20506             {
 20507         
 20507         
 20508                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 20508                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 20524     {
 20524     {
 20525         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20525         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20526 
 20526 
 20527         {
 20527         {
 20528             symbol_c *IN_type_symbol = param_data_type;
 20528             symbol_c *IN_type_symbol = param_data_type;
 20529             last_type_symbol = param_data_type;
 20529             last_type_symbol = IN_type_symbol;
 20530             
 20530             
 20531             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20531             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20532             {
 20532             {
 20533         
 20533         
 20534                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 20534                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 20550     {
 20550     {
 20551         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20551         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20552 
 20552 
 20553         {
 20553         {
 20554             symbol_c *IN_type_symbol = param_data_type;
 20554             symbol_c *IN_type_symbol = param_data_type;
 20555             last_type_symbol = param_data_type;
 20555             last_type_symbol = IN_type_symbol;
 20556             
 20556             
 20557             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20557             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20558             {
 20558             {
 20559         
 20559         
 20560                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 20560                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 20576     {
 20576     {
 20577         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20577         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20578 
 20578 
 20579         {
 20579         {
 20580             symbol_c *IN_type_symbol = param_data_type;
 20580             symbol_c *IN_type_symbol = param_data_type;
 20581             last_type_symbol = param_data_type;
 20581             last_type_symbol = IN_type_symbol;
 20582             
 20582             
 20583             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20583             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20584             {
 20584             {
 20585         
 20585         
 20586                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 20586                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 20602     {
 20602     {
 20603         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20603         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20604 
 20604 
 20605         {
 20605         {
 20606             symbol_c *IN_type_symbol = param_data_type;
 20606             symbol_c *IN_type_symbol = param_data_type;
 20607             last_type_symbol = param_data_type;
 20607             last_type_symbol = IN_type_symbol;
 20608             
 20608             
 20609             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20609             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20610             {
 20610             {
 20611         
 20611         
 20612                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 20612                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 20628     {
 20628     {
 20629         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20629         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20630 
 20630 
 20631         {
 20631         {
 20632             symbol_c *IN_type_symbol = param_data_type;
 20632             symbol_c *IN_type_symbol = param_data_type;
 20633             last_type_symbol = param_data_type;
 20633             last_type_symbol = IN_type_symbol;
 20634             
 20634             
 20635             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20635             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20636             {
 20636             {
 20637         
 20637         
 20638                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 20638                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 20654     {
 20654     {
 20655         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20655         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20656 
 20656 
 20657         {
 20657         {
 20658             symbol_c *IN_type_symbol = param_data_type;
 20658             symbol_c *IN_type_symbol = param_data_type;
 20659             last_type_symbol = param_data_type;
 20659             last_type_symbol = IN_type_symbol;
 20660             
 20660             
 20661             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20661             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20662             {
 20662             {
 20663         
 20663         
 20664                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 20664                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 20680     {
 20680     {
 20681         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20681         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20682 
 20682 
 20683         {
 20683         {
 20684             symbol_c *IN_type_symbol = param_data_type;
 20684             symbol_c *IN_type_symbol = param_data_type;
 20685             last_type_symbol = param_data_type;
 20685             last_type_symbol = IN_type_symbol;
 20686             
 20686             
 20687             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20687             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20688             {
 20688             {
 20689         
 20689         
 20690                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 20690                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 20706     {
 20706     {
 20707         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20707         symbol_c *last_type_symbol = &search_constant_type_c::tod_type_name;
 20708 
 20708 
 20709         {
 20709         {
 20710             symbol_c *IN_type_symbol = param_data_type;
 20710             symbol_c *IN_type_symbol = param_data_type;
 20711             last_type_symbol = param_data_type;
 20711             last_type_symbol = IN_type_symbol;
 20712             
 20712             
 20713             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20713             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 20714             {
 20714             {
 20715         
 20715         
 20716                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 20716                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 20732     {
 20732     {
 20733         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20733         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20734 
 20734 
 20735         {
 20735         {
 20736             symbol_c *IN_type_symbol = param_data_type;
 20736             symbol_c *IN_type_symbol = param_data_type;
 20737             last_type_symbol = param_data_type;
 20737             last_type_symbol = IN_type_symbol;
 20738             
 20738             
 20739             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20739             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20740             {
 20740             {
 20741         
 20741         
 20742                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 20742                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 20758     {
 20758     {
 20759         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20759         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20760 
 20760 
 20761         {
 20761         {
 20762             symbol_c *IN_type_symbol = param_data_type;
 20762             symbol_c *IN_type_symbol = param_data_type;
 20763             last_type_symbol = param_data_type;
 20763             last_type_symbol = IN_type_symbol;
 20764             
 20764             
 20765             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20765             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20766             {
 20766             {
 20767         
 20767         
 20768                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 20768                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 20784     {
 20784     {
 20785         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20785         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20786 
 20786 
 20787         {
 20787         {
 20788             symbol_c *IN_type_symbol = param_data_type;
 20788             symbol_c *IN_type_symbol = param_data_type;
 20789             last_type_symbol = param_data_type;
 20789             last_type_symbol = IN_type_symbol;
 20790             
 20790             
 20791             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20791             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20792             {
 20792             {
 20793         
 20793         
 20794                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 20794                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 20810     {
 20810     {
 20811         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20811         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20812 
 20812 
 20813         {
 20813         {
 20814             symbol_c *IN_type_symbol = param_data_type;
 20814             symbol_c *IN_type_symbol = param_data_type;
 20815             last_type_symbol = param_data_type;
 20815             last_type_symbol = IN_type_symbol;
 20816             
 20816             
 20817             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20817             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20818             {
 20818             {
 20819         
 20819         
 20820                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 20820                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 20836     {
 20836     {
 20837         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20837         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20838 
 20838 
 20839         {
 20839         {
 20840             symbol_c *IN_type_symbol = param_data_type;
 20840             symbol_c *IN_type_symbol = param_data_type;
 20841             last_type_symbol = param_data_type;
 20841             last_type_symbol = IN_type_symbol;
 20842             
 20842             
 20843             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20843             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20844             {
 20844             {
 20845         
 20845         
 20846                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 20846                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 20862     {
 20862     {
 20863         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20863         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20864 
 20864 
 20865         {
 20865         {
 20866             symbol_c *IN_type_symbol = param_data_type;
 20866             symbol_c *IN_type_symbol = param_data_type;
 20867             last_type_symbol = param_data_type;
 20867             last_type_symbol = IN_type_symbol;
 20868             
 20868             
 20869             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20869             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20870             {
 20870             {
 20871         
 20871         
 20872                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 20872                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 20888     {
 20888     {
 20889         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20889         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20890 
 20890 
 20891         {
 20891         {
 20892             symbol_c *IN_type_symbol = param_data_type;
 20892             symbol_c *IN_type_symbol = param_data_type;
 20893             last_type_symbol = param_data_type;
 20893             last_type_symbol = IN_type_symbol;
 20894             
 20894             
 20895             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20895             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20896             {
 20896             {
 20897         
 20897         
 20898                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 20898                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 20914     {
 20914     {
 20915         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20915         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20916 
 20916 
 20917         {
 20917         {
 20918             symbol_c *IN_type_symbol = param_data_type;
 20918             symbol_c *IN_type_symbol = param_data_type;
 20919             last_type_symbol = param_data_type;
 20919             last_type_symbol = IN_type_symbol;
 20920             
 20920             
 20921             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20921             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20922             {
 20922             {
 20923         
 20923         
 20924                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 20924                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 20940     {
 20940     {
 20941         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20941         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20942 
 20942 
 20943         {
 20943         {
 20944             symbol_c *IN_type_symbol = param_data_type;
 20944             symbol_c *IN_type_symbol = param_data_type;
 20945             last_type_symbol = param_data_type;
 20945             last_type_symbol = IN_type_symbol;
 20946             
 20946             
 20947             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20947             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20948             {
 20948             {
 20949         
 20949         
 20950                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 20950                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 20966     {
 20966     {
 20967         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20967         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20968 
 20968 
 20969         {
 20969         {
 20970             symbol_c *IN_type_symbol = param_data_type;
 20970             symbol_c *IN_type_symbol = param_data_type;
 20971             last_type_symbol = param_data_type;
 20971             last_type_symbol = IN_type_symbol;
 20972             
 20972             
 20973             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20973             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20974             {
 20974             {
 20975         
 20975         
 20976                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 20976                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 20992     {
 20992     {
 20993         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20993         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 20994 
 20994 
 20995         {
 20995         {
 20996             symbol_c *IN_type_symbol = param_data_type;
 20996             symbol_c *IN_type_symbol = param_data_type;
 20997             last_type_symbol = param_data_type;
 20997             last_type_symbol = IN_type_symbol;
 20998             
 20998             
 20999             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 20999             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 21000             {
 21000             {
 21001         
 21001         
 21002                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 21002                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 21018     {
 21018     {
 21019         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 21019         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 21020 
 21020 
 21021         {
 21021         {
 21022             symbol_c *IN_type_symbol = param_data_type;
 21022             symbol_c *IN_type_symbol = param_data_type;
 21023             last_type_symbol = param_data_type;
 21023             last_type_symbol = IN_type_symbol;
 21024             
 21024             
 21025             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 21025             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 21026             {
 21026             {
 21027         
 21027         
 21028                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 21028                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 21044     {
 21044     {
 21045         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 21045         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 21046 
 21046 
 21047         {
 21047         {
 21048             symbol_c *IN_type_symbol = param_data_type;
 21048             symbol_c *IN_type_symbol = param_data_type;
 21049             last_type_symbol = param_data_type;
 21049             last_type_symbol = IN_type_symbol;
 21050             
 21050             
 21051             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 21051             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 21052             {
 21052             {
 21053         
 21053         
 21054                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 21054                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 21070     {
 21070     {
 21071         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 21071         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 21072 
 21072 
 21073         {
 21073         {
 21074             symbol_c *IN_type_symbol = param_data_type;
 21074             symbol_c *IN_type_symbol = param_data_type;
 21075             last_type_symbol = param_data_type;
 21075             last_type_symbol = IN_type_symbol;
 21076             
 21076             
 21077             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 21077             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 21078             {
 21078             {
 21079         
 21079         
 21080                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 21080                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 21096     {
 21096     {
 21097         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 21097         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 21098 
 21098 
 21099         {
 21099         {
 21100             symbol_c *IN_type_symbol = param_data_type;
 21100             symbol_c *IN_type_symbol = param_data_type;
 21101             last_type_symbol = param_data_type;
 21101             last_type_symbol = IN_type_symbol;
 21102             
 21102             
 21103             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 21103             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 21104             {
 21104             {
 21105         
 21105         
 21106                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 21106                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 21122     {
 21122     {
 21123         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 21123         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 21124 
 21124 
 21125         {
 21125         {
 21126             symbol_c *IN_type_symbol = param_data_type;
 21126             symbol_c *IN_type_symbol = param_data_type;
 21127             last_type_symbol = param_data_type;
 21127             last_type_symbol = IN_type_symbol;
 21128             
 21128             
 21129             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 21129             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 21130             {
 21130             {
 21131         
 21131         
 21132                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 21132                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 21148     {
 21148     {
 21149         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 21149         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 21150 
 21150 
 21151         {
 21151         {
 21152             symbol_c *IN_type_symbol = param_data_type;
 21152             symbol_c *IN_type_symbol = param_data_type;
 21153             last_type_symbol = param_data_type;
 21153             last_type_symbol = IN_type_symbol;
 21154             
 21154             
 21155             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 21155             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 21156             {
 21156             {
 21157         
 21157         
 21158                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 21158                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 21174     {
 21174     {
 21175         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 21175         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 21176 
 21176 
 21177         {
 21177         {
 21178             symbol_c *IN_type_symbol = param_data_type;
 21178             symbol_c *IN_type_symbol = param_data_type;
 21179             last_type_symbol = param_data_type;
 21179             last_type_symbol = IN_type_symbol;
 21180             
 21180             
 21181             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 21181             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 21182             {
 21182             {
 21183         
 21183         
 21184                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 21184                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 21200     {
 21200     {
 21201         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 21201         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 21202 
 21202 
 21203         {
 21203         {
 21204             symbol_c *IN_type_symbol = param_data_type;
 21204             symbol_c *IN_type_symbol = param_data_type;
 21205             last_type_symbol = param_data_type;
 21205             last_type_symbol = IN_type_symbol;
 21206             
 21206             
 21207             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 21207             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 21208             {
 21208             {
 21209         
 21209         
 21210                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 21210                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 21226     {
 21226     {
 21227         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21227         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21228 
 21228 
 21229         {
 21229         {
 21230             symbol_c *IN_type_symbol = param_data_type;
 21230             symbol_c *IN_type_symbol = param_data_type;
 21231             last_type_symbol = param_data_type;
 21231             last_type_symbol = IN_type_symbol;
 21232             
 21232             
 21233             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21233             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21234             {
 21234             {
 21235         
 21235         
 21236                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 21236                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 21252     {
 21252     {
 21253         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21253         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21254 
 21254 
 21255         {
 21255         {
 21256             symbol_c *IN_type_symbol = param_data_type;
 21256             symbol_c *IN_type_symbol = param_data_type;
 21257             last_type_symbol = param_data_type;
 21257             last_type_symbol = IN_type_symbol;
 21258             
 21258             
 21259             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21259             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21260             {
 21260             {
 21261         
 21261         
 21262                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 21262                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 21278     {
 21278     {
 21279         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21279         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21280 
 21280 
 21281         {
 21281         {
 21282             symbol_c *IN_type_symbol = param_data_type;
 21282             symbol_c *IN_type_symbol = param_data_type;
 21283             last_type_symbol = param_data_type;
 21283             last_type_symbol = IN_type_symbol;
 21284             
 21284             
 21285             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21285             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21286             {
 21286             {
 21287         
 21287         
 21288                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 21288                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 21304     {
 21304     {
 21305         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21305         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21306 
 21306 
 21307         {
 21307         {
 21308             symbol_c *IN_type_symbol = param_data_type;
 21308             symbol_c *IN_type_symbol = param_data_type;
 21309             last_type_symbol = param_data_type;
 21309             last_type_symbol = IN_type_symbol;
 21310             
 21310             
 21311             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21311             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21312             {
 21312             {
 21313         
 21313         
 21314                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 21314                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 21330     {
 21330     {
 21331         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21331         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21332 
 21332 
 21333         {
 21333         {
 21334             symbol_c *IN_type_symbol = param_data_type;
 21334             symbol_c *IN_type_symbol = param_data_type;
 21335             last_type_symbol = param_data_type;
 21335             last_type_symbol = IN_type_symbol;
 21336             
 21336             
 21337             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21337             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21338             {
 21338             {
 21339         
 21339         
 21340                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 21340                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 21356     {
 21356     {
 21357         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21357         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21358 
 21358 
 21359         {
 21359         {
 21360             symbol_c *IN_type_symbol = param_data_type;
 21360             symbol_c *IN_type_symbol = param_data_type;
 21361             last_type_symbol = param_data_type;
 21361             last_type_symbol = IN_type_symbol;
 21362             
 21362             
 21363             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21363             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21364             {
 21364             {
 21365         
 21365         
 21366                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 21366                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 21382     {
 21382     {
 21383         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21383         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21384 
 21384 
 21385         {
 21385         {
 21386             symbol_c *IN_type_symbol = param_data_type;
 21386             symbol_c *IN_type_symbol = param_data_type;
 21387             last_type_symbol = param_data_type;
 21387             last_type_symbol = IN_type_symbol;
 21388             
 21388             
 21389             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21389             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21390             {
 21390             {
 21391         
 21391         
 21392                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 21392                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 21408     {
 21408     {
 21409         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21409         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21410 
 21410 
 21411         {
 21411         {
 21412             symbol_c *IN_type_symbol = param_data_type;
 21412             symbol_c *IN_type_symbol = param_data_type;
 21413             last_type_symbol = param_data_type;
 21413             last_type_symbol = IN_type_symbol;
 21414             
 21414             
 21415             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21415             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21416             {
 21416             {
 21417         
 21417         
 21418                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 21418                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 21434     {
 21434     {
 21435         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21435         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21436 
 21436 
 21437         {
 21437         {
 21438             symbol_c *IN_type_symbol = param_data_type;
 21438             symbol_c *IN_type_symbol = param_data_type;
 21439             last_type_symbol = param_data_type;
 21439             last_type_symbol = IN_type_symbol;
 21440             
 21440             
 21441             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21441             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21442             {
 21442             {
 21443         
 21443         
 21444                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 21444                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 21460     {
 21460     {
 21461         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21461         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21462 
 21462 
 21463         {
 21463         {
 21464             symbol_c *IN_type_symbol = param_data_type;
 21464             symbol_c *IN_type_symbol = param_data_type;
 21465             last_type_symbol = param_data_type;
 21465             last_type_symbol = IN_type_symbol;
 21466             
 21466             
 21467             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21467             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21468             {
 21468             {
 21469         
 21469         
 21470                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 21470                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 21486     {
 21486     {
 21487         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21487         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21488 
 21488 
 21489         {
 21489         {
 21490             symbol_c *IN_type_symbol = param_data_type;
 21490             symbol_c *IN_type_symbol = param_data_type;
 21491             last_type_symbol = param_data_type;
 21491             last_type_symbol = IN_type_symbol;
 21492             
 21492             
 21493             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21493             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21494             {
 21494             {
 21495         
 21495         
 21496                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 21496                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 21512     {
 21512     {
 21513         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21513         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21514 
 21514 
 21515         {
 21515         {
 21516             symbol_c *IN_type_symbol = param_data_type;
 21516             symbol_c *IN_type_symbol = param_data_type;
 21517             last_type_symbol = param_data_type;
 21517             last_type_symbol = IN_type_symbol;
 21518             
 21518             
 21519             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21519             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21520             {
 21520             {
 21521         
 21521         
 21522                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 21522                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 21538     {
 21538     {
 21539         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21539         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21540 
 21540 
 21541         {
 21541         {
 21542             symbol_c *IN_type_symbol = param_data_type;
 21542             symbol_c *IN_type_symbol = param_data_type;
 21543             last_type_symbol = param_data_type;
 21543             last_type_symbol = IN_type_symbol;
 21544             
 21544             
 21545             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21545             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21546             {
 21546             {
 21547         
 21547         
 21548                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 21548                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 21564     {
 21564     {
 21565         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21565         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21566 
 21566 
 21567         {
 21567         {
 21568             symbol_c *IN_type_symbol = param_data_type;
 21568             symbol_c *IN_type_symbol = param_data_type;
 21569             last_type_symbol = param_data_type;
 21569             last_type_symbol = IN_type_symbol;
 21570             
 21570             
 21571             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21571             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21572             {
 21572             {
 21573         
 21573         
 21574                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 21574                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 21590     {
 21590     {
 21591         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21591         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21592 
 21592 
 21593         {
 21593         {
 21594             symbol_c *IN_type_symbol = param_data_type;
 21594             symbol_c *IN_type_symbol = param_data_type;
 21595             last_type_symbol = param_data_type;
 21595             last_type_symbol = IN_type_symbol;
 21596             
 21596             
 21597             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21597             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21598             {
 21598             {
 21599         
 21599         
 21600                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 21600                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 21616     {
 21616     {
 21617         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21617         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21618 
 21618 
 21619         {
 21619         {
 21620             symbol_c *IN_type_symbol = param_data_type;
 21620             symbol_c *IN_type_symbol = param_data_type;
 21621             last_type_symbol = param_data_type;
 21621             last_type_symbol = IN_type_symbol;
 21622             
 21622             
 21623             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21623             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21624             {
 21624             {
 21625         
 21625         
 21626                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 21626                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 21642     {
 21642     {
 21643         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21643         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21644 
 21644 
 21645         {
 21645         {
 21646             symbol_c *IN_type_symbol = param_data_type;
 21646             symbol_c *IN_type_symbol = param_data_type;
 21647             last_type_symbol = param_data_type;
 21647             last_type_symbol = IN_type_symbol;
 21648             
 21648             
 21649             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21649             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21650             {
 21650             {
 21651         
 21651         
 21652                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 21652                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 21668     {
 21668     {
 21669         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21669         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21670 
 21670 
 21671         {
 21671         {
 21672             symbol_c *IN_type_symbol = param_data_type;
 21672             symbol_c *IN_type_symbol = param_data_type;
 21673             last_type_symbol = param_data_type;
 21673             last_type_symbol = IN_type_symbol;
 21674             
 21674             
 21675             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21675             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21676             {
 21676             {
 21677         
 21677         
 21678                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 21678                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 21694     {
 21694     {
 21695         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21695         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 21696 
 21696 
 21697         {
 21697         {
 21698             symbol_c *IN_type_symbol = param_data_type;
 21698             symbol_c *IN_type_symbol = param_data_type;
 21699             last_type_symbol = param_data_type;
 21699             last_type_symbol = IN_type_symbol;
 21700             
 21700             
 21701             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21701             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 21702             {
 21702             {
 21703         
 21703         
 21704                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 21704                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 21720     {
 21720     {
 21721         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21721         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21722 
 21722 
 21723         {
 21723         {
 21724             symbol_c *IN_type_symbol = param_data_type;
 21724             symbol_c *IN_type_symbol = param_data_type;
 21725             last_type_symbol = param_data_type;
 21725             last_type_symbol = IN_type_symbol;
 21726             
 21726             
 21727             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21727             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21728             {
 21728             {
 21729         
 21729         
 21730                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 21730                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 21746     {
 21746     {
 21747         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21747         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21748 
 21748 
 21749         {
 21749         {
 21750             symbol_c *IN_type_symbol = param_data_type;
 21750             symbol_c *IN_type_symbol = param_data_type;
 21751             last_type_symbol = param_data_type;
 21751             last_type_symbol = IN_type_symbol;
 21752             
 21752             
 21753             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21753             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21754             {
 21754             {
 21755         
 21755         
 21756                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 21756                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 21772     {
 21772     {
 21773         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21773         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21774 
 21774 
 21775         {
 21775         {
 21776             symbol_c *IN_type_symbol = param_data_type;
 21776             symbol_c *IN_type_symbol = param_data_type;
 21777             last_type_symbol = param_data_type;
 21777             last_type_symbol = IN_type_symbol;
 21778             
 21778             
 21779             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21779             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21780             {
 21780             {
 21781         
 21781         
 21782                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 21782                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 21798     {
 21798     {
 21799         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21799         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21800 
 21800 
 21801         {
 21801         {
 21802             symbol_c *IN_type_symbol = param_data_type;
 21802             symbol_c *IN_type_symbol = param_data_type;
 21803             last_type_symbol = param_data_type;
 21803             last_type_symbol = IN_type_symbol;
 21804             
 21804             
 21805             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21805             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21806             {
 21806             {
 21807         
 21807         
 21808                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 21808                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 21824     {
 21824     {
 21825         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21825         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21826 
 21826 
 21827         {
 21827         {
 21828             symbol_c *IN_type_symbol = param_data_type;
 21828             symbol_c *IN_type_symbol = param_data_type;
 21829             last_type_symbol = param_data_type;
 21829             last_type_symbol = IN_type_symbol;
 21830             
 21830             
 21831             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21831             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21832             {
 21832             {
 21833         
 21833         
 21834                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 21834                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 21850     {
 21850     {
 21851         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21851         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21852 
 21852 
 21853         {
 21853         {
 21854             symbol_c *IN_type_symbol = param_data_type;
 21854             symbol_c *IN_type_symbol = param_data_type;
 21855             last_type_symbol = param_data_type;
 21855             last_type_symbol = IN_type_symbol;
 21856             
 21856             
 21857             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21857             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21858             {
 21858             {
 21859         
 21859         
 21860                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 21860                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 21876     {
 21876     {
 21877         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21877         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21878 
 21878 
 21879         {
 21879         {
 21880             symbol_c *IN_type_symbol = param_data_type;
 21880             symbol_c *IN_type_symbol = param_data_type;
 21881             last_type_symbol = param_data_type;
 21881             last_type_symbol = IN_type_symbol;
 21882             
 21882             
 21883             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21883             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21884             {
 21884             {
 21885         
 21885         
 21886                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 21886                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 21902     {
 21902     {
 21903         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21903         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21904 
 21904 
 21905         {
 21905         {
 21906             symbol_c *IN_type_symbol = param_data_type;
 21906             symbol_c *IN_type_symbol = param_data_type;
 21907             last_type_symbol = param_data_type;
 21907             last_type_symbol = IN_type_symbol;
 21908             
 21908             
 21909             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21909             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21910             {
 21910             {
 21911         
 21911         
 21912                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 21912                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 21928     {
 21928     {
 21929         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21929         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21930 
 21930 
 21931         {
 21931         {
 21932             symbol_c *IN_type_symbol = param_data_type;
 21932             symbol_c *IN_type_symbol = param_data_type;
 21933             last_type_symbol = param_data_type;
 21933             last_type_symbol = IN_type_symbol;
 21934             
 21934             
 21935             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21935             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21936             {
 21936             {
 21937         
 21937         
 21938                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 21938                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 21954     {
 21954     {
 21955         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21955         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21956 
 21956 
 21957         {
 21957         {
 21958             symbol_c *IN_type_symbol = param_data_type;
 21958             symbol_c *IN_type_symbol = param_data_type;
 21959             last_type_symbol = param_data_type;
 21959             last_type_symbol = IN_type_symbol;
 21960             
 21960             
 21961             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21961             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21962             {
 21962             {
 21963         
 21963         
 21964                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 21964                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 21980     {
 21980     {
 21981         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21981         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 21982 
 21982 
 21983         {
 21983         {
 21984             symbol_c *IN_type_symbol = param_data_type;
 21984             symbol_c *IN_type_symbol = param_data_type;
 21985             last_type_symbol = param_data_type;
 21985             last_type_symbol = IN_type_symbol;
 21986             
 21986             
 21987             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21987             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 21988             {
 21988             {
 21989         
 21989         
 21990                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 21990                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 22006     {
 22006     {
 22007         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 22007         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 22008 
 22008 
 22009         {
 22009         {
 22010             symbol_c *IN_type_symbol = param_data_type;
 22010             symbol_c *IN_type_symbol = param_data_type;
 22011             last_type_symbol = param_data_type;
 22011             last_type_symbol = IN_type_symbol;
 22012             
 22012             
 22013             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 22013             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 22014             {
 22014             {
 22015         
 22015         
 22016                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 22016                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 22032     {
 22032     {
 22033         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 22033         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 22034 
 22034 
 22035         {
 22035         {
 22036             symbol_c *IN_type_symbol = param_data_type;
 22036             symbol_c *IN_type_symbol = param_data_type;
 22037             last_type_symbol = param_data_type;
 22037             last_type_symbol = IN_type_symbol;
 22038             
 22038             
 22039             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 22039             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 22040             {
 22040             {
 22041         
 22041         
 22042                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 22042                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 22058     {
 22058     {
 22059         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 22059         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 22060 
 22060 
 22061         {
 22061         {
 22062             symbol_c *IN_type_symbol = param_data_type;
 22062             symbol_c *IN_type_symbol = param_data_type;
 22063             last_type_symbol = param_data_type;
 22063             last_type_symbol = IN_type_symbol;
 22064             
 22064             
 22065             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 22065             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 22066             {
 22066             {
 22067         
 22067         
 22068                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 22068                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 22084     {
 22084     {
 22085         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 22085         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 22086 
 22086 
 22087         {
 22087         {
 22088             symbol_c *IN_type_symbol = param_data_type;
 22088             symbol_c *IN_type_symbol = param_data_type;
 22089             last_type_symbol = param_data_type;
 22089             last_type_symbol = IN_type_symbol;
 22090             
 22090             
 22091             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 22091             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 22092             {
 22092             {
 22093         
 22093         
 22094                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 22094                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 22110     {
 22110     {
 22111         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 22111         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 22112 
 22112 
 22113         {
 22113         {
 22114             symbol_c *IN_type_symbol = param_data_type;
 22114             symbol_c *IN_type_symbol = param_data_type;
 22115             last_type_symbol = param_data_type;
 22115             last_type_symbol = IN_type_symbol;
 22116             
 22116             
 22117             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 22117             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 22118             {
 22118             {
 22119         
 22119         
 22120                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 22120                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 22136     {
 22136     {
 22137         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 22137         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 22138 
 22138 
 22139         {
 22139         {
 22140             symbol_c *IN_type_symbol = param_data_type;
 22140             symbol_c *IN_type_symbol = param_data_type;
 22141             last_type_symbol = param_data_type;
 22141             last_type_symbol = IN_type_symbol;
 22142             
 22142             
 22143             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 22143             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 22144             {
 22144             {
 22145         
 22145         
 22146                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 22146                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 22162     {
 22162     {
 22163         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 22163         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 22164 
 22164 
 22165         {
 22165         {
 22166             symbol_c *IN_type_symbol = param_data_type;
 22166             symbol_c *IN_type_symbol = param_data_type;
 22167             last_type_symbol = param_data_type;
 22167             last_type_symbol = IN_type_symbol;
 22168             
 22168             
 22169             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 22169             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 22170             {
 22170             {
 22171         
 22171         
 22172                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 22172                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 22188     {
 22188     {
 22189         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 22189         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 22190 
 22190 
 22191         {
 22191         {
 22192             symbol_c *IN_type_symbol = param_data_type;
 22192             symbol_c *IN_type_symbol = param_data_type;
 22193             last_type_symbol = param_data_type;
 22193             last_type_symbol = IN_type_symbol;
 22194             
 22194             
 22195             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 22195             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 22196             {
 22196             {
 22197         
 22197         
 22198                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 22198                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 22214     {
 22214     {
 22215         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22215         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22216 
 22216 
 22217         {
 22217         {
 22218             symbol_c *IN_type_symbol = param_data_type;
 22218             symbol_c *IN_type_symbol = param_data_type;
 22219             last_type_symbol = param_data_type;
 22219             last_type_symbol = IN_type_symbol;
 22220             
 22220             
 22221             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22221             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22222             {
 22222             {
 22223         
 22223         
 22224                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 22224                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 22240     {
 22240     {
 22241         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22241         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22242 
 22242 
 22243         {
 22243         {
 22244             symbol_c *IN_type_symbol = param_data_type;
 22244             symbol_c *IN_type_symbol = param_data_type;
 22245             last_type_symbol = param_data_type;
 22245             last_type_symbol = IN_type_symbol;
 22246             
 22246             
 22247             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22247             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22248             {
 22248             {
 22249         
 22249         
 22250                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 22250                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 22266     {
 22266     {
 22267         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22267         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22268 
 22268 
 22269         {
 22269         {
 22270             symbol_c *IN_type_symbol = param_data_type;
 22270             symbol_c *IN_type_symbol = param_data_type;
 22271             last_type_symbol = param_data_type;
 22271             last_type_symbol = IN_type_symbol;
 22272             
 22272             
 22273             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22273             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22274             {
 22274             {
 22275         
 22275         
 22276                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 22276                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 22292     {
 22292     {
 22293         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22293         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22294 
 22294 
 22295         {
 22295         {
 22296             symbol_c *IN_type_symbol = param_data_type;
 22296             symbol_c *IN_type_symbol = param_data_type;
 22297             last_type_symbol = param_data_type;
 22297             last_type_symbol = IN_type_symbol;
 22298             
 22298             
 22299             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22299             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22300             {
 22300             {
 22301         
 22301         
 22302                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 22302                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 22318     {
 22318     {
 22319         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22319         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22320 
 22320 
 22321         {
 22321         {
 22322             symbol_c *IN_type_symbol = param_data_type;
 22322             symbol_c *IN_type_symbol = param_data_type;
 22323             last_type_symbol = param_data_type;
 22323             last_type_symbol = IN_type_symbol;
 22324             
 22324             
 22325             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22325             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22326             {
 22326             {
 22327         
 22327         
 22328                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 22328                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 22344     {
 22344     {
 22345         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22345         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22346 
 22346 
 22347         {
 22347         {
 22348             symbol_c *IN_type_symbol = param_data_type;
 22348             symbol_c *IN_type_symbol = param_data_type;
 22349             last_type_symbol = param_data_type;
 22349             last_type_symbol = IN_type_symbol;
 22350             
 22350             
 22351             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22351             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22352             {
 22352             {
 22353         
 22353         
 22354                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 22354                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 22370     {
 22370     {
 22371         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22371         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22372 
 22372 
 22373         {
 22373         {
 22374             symbol_c *IN_type_symbol = param_data_type;
 22374             symbol_c *IN_type_symbol = param_data_type;
 22375             last_type_symbol = param_data_type;
 22375             last_type_symbol = IN_type_symbol;
 22376             
 22376             
 22377             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22377             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22378             {
 22378             {
 22379         
 22379         
 22380                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 22380                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 22396     {
 22396     {
 22397         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22397         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22398 
 22398 
 22399         {
 22399         {
 22400             symbol_c *IN_type_symbol = param_data_type;
 22400             symbol_c *IN_type_symbol = param_data_type;
 22401             last_type_symbol = param_data_type;
 22401             last_type_symbol = IN_type_symbol;
 22402             
 22402             
 22403             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22403             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22404             {
 22404             {
 22405         
 22405         
 22406                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 22406                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 22422     {
 22422     {
 22423         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22423         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22424 
 22424 
 22425         {
 22425         {
 22426             symbol_c *IN_type_symbol = param_data_type;
 22426             symbol_c *IN_type_symbol = param_data_type;
 22427             last_type_symbol = param_data_type;
 22427             last_type_symbol = IN_type_symbol;
 22428             
 22428             
 22429             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22429             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22430             {
 22430             {
 22431         
 22431         
 22432                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 22432                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 22448     {
 22448     {
 22449         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22449         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22450 
 22450 
 22451         {
 22451         {
 22452             symbol_c *IN_type_symbol = param_data_type;
 22452             symbol_c *IN_type_symbol = param_data_type;
 22453             last_type_symbol = param_data_type;
 22453             last_type_symbol = IN_type_symbol;
 22454             
 22454             
 22455             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22455             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22456             {
 22456             {
 22457         
 22457         
 22458                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 22458                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 22474     {
 22474     {
 22475         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22475         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22476 
 22476 
 22477         {
 22477         {
 22478             symbol_c *IN_type_symbol = param_data_type;
 22478             symbol_c *IN_type_symbol = param_data_type;
 22479             last_type_symbol = param_data_type;
 22479             last_type_symbol = IN_type_symbol;
 22480             
 22480             
 22481             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22481             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22482             {
 22482             {
 22483         
 22483         
 22484                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 22484                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 22500     {
 22500     {
 22501         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22501         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22502 
 22502 
 22503         {
 22503         {
 22504             symbol_c *IN_type_symbol = param_data_type;
 22504             symbol_c *IN_type_symbol = param_data_type;
 22505             last_type_symbol = param_data_type;
 22505             last_type_symbol = IN_type_symbol;
 22506             
 22506             
 22507             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22507             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22508             {
 22508             {
 22509         
 22509         
 22510                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 22510                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 22526     {
 22526     {
 22527         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22527         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22528 
 22528 
 22529         {
 22529         {
 22530             symbol_c *IN_type_symbol = param_data_type;
 22530             symbol_c *IN_type_symbol = param_data_type;
 22531             last_type_symbol = param_data_type;
 22531             last_type_symbol = IN_type_symbol;
 22532             
 22532             
 22533             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22533             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22534             {
 22534             {
 22535         
 22535         
 22536                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 22536                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 22552     {
 22552     {
 22553         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22553         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22554 
 22554 
 22555         {
 22555         {
 22556             symbol_c *IN_type_symbol = param_data_type;
 22556             symbol_c *IN_type_symbol = param_data_type;
 22557             last_type_symbol = param_data_type;
 22557             last_type_symbol = IN_type_symbol;
 22558             
 22558             
 22559             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22559             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22560             {
 22560             {
 22561         
 22561         
 22562                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 22562                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 22578     {
 22578     {
 22579         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22579         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22580 
 22580 
 22581         {
 22581         {
 22582             symbol_c *IN_type_symbol = param_data_type;
 22582             symbol_c *IN_type_symbol = param_data_type;
 22583             last_type_symbol = param_data_type;
 22583             last_type_symbol = IN_type_symbol;
 22584             
 22584             
 22585             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22585             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22586             {
 22586             {
 22587         
 22587         
 22588                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 22588                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 22604     {
 22604     {
 22605         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22605         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22606 
 22606 
 22607         {
 22607         {
 22608             symbol_c *IN_type_symbol = param_data_type;
 22608             symbol_c *IN_type_symbol = param_data_type;
 22609             last_type_symbol = param_data_type;
 22609             last_type_symbol = IN_type_symbol;
 22610             
 22610             
 22611             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22611             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22612             {
 22612             {
 22613         
 22613         
 22614                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 22614                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 22630     {
 22630     {
 22631         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22631         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22632 
 22632 
 22633         {
 22633         {
 22634             symbol_c *IN_type_symbol = param_data_type;
 22634             symbol_c *IN_type_symbol = param_data_type;
 22635             last_type_symbol = param_data_type;
 22635             last_type_symbol = IN_type_symbol;
 22636             
 22636             
 22637             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22637             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22638             {
 22638             {
 22639         
 22639         
 22640                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 22640                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 22656     {
 22656     {
 22657         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22657         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22658 
 22658 
 22659         {
 22659         {
 22660             symbol_c *IN_type_symbol = param_data_type;
 22660             symbol_c *IN_type_symbol = param_data_type;
 22661             last_type_symbol = param_data_type;
 22661             last_type_symbol = IN_type_symbol;
 22662             
 22662             
 22663             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22663             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22664             {
 22664             {
 22665         
 22665         
 22666                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 22666                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 22682     {
 22682     {
 22683         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22683         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 22684 
 22684 
 22685         {
 22685         {
 22686             symbol_c *IN_type_symbol = param_data_type;
 22686             symbol_c *IN_type_symbol = param_data_type;
 22687             last_type_symbol = param_data_type;
 22687             last_type_symbol = IN_type_symbol;
 22688             
 22688             
 22689             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22689             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 22690             {
 22690             {
 22691         
 22691         
 22692                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 22692                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 22708     {
 22708     {
 22709         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22709         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22710 
 22710 
 22711         {
 22711         {
 22712             symbol_c *IN_type_symbol = param_data_type;
 22712             symbol_c *IN_type_symbol = param_data_type;
 22713             last_type_symbol = param_data_type;
 22713             last_type_symbol = IN_type_symbol;
 22714             
 22714             
 22715             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22715             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22716             {
 22716             {
 22717         
 22717         
 22718                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 22718                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 22734     {
 22734     {
 22735         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22735         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22736 
 22736 
 22737         {
 22737         {
 22738             symbol_c *IN_type_symbol = param_data_type;
 22738             symbol_c *IN_type_symbol = param_data_type;
 22739             last_type_symbol = param_data_type;
 22739             last_type_symbol = IN_type_symbol;
 22740             
 22740             
 22741             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22741             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22742             {
 22742             {
 22743         
 22743         
 22744                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 22744                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 22760     {
 22760     {
 22761         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22761         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22762 
 22762 
 22763         {
 22763         {
 22764             symbol_c *IN_type_symbol = param_data_type;
 22764             symbol_c *IN_type_symbol = param_data_type;
 22765             last_type_symbol = param_data_type;
 22765             last_type_symbol = IN_type_symbol;
 22766             
 22766             
 22767             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22767             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22768             {
 22768             {
 22769         
 22769         
 22770                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 22770                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 22786     {
 22786     {
 22787         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22787         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22788 
 22788 
 22789         {
 22789         {
 22790             symbol_c *IN_type_symbol = param_data_type;
 22790             symbol_c *IN_type_symbol = param_data_type;
 22791             last_type_symbol = param_data_type;
 22791             last_type_symbol = IN_type_symbol;
 22792             
 22792             
 22793             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22793             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22794             {
 22794             {
 22795         
 22795         
 22796                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 22796                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 22812     {
 22812     {
 22813         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22813         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22814 
 22814 
 22815         {
 22815         {
 22816             symbol_c *IN_type_symbol = param_data_type;
 22816             symbol_c *IN_type_symbol = param_data_type;
 22817             last_type_symbol = param_data_type;
 22817             last_type_symbol = IN_type_symbol;
 22818             
 22818             
 22819             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22819             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22820             {
 22820             {
 22821         
 22821         
 22822                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 22822                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 22838     {
 22838     {
 22839         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22839         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22840 
 22840 
 22841         {
 22841         {
 22842             symbol_c *IN_type_symbol = param_data_type;
 22842             symbol_c *IN_type_symbol = param_data_type;
 22843             last_type_symbol = param_data_type;
 22843             last_type_symbol = IN_type_symbol;
 22844             
 22844             
 22845             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22845             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22846             {
 22846             {
 22847         
 22847         
 22848                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 22848                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 22864     {
 22864     {
 22865         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22865         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22866 
 22866 
 22867         {
 22867         {
 22868             symbol_c *IN_type_symbol = param_data_type;
 22868             symbol_c *IN_type_symbol = param_data_type;
 22869             last_type_symbol = param_data_type;
 22869             last_type_symbol = IN_type_symbol;
 22870             
 22870             
 22871             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22871             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22872             {
 22872             {
 22873         
 22873         
 22874                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 22874                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 22890     {
 22890     {
 22891         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22891         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22892 
 22892 
 22893         {
 22893         {
 22894             symbol_c *IN_type_symbol = param_data_type;
 22894             symbol_c *IN_type_symbol = param_data_type;
 22895             last_type_symbol = param_data_type;
 22895             last_type_symbol = IN_type_symbol;
 22896             
 22896             
 22897             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22897             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22898             {
 22898             {
 22899         
 22899         
 22900                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 22900                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 22916     {
 22916     {
 22917         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22917         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22918 
 22918 
 22919         {
 22919         {
 22920             symbol_c *IN_type_symbol = param_data_type;
 22920             symbol_c *IN_type_symbol = param_data_type;
 22921             last_type_symbol = param_data_type;
 22921             last_type_symbol = IN_type_symbol;
 22922             
 22922             
 22923             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22923             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22924             {
 22924             {
 22925         
 22925         
 22926                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 22926                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 22942     {
 22942     {
 22943         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22943         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22944 
 22944 
 22945         {
 22945         {
 22946             symbol_c *IN_type_symbol = param_data_type;
 22946             symbol_c *IN_type_symbol = param_data_type;
 22947             last_type_symbol = param_data_type;
 22947             last_type_symbol = IN_type_symbol;
 22948             
 22948             
 22949             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22949             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22950             {
 22950             {
 22951         
 22951         
 22952                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 22952                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 22968     {
 22968     {
 22969         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22969         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22970 
 22970 
 22971         {
 22971         {
 22972             symbol_c *IN_type_symbol = param_data_type;
 22972             symbol_c *IN_type_symbol = param_data_type;
 22973             last_type_symbol = param_data_type;
 22973             last_type_symbol = IN_type_symbol;
 22974             
 22974             
 22975             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22975             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 22976             {
 22976             {
 22977         
 22977         
 22978                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 22978                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 22994     {
 22994     {
 22995         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22995         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 22996 
 22996 
 22997         {
 22997         {
 22998             symbol_c *IN_type_symbol = param_data_type;
 22998             symbol_c *IN_type_symbol = param_data_type;
 22999             last_type_symbol = param_data_type;
 22999             last_type_symbol = IN_type_symbol;
 23000             
 23000             
 23001             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 23001             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 23002             {
 23002             {
 23003         
 23003         
 23004                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 23004                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 23020     {
 23020     {
 23021         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 23021         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 23022 
 23022 
 23023         {
 23023         {
 23024             symbol_c *IN_type_symbol = param_data_type;
 23024             symbol_c *IN_type_symbol = param_data_type;
 23025             last_type_symbol = param_data_type;
 23025             last_type_symbol = IN_type_symbol;
 23026             
 23026             
 23027             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 23027             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 23028             {
 23028             {
 23029         
 23029         
 23030                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 23030                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 23046     {
 23046     {
 23047         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 23047         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 23048 
 23048 
 23049         {
 23049         {
 23050             symbol_c *IN_type_symbol = param_data_type;
 23050             symbol_c *IN_type_symbol = param_data_type;
 23051             last_type_symbol = param_data_type;
 23051             last_type_symbol = IN_type_symbol;
 23052             
 23052             
 23053             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 23053             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 23054             {
 23054             {
 23055         
 23055         
 23056                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 23056                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 23072     {
 23072     {
 23073         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 23073         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 23074 
 23074 
 23075         {
 23075         {
 23076             symbol_c *IN_type_symbol = param_data_type;
 23076             symbol_c *IN_type_symbol = param_data_type;
 23077             last_type_symbol = param_data_type;
 23077             last_type_symbol = IN_type_symbol;
 23078             
 23078             
 23079             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 23079             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 23080             {
 23080             {
 23081         
 23081         
 23082                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 23082                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 23098     {
 23098     {
 23099         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 23099         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 23100 
 23100 
 23101         {
 23101         {
 23102             symbol_c *IN_type_symbol = param_data_type;
 23102             symbol_c *IN_type_symbol = param_data_type;
 23103             last_type_symbol = param_data_type;
 23103             last_type_symbol = IN_type_symbol;
 23104             
 23104             
 23105             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 23105             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 23106             {
 23106             {
 23107         
 23107         
 23108                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 23108                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 23124     {
 23124     {
 23125         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 23125         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 23126 
 23126 
 23127         {
 23127         {
 23128             symbol_c *IN_type_symbol = param_data_type;
 23128             symbol_c *IN_type_symbol = param_data_type;
 23129             last_type_symbol = param_data_type;
 23129             last_type_symbol = IN_type_symbol;
 23130             
 23130             
 23131             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 23131             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 23132             {
 23132             {
 23133         
 23133         
 23134                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 23134                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 23150     {
 23150     {
 23151         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 23151         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 23152 
 23152 
 23153         {
 23153         {
 23154             symbol_c *IN_type_symbol = param_data_type;
 23154             symbol_c *IN_type_symbol = param_data_type;
 23155             last_type_symbol = param_data_type;
 23155             last_type_symbol = IN_type_symbol;
 23156             
 23156             
 23157             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 23157             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 23158             {
 23158             {
 23159         
 23159         
 23160                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 23160                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 23176     {
 23176     {
 23177         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 23177         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 23178 
 23178 
 23179         {
 23179         {
 23180             symbol_c *IN_type_symbol = param_data_type;
 23180             symbol_c *IN_type_symbol = param_data_type;
 23181             last_type_symbol = param_data_type;
 23181             last_type_symbol = IN_type_symbol;
 23182             
 23182             
 23183             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 23183             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 23184             {
 23184             {
 23185         
 23185         
 23186                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 23186                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 23202     {
 23202     {
 23203         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23203         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23204 
 23204 
 23205         {
 23205         {
 23206             symbol_c *IN_type_symbol = param_data_type;
 23206             symbol_c *IN_type_symbol = param_data_type;
 23207             last_type_symbol = param_data_type;
 23207             last_type_symbol = IN_type_symbol;
 23208             
 23208             
 23209             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23209             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23210             {
 23210             {
 23211         
 23211         
 23212                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 23212                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 23228     {
 23228     {
 23229         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23229         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23230 
 23230 
 23231         {
 23231         {
 23232             symbol_c *IN_type_symbol = param_data_type;
 23232             symbol_c *IN_type_symbol = param_data_type;
 23233             last_type_symbol = param_data_type;
 23233             last_type_symbol = IN_type_symbol;
 23234             
 23234             
 23235             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23235             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23236             {
 23236             {
 23237         
 23237         
 23238                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 23238                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 23254     {
 23254     {
 23255         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23255         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23256 
 23256 
 23257         {
 23257         {
 23258             symbol_c *IN_type_symbol = param_data_type;
 23258             symbol_c *IN_type_symbol = param_data_type;
 23259             last_type_symbol = param_data_type;
 23259             last_type_symbol = IN_type_symbol;
 23260             
 23260             
 23261             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23261             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23262             {
 23262             {
 23263         
 23263         
 23264                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 23264                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 23280     {
 23280     {
 23281         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23281         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23282 
 23282 
 23283         {
 23283         {
 23284             symbol_c *IN_type_symbol = param_data_type;
 23284             symbol_c *IN_type_symbol = param_data_type;
 23285             last_type_symbol = param_data_type;
 23285             last_type_symbol = IN_type_symbol;
 23286             
 23286             
 23287             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23287             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23288             {
 23288             {
 23289         
 23289         
 23290                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 23290                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 23306     {
 23306     {
 23307         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23307         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23308 
 23308 
 23309         {
 23309         {
 23310             symbol_c *IN_type_symbol = param_data_type;
 23310             symbol_c *IN_type_symbol = param_data_type;
 23311             last_type_symbol = param_data_type;
 23311             last_type_symbol = IN_type_symbol;
 23312             
 23312             
 23313             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23313             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23314             {
 23314             {
 23315         
 23315         
 23316                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 23316                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 23332     {
 23332     {
 23333         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23333         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23334 
 23334 
 23335         {
 23335         {
 23336             symbol_c *IN_type_symbol = param_data_type;
 23336             symbol_c *IN_type_symbol = param_data_type;
 23337             last_type_symbol = param_data_type;
 23337             last_type_symbol = IN_type_symbol;
 23338             
 23338             
 23339             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23339             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23340             {
 23340             {
 23341         
 23341         
 23342                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 23342                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 23358     {
 23358     {
 23359         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23359         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23360 
 23360 
 23361         {
 23361         {
 23362             symbol_c *IN_type_symbol = param_data_type;
 23362             symbol_c *IN_type_symbol = param_data_type;
 23363             last_type_symbol = param_data_type;
 23363             last_type_symbol = IN_type_symbol;
 23364             
 23364             
 23365             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23365             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23366             {
 23366             {
 23367         
 23367         
 23368                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 23368                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 23384     {
 23384     {
 23385         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23385         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23386 
 23386 
 23387         {
 23387         {
 23388             symbol_c *IN_type_symbol = param_data_type;
 23388             symbol_c *IN_type_symbol = param_data_type;
 23389             last_type_symbol = param_data_type;
 23389             last_type_symbol = IN_type_symbol;
 23390             
 23390             
 23391             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23391             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23392             {
 23392             {
 23393         
 23393         
 23394                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 23394                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 23410     {
 23410     {
 23411         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23411         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23412 
 23412 
 23413         {
 23413         {
 23414             symbol_c *IN_type_symbol = param_data_type;
 23414             symbol_c *IN_type_symbol = param_data_type;
 23415             last_type_symbol = param_data_type;
 23415             last_type_symbol = IN_type_symbol;
 23416             
 23416             
 23417             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23417             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23418             {
 23418             {
 23419         
 23419         
 23420                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 23420                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 23436     {
 23436     {
 23437         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23437         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23438 
 23438 
 23439         {
 23439         {
 23440             symbol_c *IN_type_symbol = param_data_type;
 23440             symbol_c *IN_type_symbol = param_data_type;
 23441             last_type_symbol = param_data_type;
 23441             last_type_symbol = IN_type_symbol;
 23442             
 23442             
 23443             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23443             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23444             {
 23444             {
 23445         
 23445         
 23446                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 23446                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 23462     {
 23462     {
 23463         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23463         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23464 
 23464 
 23465         {
 23465         {
 23466             symbol_c *IN_type_symbol = param_data_type;
 23466             symbol_c *IN_type_symbol = param_data_type;
 23467             last_type_symbol = param_data_type;
 23467             last_type_symbol = IN_type_symbol;
 23468             
 23468             
 23469             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23469             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23470             {
 23470             {
 23471         
 23471         
 23472                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 23472                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 23488     {
 23488     {
 23489         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23489         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23490 
 23490 
 23491         {
 23491         {
 23492             symbol_c *IN_type_symbol = param_data_type;
 23492             symbol_c *IN_type_symbol = param_data_type;
 23493             last_type_symbol = param_data_type;
 23493             last_type_symbol = IN_type_symbol;
 23494             
 23494             
 23495             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23495             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23496             {
 23496             {
 23497         
 23497         
 23498                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 23498                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 23514     {
 23514     {
 23515         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23515         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23516 
 23516 
 23517         {
 23517         {
 23518             symbol_c *IN_type_symbol = param_data_type;
 23518             symbol_c *IN_type_symbol = param_data_type;
 23519             last_type_symbol = param_data_type;
 23519             last_type_symbol = IN_type_symbol;
 23520             
 23520             
 23521             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23521             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23522             {
 23522             {
 23523         
 23523         
 23524                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 23524                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 23540     {
 23540     {
 23541         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23541         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23542 
 23542 
 23543         {
 23543         {
 23544             symbol_c *IN_type_symbol = param_data_type;
 23544             symbol_c *IN_type_symbol = param_data_type;
 23545             last_type_symbol = param_data_type;
 23545             last_type_symbol = IN_type_symbol;
 23546             
 23546             
 23547             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23547             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23548             {
 23548             {
 23549         
 23549         
 23550                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 23550                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 23566     {
 23566     {
 23567         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23567         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23568 
 23568 
 23569         {
 23569         {
 23570             symbol_c *IN_type_symbol = param_data_type;
 23570             symbol_c *IN_type_symbol = param_data_type;
 23571             last_type_symbol = param_data_type;
 23571             last_type_symbol = IN_type_symbol;
 23572             
 23572             
 23573             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23573             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23574             {
 23574             {
 23575         
 23575         
 23576                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 23576                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 23592     {
 23592     {
 23593         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23593         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23594 
 23594 
 23595         {
 23595         {
 23596             symbol_c *IN_type_symbol = param_data_type;
 23596             symbol_c *IN_type_symbol = param_data_type;
 23597             last_type_symbol = param_data_type;
 23597             last_type_symbol = IN_type_symbol;
 23598             
 23598             
 23599             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23599             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23600             {
 23600             {
 23601         
 23601         
 23602                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 23602                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 23618     {
 23618     {
 23619         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23619         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23620 
 23620 
 23621         {
 23621         {
 23622             symbol_c *IN_type_symbol = param_data_type;
 23622             symbol_c *IN_type_symbol = param_data_type;
 23623             last_type_symbol = param_data_type;
 23623             last_type_symbol = IN_type_symbol;
 23624             
 23624             
 23625             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23625             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23626             {
 23626             {
 23627         
 23627         
 23628                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 23628                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 23644     {
 23644     {
 23645         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23645         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23646 
 23646 
 23647         {
 23647         {
 23648             symbol_c *IN_type_symbol = param_data_type;
 23648             symbol_c *IN_type_symbol = param_data_type;
 23649             last_type_symbol = param_data_type;
 23649             last_type_symbol = IN_type_symbol;
 23650             
 23650             
 23651             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23651             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23652             {
 23652             {
 23653         
 23653         
 23654                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 23654                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 23670     {
 23670     {
 23671         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23671         symbol_c *last_type_symbol = &search_constant_type_c::lreal_type_name;
 23672 
 23672 
 23673         {
 23673         {
 23674             symbol_c *IN_type_symbol = param_data_type;
 23674             symbol_c *IN_type_symbol = param_data_type;
 23675             last_type_symbol = param_data_type;
 23675             last_type_symbol = IN_type_symbol;
 23676             
 23676             
 23677             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23677             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
 23678             {
 23678             {
 23679         
 23679         
 23680                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 23680                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 23696     {
 23696     {
 23697         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23697         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23698 
 23698 
 23699         {
 23699         {
 23700             symbol_c *IN_type_symbol = param_data_type;
 23700             symbol_c *IN_type_symbol = param_data_type;
 23701             last_type_symbol = param_data_type;
 23701             last_type_symbol = IN_type_symbol;
 23702             
 23702             
 23703             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23703             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23704             {
 23704             {
 23705         
 23705         
 23706                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 23706                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 23722     {
 23722     {
 23723         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23723         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23724 
 23724 
 23725         {
 23725         {
 23726             symbol_c *IN_type_symbol = param_data_type;
 23726             symbol_c *IN_type_symbol = param_data_type;
 23727             last_type_symbol = param_data_type;
 23727             last_type_symbol = IN_type_symbol;
 23728             
 23728             
 23729             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23729             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23730             {
 23730             {
 23731         
 23731         
 23732                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 23732                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 23748     {
 23748     {
 23749         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23749         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23750 
 23750 
 23751         {
 23751         {
 23752             symbol_c *IN_type_symbol = param_data_type;
 23752             symbol_c *IN_type_symbol = param_data_type;
 23753             last_type_symbol = param_data_type;
 23753             last_type_symbol = IN_type_symbol;
 23754             
 23754             
 23755             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23755             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23756             {
 23756             {
 23757         
 23757         
 23758                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 23758                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 23774     {
 23774     {
 23775         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23775         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23776 
 23776 
 23777         {
 23777         {
 23778             symbol_c *IN_type_symbol = param_data_type;
 23778             symbol_c *IN_type_symbol = param_data_type;
 23779             last_type_symbol = param_data_type;
 23779             last_type_symbol = IN_type_symbol;
 23780             
 23780             
 23781             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23781             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23782             {
 23782             {
 23783         
 23783         
 23784                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 23784                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 23800     {
 23800     {
 23801         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23801         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23802 
 23802 
 23803         {
 23803         {
 23804             symbol_c *IN_type_symbol = param_data_type;
 23804             symbol_c *IN_type_symbol = param_data_type;
 23805             last_type_symbol = param_data_type;
 23805             last_type_symbol = IN_type_symbol;
 23806             
 23806             
 23807             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23807             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23808             {
 23808             {
 23809         
 23809         
 23810                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 23810                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 23826     {
 23826     {
 23827         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23827         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23828 
 23828 
 23829         {
 23829         {
 23830             symbol_c *IN_type_symbol = param_data_type;
 23830             symbol_c *IN_type_symbol = param_data_type;
 23831             last_type_symbol = param_data_type;
 23831             last_type_symbol = IN_type_symbol;
 23832             
 23832             
 23833             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23833             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23834             {
 23834             {
 23835         
 23835         
 23836                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 23836                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 23852     {
 23852     {
 23853         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23853         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23854 
 23854 
 23855         {
 23855         {
 23856             symbol_c *IN_type_symbol = param_data_type;
 23856             symbol_c *IN_type_symbol = param_data_type;
 23857             last_type_symbol = param_data_type;
 23857             last_type_symbol = IN_type_symbol;
 23858             
 23858             
 23859             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23859             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23860             {
 23860             {
 23861         
 23861         
 23862                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 23862                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 23878     {
 23878     {
 23879         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23879         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23880 
 23880 
 23881         {
 23881         {
 23882             symbol_c *IN_type_symbol = param_data_type;
 23882             symbol_c *IN_type_symbol = param_data_type;
 23883             last_type_symbol = param_data_type;
 23883             last_type_symbol = IN_type_symbol;
 23884             
 23884             
 23885             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23885             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23886             {
 23886             {
 23887         
 23887         
 23888                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 23888                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 23904     {
 23904     {
 23905         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23905         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23906 
 23906 
 23907         {
 23907         {
 23908             symbol_c *IN_type_symbol = param_data_type;
 23908             symbol_c *IN_type_symbol = param_data_type;
 23909             last_type_symbol = param_data_type;
 23909             last_type_symbol = IN_type_symbol;
 23910             
 23910             
 23911             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23911             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23912             {
 23912             {
 23913         
 23913         
 23914                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 23914                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 23930     {
 23930     {
 23931         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23931         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23932 
 23932 
 23933         {
 23933         {
 23934             symbol_c *IN_type_symbol = param_data_type;
 23934             symbol_c *IN_type_symbol = param_data_type;
 23935             last_type_symbol = param_data_type;
 23935             last_type_symbol = IN_type_symbol;
 23936             
 23936             
 23937             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23937             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23938             {
 23938             {
 23939         
 23939         
 23940                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 23940                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 23956     {
 23956     {
 23957         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23957         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23958 
 23958 
 23959         {
 23959         {
 23960             symbol_c *IN_type_symbol = param_data_type;
 23960             symbol_c *IN_type_symbol = param_data_type;
 23961             last_type_symbol = param_data_type;
 23961             last_type_symbol = IN_type_symbol;
 23962             
 23962             
 23963             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23963             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23964             {
 23964             {
 23965         
 23965         
 23966                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 23966                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 23982     {
 23982     {
 23983         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23983         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 23984 
 23984 
 23985         {
 23985         {
 23986             symbol_c *IN_type_symbol = param_data_type;
 23986             symbol_c *IN_type_symbol = param_data_type;
 23987             last_type_symbol = param_data_type;
 23987             last_type_symbol = IN_type_symbol;
 23988             
 23988             
 23989             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23989             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 23990             {
 23990             {
 23991         
 23991         
 23992                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 23992                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 24008     {
 24008     {
 24009         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 24009         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 24010 
 24010 
 24011         {
 24011         {
 24012             symbol_c *IN_type_symbol = param_data_type;
 24012             symbol_c *IN_type_symbol = param_data_type;
 24013             last_type_symbol = param_data_type;
 24013             last_type_symbol = IN_type_symbol;
 24014             
 24014             
 24015             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 24015             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 24016             {
 24016             {
 24017         
 24017         
 24018                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 24018                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 24034     {
 24034     {
 24035         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 24035         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 24036 
 24036 
 24037         {
 24037         {
 24038             symbol_c *IN_type_symbol = param_data_type;
 24038             symbol_c *IN_type_symbol = param_data_type;
 24039             last_type_symbol = param_data_type;
 24039             last_type_symbol = IN_type_symbol;
 24040             
 24040             
 24041             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 24041             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 24042             {
 24042             {
 24043         
 24043         
 24044                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 24044                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 24060     {
 24060     {
 24061         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 24061         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 24062 
 24062 
 24063         {
 24063         {
 24064             symbol_c *IN_type_symbol = param_data_type;
 24064             symbol_c *IN_type_symbol = param_data_type;
 24065             last_type_symbol = param_data_type;
 24065             last_type_symbol = IN_type_symbol;
 24066             
 24066             
 24067             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 24067             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 24068             {
 24068             {
 24069         
 24069         
 24070                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 24070                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 24086     {
 24086     {
 24087         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 24087         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 24088 
 24088 
 24089         {
 24089         {
 24090             symbol_c *IN_type_symbol = param_data_type;
 24090             symbol_c *IN_type_symbol = param_data_type;
 24091             last_type_symbol = param_data_type;
 24091             last_type_symbol = IN_type_symbol;
 24092             
 24092             
 24093             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 24093             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 24094             {
 24094             {
 24095         
 24095         
 24096                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 24096                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 24112     {
 24112     {
 24113         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 24113         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 24114 
 24114 
 24115         {
 24115         {
 24116             symbol_c *IN_type_symbol = param_data_type;
 24116             symbol_c *IN_type_symbol = param_data_type;
 24117             last_type_symbol = param_data_type;
 24117             last_type_symbol = IN_type_symbol;
 24118             
 24118             
 24119             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 24119             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 24120             {
 24120             {
 24121         
 24121         
 24122                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 24122                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 24138     {
 24138     {
 24139         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 24139         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 24140 
 24140 
 24141         {
 24141         {
 24142             symbol_c *IN_type_symbol = param_data_type;
 24142             symbol_c *IN_type_symbol = param_data_type;
 24143             last_type_symbol = param_data_type;
 24143             last_type_symbol = IN_type_symbol;
 24144             
 24144             
 24145             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 24145             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 24146             {
 24146             {
 24147         
 24147         
 24148                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 24148                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 24164     {
 24164     {
 24165         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 24165         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 24166 
 24166 
 24167         {
 24167         {
 24168             symbol_c *IN_type_symbol = param_data_type;
 24168             symbol_c *IN_type_symbol = param_data_type;
 24169             last_type_symbol = param_data_type;
 24169             last_type_symbol = IN_type_symbol;
 24170             
 24170             
 24171             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 24171             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 24172             {
 24172             {
 24173         
 24173         
 24174                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 24174                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 24190     {
 24190     {
 24191         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24191         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24192 
 24192 
 24193         {
 24193         {
 24194             symbol_c *IN_type_symbol = param_data_type;
 24194             symbol_c *IN_type_symbol = param_data_type;
 24195             last_type_symbol = param_data_type;
 24195             last_type_symbol = IN_type_symbol;
 24196             
 24196             
 24197             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24197             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24198             {
 24198             {
 24199         
 24199         
 24200                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 24200                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 24216     {
 24216     {
 24217         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24217         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24218 
 24218 
 24219         {
 24219         {
 24220             symbol_c *IN_type_symbol = param_data_type;
 24220             symbol_c *IN_type_symbol = param_data_type;
 24221             last_type_symbol = param_data_type;
 24221             last_type_symbol = IN_type_symbol;
 24222             
 24222             
 24223             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24223             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24224             {
 24224             {
 24225         
 24225         
 24226                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 24226                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 24242     {
 24242     {
 24243         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24243         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24244 
 24244 
 24245         {
 24245         {
 24246             symbol_c *IN_type_symbol = param_data_type;
 24246             symbol_c *IN_type_symbol = param_data_type;
 24247             last_type_symbol = param_data_type;
 24247             last_type_symbol = IN_type_symbol;
 24248             
 24248             
 24249             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24249             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24250             {
 24250             {
 24251         
 24251         
 24252                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 24252                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 24268     {
 24268     {
 24269         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24269         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24270 
 24270 
 24271         {
 24271         {
 24272             symbol_c *IN_type_symbol = param_data_type;
 24272             symbol_c *IN_type_symbol = param_data_type;
 24273             last_type_symbol = param_data_type;
 24273             last_type_symbol = IN_type_symbol;
 24274             
 24274             
 24275             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24275             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24276             {
 24276             {
 24277         
 24277         
 24278                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 24278                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 24294     {
 24294     {
 24295         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24295         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24296 
 24296 
 24297         {
 24297         {
 24298             symbol_c *IN_type_symbol = param_data_type;
 24298             symbol_c *IN_type_symbol = param_data_type;
 24299             last_type_symbol = param_data_type;
 24299             last_type_symbol = IN_type_symbol;
 24300             
 24300             
 24301             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24301             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24302             {
 24302             {
 24303         
 24303         
 24304                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 24304                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 24320     {
 24320     {
 24321         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24321         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24322 
 24322 
 24323         {
 24323         {
 24324             symbol_c *IN_type_symbol = param_data_type;
 24324             symbol_c *IN_type_symbol = param_data_type;
 24325             last_type_symbol = param_data_type;
 24325             last_type_symbol = IN_type_symbol;
 24326             
 24326             
 24327             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24327             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24328             {
 24328             {
 24329         
 24329         
 24330                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 24330                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 24346     {
 24346     {
 24347         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24347         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24348 
 24348 
 24349         {
 24349         {
 24350             symbol_c *IN_type_symbol = param_data_type;
 24350             symbol_c *IN_type_symbol = param_data_type;
 24351             last_type_symbol = param_data_type;
 24351             last_type_symbol = IN_type_symbol;
 24352             
 24352             
 24353             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24353             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24354             {
 24354             {
 24355         
 24355         
 24356                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 24356                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 24372     {
 24372     {
 24373         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24373         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24374 
 24374 
 24375         {
 24375         {
 24376             symbol_c *IN_type_symbol = param_data_type;
 24376             symbol_c *IN_type_symbol = param_data_type;
 24377             last_type_symbol = param_data_type;
 24377             last_type_symbol = IN_type_symbol;
 24378             
 24378             
 24379             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24379             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24380             {
 24380             {
 24381         
 24381         
 24382                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 24382                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 24398     {
 24398     {
 24399         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24399         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24400 
 24400 
 24401         {
 24401         {
 24402             symbol_c *IN_type_symbol = param_data_type;
 24402             symbol_c *IN_type_symbol = param_data_type;
 24403             last_type_symbol = param_data_type;
 24403             last_type_symbol = IN_type_symbol;
 24404             
 24404             
 24405             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24405             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24406             {
 24406             {
 24407         
 24407         
 24408                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 24408                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 24424     {
 24424     {
 24425         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24425         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24426 
 24426 
 24427         {
 24427         {
 24428             symbol_c *IN_type_symbol = param_data_type;
 24428             symbol_c *IN_type_symbol = param_data_type;
 24429             last_type_symbol = param_data_type;
 24429             last_type_symbol = IN_type_symbol;
 24430             
 24430             
 24431             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24431             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24432             {
 24432             {
 24433         
 24433         
 24434                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 24434                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 24450     {
 24450     {
 24451         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24451         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24452 
 24452 
 24453         {
 24453         {
 24454             symbol_c *IN_type_symbol = param_data_type;
 24454             symbol_c *IN_type_symbol = param_data_type;
 24455             last_type_symbol = param_data_type;
 24455             last_type_symbol = IN_type_symbol;
 24456             
 24456             
 24457             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24457             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24458             {
 24458             {
 24459         
 24459         
 24460                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 24460                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 24476     {
 24476     {
 24477         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24477         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24478 
 24478 
 24479         {
 24479         {
 24480             symbol_c *IN_type_symbol = param_data_type;
 24480             symbol_c *IN_type_symbol = param_data_type;
 24481             last_type_symbol = param_data_type;
 24481             last_type_symbol = IN_type_symbol;
 24482             
 24482             
 24483             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24483             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24484             {
 24484             {
 24485         
 24485         
 24486                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 24486                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 24502     {
 24502     {
 24503         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24503         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24504 
 24504 
 24505         {
 24505         {
 24506             symbol_c *IN_type_symbol = param_data_type;
 24506             symbol_c *IN_type_symbol = param_data_type;
 24507             last_type_symbol = param_data_type;
 24507             last_type_symbol = IN_type_symbol;
 24508             
 24508             
 24509             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24509             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24510             {
 24510             {
 24511         
 24511         
 24512                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 24512                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 24528     {
 24528     {
 24529         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24529         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24530 
 24530 
 24531         {
 24531         {
 24532             symbol_c *IN_type_symbol = param_data_type;
 24532             symbol_c *IN_type_symbol = param_data_type;
 24533             last_type_symbol = param_data_type;
 24533             last_type_symbol = IN_type_symbol;
 24534             
 24534             
 24535             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24535             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24536             {
 24536             {
 24537         
 24537         
 24538                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 24538                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 24554     {
 24554     {
 24555         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24555         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24556 
 24556 
 24557         {
 24557         {
 24558             symbol_c *IN_type_symbol = param_data_type;
 24558             symbol_c *IN_type_symbol = param_data_type;
 24559             last_type_symbol = param_data_type;
 24559             last_type_symbol = IN_type_symbol;
 24560             
 24560             
 24561             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24561             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24562             {
 24562             {
 24563         
 24563         
 24564                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 24564                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 24580     {
 24580     {
 24581         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24581         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24582 
 24582 
 24583         {
 24583         {
 24584             symbol_c *IN_type_symbol = param_data_type;
 24584             symbol_c *IN_type_symbol = param_data_type;
 24585             last_type_symbol = param_data_type;
 24585             last_type_symbol = IN_type_symbol;
 24586             
 24586             
 24587             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24587             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24588             {
 24588             {
 24589         
 24589         
 24590                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 24590                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 24606     {
 24606     {
 24607         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24607         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24608 
 24608 
 24609         {
 24609         {
 24610             symbol_c *IN_type_symbol = param_data_type;
 24610             symbol_c *IN_type_symbol = param_data_type;
 24611             last_type_symbol = param_data_type;
 24611             last_type_symbol = IN_type_symbol;
 24612             
 24612             
 24613             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24613             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24614             {
 24614             {
 24615         
 24615         
 24616                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 24616                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 24632     {
 24632     {
 24633         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24633         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24634 
 24634 
 24635         {
 24635         {
 24636             symbol_c *IN_type_symbol = param_data_type;
 24636             symbol_c *IN_type_symbol = param_data_type;
 24637             last_type_symbol = param_data_type;
 24637             last_type_symbol = IN_type_symbol;
 24638             
 24638             
 24639             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24639             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24640             {
 24640             {
 24641         
 24641         
 24642                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 24642                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 24658     {
 24658     {
 24659         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24659         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 24660 
 24660 
 24661         {
 24661         {
 24662             symbol_c *IN_type_symbol = param_data_type;
 24662             symbol_c *IN_type_symbol = param_data_type;
 24663             last_type_symbol = param_data_type;
 24663             last_type_symbol = IN_type_symbol;
 24664             
 24664             
 24665             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24665             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 24666             {
 24666             {
 24667         
 24667         
 24668                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 24668                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 24684     {
 24684     {
 24685         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24685         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24686 
 24686 
 24687         {
 24687         {
 24688             symbol_c *IN_type_symbol = param_data_type;
 24688             symbol_c *IN_type_symbol = param_data_type;
 24689             last_type_symbol = param_data_type;
 24689             last_type_symbol = IN_type_symbol;
 24690             
 24690             
 24691             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24691             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24692             {
 24692             {
 24693         
 24693         
 24694                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 24694                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 24710     {
 24710     {
 24711         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24711         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24712 
 24712 
 24713         {
 24713         {
 24714             symbol_c *IN_type_symbol = param_data_type;
 24714             symbol_c *IN_type_symbol = param_data_type;
 24715             last_type_symbol = param_data_type;
 24715             last_type_symbol = IN_type_symbol;
 24716             
 24716             
 24717             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24717             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24718             {
 24718             {
 24719         
 24719         
 24720                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 24720                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 24736     {
 24736     {
 24737         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24737         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24738 
 24738 
 24739         {
 24739         {
 24740             symbol_c *IN_type_symbol = param_data_type;
 24740             symbol_c *IN_type_symbol = param_data_type;
 24741             last_type_symbol = param_data_type;
 24741             last_type_symbol = IN_type_symbol;
 24742             
 24742             
 24743             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24743             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24744             {
 24744             {
 24745         
 24745         
 24746                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 24746                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 24762     {
 24762     {
 24763         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24763         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24764 
 24764 
 24765         {
 24765         {
 24766             symbol_c *IN_type_symbol = param_data_type;
 24766             symbol_c *IN_type_symbol = param_data_type;
 24767             last_type_symbol = param_data_type;
 24767             last_type_symbol = IN_type_symbol;
 24768             
 24768             
 24769             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24769             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24770             {
 24770             {
 24771         
 24771         
 24772                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 24772                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 24788     {
 24788     {
 24789         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24789         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24790 
 24790 
 24791         {
 24791         {
 24792             symbol_c *IN_type_symbol = param_data_type;
 24792             symbol_c *IN_type_symbol = param_data_type;
 24793             last_type_symbol = param_data_type;
 24793             last_type_symbol = IN_type_symbol;
 24794             
 24794             
 24795             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24795             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24796             {
 24796             {
 24797         
 24797         
 24798                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 24798                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 24814     {
 24814     {
 24815         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24815         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24816 
 24816 
 24817         {
 24817         {
 24818             symbol_c *IN_type_symbol = param_data_type;
 24818             symbol_c *IN_type_symbol = param_data_type;
 24819             last_type_symbol = param_data_type;
 24819             last_type_symbol = IN_type_symbol;
 24820             
 24820             
 24821             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24821             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24822             {
 24822             {
 24823         
 24823         
 24824                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 24824                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 24840     {
 24840     {
 24841         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24841         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24842 
 24842 
 24843         {
 24843         {
 24844             symbol_c *IN_type_symbol = param_data_type;
 24844             symbol_c *IN_type_symbol = param_data_type;
 24845             last_type_symbol = param_data_type;
 24845             last_type_symbol = IN_type_symbol;
 24846             
 24846             
 24847             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24847             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24848             {
 24848             {
 24849         
 24849         
 24850                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 24850                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 24866     {
 24866     {
 24867         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24867         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24868 
 24868 
 24869         {
 24869         {
 24870             symbol_c *IN_type_symbol = param_data_type;
 24870             symbol_c *IN_type_symbol = param_data_type;
 24871             last_type_symbol = param_data_type;
 24871             last_type_symbol = IN_type_symbol;
 24872             
 24872             
 24873             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24873             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24874             {
 24874             {
 24875         
 24875         
 24876                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 24876                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 24892     {
 24892     {
 24893         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24893         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24894 
 24894 
 24895         {
 24895         {
 24896             symbol_c *IN_type_symbol = param_data_type;
 24896             symbol_c *IN_type_symbol = param_data_type;
 24897             last_type_symbol = param_data_type;
 24897             last_type_symbol = IN_type_symbol;
 24898             
 24898             
 24899             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24899             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24900             {
 24900             {
 24901         
 24901         
 24902                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 24902                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 24918     {
 24918     {
 24919         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24919         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24920 
 24920 
 24921         {
 24921         {
 24922             symbol_c *IN_type_symbol = param_data_type;
 24922             symbol_c *IN_type_symbol = param_data_type;
 24923             last_type_symbol = param_data_type;
 24923             last_type_symbol = IN_type_symbol;
 24924             
 24924             
 24925             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24925             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24926             {
 24926             {
 24927         
 24927         
 24928                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 24928                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 24944     {
 24944     {
 24945         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24945         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24946 
 24946 
 24947         {
 24947         {
 24948             symbol_c *IN_type_symbol = param_data_type;
 24948             symbol_c *IN_type_symbol = param_data_type;
 24949             last_type_symbol = param_data_type;
 24949             last_type_symbol = IN_type_symbol;
 24950             
 24950             
 24951             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24951             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24952             {
 24952             {
 24953         
 24953         
 24954                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 24954                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 24970     {
 24970     {
 24971         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24971         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24972 
 24972 
 24973         {
 24973         {
 24974             symbol_c *IN_type_symbol = param_data_type;
 24974             symbol_c *IN_type_symbol = param_data_type;
 24975             last_type_symbol = param_data_type;
 24975             last_type_symbol = IN_type_symbol;
 24976             
 24976             
 24977             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24977             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 24978             {
 24978             {
 24979         
 24979         
 24980                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 24980                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 24996     {
 24996     {
 24997         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24997         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 24998 
 24998 
 24999         {
 24999         {
 25000             symbol_c *IN_type_symbol = param_data_type;
 25000             symbol_c *IN_type_symbol = param_data_type;
 25001             last_type_symbol = param_data_type;
 25001             last_type_symbol = IN_type_symbol;
 25002             
 25002             
 25003             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 25003             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 25004             {
 25004             {
 25005         
 25005         
 25006                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 25006                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 25022     {
 25022     {
 25023         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 25023         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 25024 
 25024 
 25025         {
 25025         {
 25026             symbol_c *IN_type_symbol = param_data_type;
 25026             symbol_c *IN_type_symbol = param_data_type;
 25027             last_type_symbol = param_data_type;
 25027             last_type_symbol = IN_type_symbol;
 25028             
 25028             
 25029             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 25029             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 25030             {
 25030             {
 25031         
 25031         
 25032                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 25032                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 25048     {
 25048     {
 25049         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 25049         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 25050 
 25050 
 25051         {
 25051         {
 25052             symbol_c *IN_type_symbol = param_data_type;
 25052             symbol_c *IN_type_symbol = param_data_type;
 25053             last_type_symbol = param_data_type;
 25053             last_type_symbol = IN_type_symbol;
 25054             
 25054             
 25055             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 25055             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 25056             {
 25056             {
 25057         
 25057         
 25058                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 25058                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 25074     {
 25074     {
 25075         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 25075         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 25076 
 25076 
 25077         {
 25077         {
 25078             symbol_c *IN_type_symbol = param_data_type;
 25078             symbol_c *IN_type_symbol = param_data_type;
 25079             last_type_symbol = param_data_type;
 25079             last_type_symbol = IN_type_symbol;
 25080             
 25080             
 25081             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 25081             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 25082             {
 25082             {
 25083         
 25083         
 25084                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 25084                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 25100     {
 25100     {
 25101         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 25101         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 25102 
 25102 
 25103         {
 25103         {
 25104             symbol_c *IN_type_symbol = param_data_type;
 25104             symbol_c *IN_type_symbol = param_data_type;
 25105             last_type_symbol = param_data_type;
 25105             last_type_symbol = IN_type_symbol;
 25106             
 25106             
 25107             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 25107             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 25108             {
 25108             {
 25109         
 25109         
 25110                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 25110                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 25126     {
 25126     {
 25127         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 25127         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 25128 
 25128 
 25129         {
 25129         {
 25130             symbol_c *IN_type_symbol = param_data_type;
 25130             symbol_c *IN_type_symbol = param_data_type;
 25131             last_type_symbol = param_data_type;
 25131             last_type_symbol = IN_type_symbol;
 25132             
 25132             
 25133             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 25133             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 25134             {
 25134             {
 25135         
 25135         
 25136                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 25136                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 25152     {
 25152     {
 25153         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 25153         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 25154 
 25154 
 25155         {
 25155         {
 25156             symbol_c *IN_type_symbol = param_data_type;
 25156             symbol_c *IN_type_symbol = param_data_type;
 25157             last_type_symbol = param_data_type;
 25157             last_type_symbol = IN_type_symbol;
 25158             
 25158             
 25159             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 25159             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 25160             {
 25160             {
 25161         
 25161         
 25162                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 25162                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 25178     {
 25178     {
 25179         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25179         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25180 
 25180 
 25181         {
 25181         {
 25182             symbol_c *IN_type_symbol = param_data_type;
 25182             symbol_c *IN_type_symbol = param_data_type;
 25183             last_type_symbol = param_data_type;
 25183             last_type_symbol = IN_type_symbol;
 25184             
 25184             
 25185             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25185             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25186             {
 25186             {
 25187         
 25187         
 25188                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 25188                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 25204     {
 25204     {
 25205         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25205         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25206 
 25206 
 25207         {
 25207         {
 25208             symbol_c *IN_type_symbol = param_data_type;
 25208             symbol_c *IN_type_symbol = param_data_type;
 25209             last_type_symbol = param_data_type;
 25209             last_type_symbol = IN_type_symbol;
 25210             
 25210             
 25211             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25211             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25212             {
 25212             {
 25213         
 25213         
 25214                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 25214                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 25230     {
 25230     {
 25231         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25231         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25232 
 25232 
 25233         {
 25233         {
 25234             symbol_c *IN_type_symbol = param_data_type;
 25234             symbol_c *IN_type_symbol = param_data_type;
 25235             last_type_symbol = param_data_type;
 25235             last_type_symbol = IN_type_symbol;
 25236             
 25236             
 25237             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25237             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25238             {
 25238             {
 25239         
 25239         
 25240                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 25240                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 25256     {
 25256     {
 25257         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25257         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25258 
 25258 
 25259         {
 25259         {
 25260             symbol_c *IN_type_symbol = param_data_type;
 25260             symbol_c *IN_type_symbol = param_data_type;
 25261             last_type_symbol = param_data_type;
 25261             last_type_symbol = IN_type_symbol;
 25262             
 25262             
 25263             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25263             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25264             {
 25264             {
 25265         
 25265         
 25266                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 25266                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 25282     {
 25282     {
 25283         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25283         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25284 
 25284 
 25285         {
 25285         {
 25286             symbol_c *IN_type_symbol = param_data_type;
 25286             symbol_c *IN_type_symbol = param_data_type;
 25287             last_type_symbol = param_data_type;
 25287             last_type_symbol = IN_type_symbol;
 25288             
 25288             
 25289             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25289             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25290             {
 25290             {
 25291         
 25291         
 25292                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 25292                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 25308     {
 25308     {
 25309         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25309         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25310 
 25310 
 25311         {
 25311         {
 25312             symbol_c *IN_type_symbol = param_data_type;
 25312             symbol_c *IN_type_symbol = param_data_type;
 25313             last_type_symbol = param_data_type;
 25313             last_type_symbol = IN_type_symbol;
 25314             
 25314             
 25315             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25315             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25316             {
 25316             {
 25317         
 25317         
 25318                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 25318                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 25334     {
 25334     {
 25335         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25335         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25336 
 25336 
 25337         {
 25337         {
 25338             symbol_c *IN_type_symbol = param_data_type;
 25338             symbol_c *IN_type_symbol = param_data_type;
 25339             last_type_symbol = param_data_type;
 25339             last_type_symbol = IN_type_symbol;
 25340             
 25340             
 25341             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25341             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25342             {
 25342             {
 25343         
 25343         
 25344                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 25344                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 25360     {
 25360     {
 25361         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25361         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25362 
 25362 
 25363         {
 25363         {
 25364             symbol_c *IN_type_symbol = param_data_type;
 25364             symbol_c *IN_type_symbol = param_data_type;
 25365             last_type_symbol = param_data_type;
 25365             last_type_symbol = IN_type_symbol;
 25366             
 25366             
 25367             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25367             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25368             {
 25368             {
 25369         
 25369         
 25370                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 25370                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 25386     {
 25386     {
 25387         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25387         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25388 
 25388 
 25389         {
 25389         {
 25390             symbol_c *IN_type_symbol = param_data_type;
 25390             symbol_c *IN_type_symbol = param_data_type;
 25391             last_type_symbol = param_data_type;
 25391             last_type_symbol = IN_type_symbol;
 25392             
 25392             
 25393             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25393             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25394             {
 25394             {
 25395         
 25395         
 25396                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 25396                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 25412     {
 25412     {
 25413         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25413         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25414 
 25414 
 25415         {
 25415         {
 25416             symbol_c *IN_type_symbol = param_data_type;
 25416             symbol_c *IN_type_symbol = param_data_type;
 25417             last_type_symbol = param_data_type;
 25417             last_type_symbol = IN_type_symbol;
 25418             
 25418             
 25419             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25419             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25420             {
 25420             {
 25421         
 25421         
 25422                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 25422                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 25438     {
 25438     {
 25439         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25439         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25440 
 25440 
 25441         {
 25441         {
 25442             symbol_c *IN_type_symbol = param_data_type;
 25442             symbol_c *IN_type_symbol = param_data_type;
 25443             last_type_symbol = param_data_type;
 25443             last_type_symbol = IN_type_symbol;
 25444             
 25444             
 25445             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25445             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25446             {
 25446             {
 25447         
 25447         
 25448                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 25448                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 25464     {
 25464     {
 25465         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25465         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25466 
 25466 
 25467         {
 25467         {
 25468             symbol_c *IN_type_symbol = param_data_type;
 25468             symbol_c *IN_type_symbol = param_data_type;
 25469             last_type_symbol = param_data_type;
 25469             last_type_symbol = IN_type_symbol;
 25470             
 25470             
 25471             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25471             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25472             {
 25472             {
 25473         
 25473         
 25474                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 25474                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 25490     {
 25490     {
 25491         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25491         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25492 
 25492 
 25493         {
 25493         {
 25494             symbol_c *IN_type_symbol = param_data_type;
 25494             symbol_c *IN_type_symbol = param_data_type;
 25495             last_type_symbol = param_data_type;
 25495             last_type_symbol = IN_type_symbol;
 25496             
 25496             
 25497             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25497             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25498             {
 25498             {
 25499         
 25499         
 25500                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 25500                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 25516     {
 25516     {
 25517         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25517         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25518 
 25518 
 25519         {
 25519         {
 25520             symbol_c *IN_type_symbol = param_data_type;
 25520             symbol_c *IN_type_symbol = param_data_type;
 25521             last_type_symbol = param_data_type;
 25521             last_type_symbol = IN_type_symbol;
 25522             
 25522             
 25523             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25523             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25524             {
 25524             {
 25525         
 25525         
 25526                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 25526                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 25542     {
 25542     {
 25543         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25543         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25544 
 25544 
 25545         {
 25545         {
 25546             symbol_c *IN_type_symbol = param_data_type;
 25546             symbol_c *IN_type_symbol = param_data_type;
 25547             last_type_symbol = param_data_type;
 25547             last_type_symbol = IN_type_symbol;
 25548             
 25548             
 25549             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25549             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25550             {
 25550             {
 25551         
 25551         
 25552                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 25552                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 25568     {
 25568     {
 25569         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25569         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25570 
 25570 
 25571         {
 25571         {
 25572             symbol_c *IN_type_symbol = param_data_type;
 25572             symbol_c *IN_type_symbol = param_data_type;
 25573             last_type_symbol = param_data_type;
 25573             last_type_symbol = IN_type_symbol;
 25574             
 25574             
 25575             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25575             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25576             {
 25576             {
 25577         
 25577         
 25578                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 25578                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 25594     {
 25594     {
 25595         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25595         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25596 
 25596 
 25597         {
 25597         {
 25598             symbol_c *IN_type_symbol = param_data_type;
 25598             symbol_c *IN_type_symbol = param_data_type;
 25599             last_type_symbol = param_data_type;
 25599             last_type_symbol = IN_type_symbol;
 25600             
 25600             
 25601             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25601             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25602             {
 25602             {
 25603         
 25603         
 25604                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 25604                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 25620     {
 25620     {
 25621         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25621         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25622 
 25622 
 25623         {
 25623         {
 25624             symbol_c *IN_type_symbol = param_data_type;
 25624             symbol_c *IN_type_symbol = param_data_type;
 25625             last_type_symbol = param_data_type;
 25625             last_type_symbol = IN_type_symbol;
 25626             
 25626             
 25627             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25627             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25628             {
 25628             {
 25629         
 25629         
 25630                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 25630                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 25646     {
 25646     {
 25647         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25647         symbol_c *last_type_symbol = &search_constant_type_c::bool_type_name;
 25648 
 25648 
 25649         {
 25649         {
 25650             symbol_c *IN_type_symbol = param_data_type;
 25650             symbol_c *IN_type_symbol = param_data_type;
 25651             last_type_symbol = param_data_type;
 25651             last_type_symbol = IN_type_symbol;
 25652             
 25652             
 25653             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25653             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 25654             {
 25654             {
 25655         
 25655         
 25656                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 25656                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 25672     {
 25672     {
 25673         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25673         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25674 
 25674 
 25675         {
 25675         {
 25676             symbol_c *IN_type_symbol = param_data_type;
 25676             symbol_c *IN_type_symbol = param_data_type;
 25677             last_type_symbol = param_data_type;
 25677             last_type_symbol = IN_type_symbol;
 25678             
 25678             
 25679             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25679             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25680             {
 25680             {
 25681         
 25681         
 25682                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 25682                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 25698     {
 25698     {
 25699         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25699         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25700 
 25700 
 25701         {
 25701         {
 25702             symbol_c *IN_type_symbol = param_data_type;
 25702             symbol_c *IN_type_symbol = param_data_type;
 25703             last_type_symbol = param_data_type;
 25703             last_type_symbol = IN_type_symbol;
 25704             
 25704             
 25705             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25705             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25706             {
 25706             {
 25707         
 25707         
 25708                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 25708                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 25724     {
 25724     {
 25725         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25725         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25726 
 25726 
 25727         {
 25727         {
 25728             symbol_c *IN_type_symbol = param_data_type;
 25728             symbol_c *IN_type_symbol = param_data_type;
 25729             last_type_symbol = param_data_type;
 25729             last_type_symbol = IN_type_symbol;
 25730             
 25730             
 25731             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25731             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25732             {
 25732             {
 25733         
 25733         
 25734                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 25734                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 25750     {
 25750     {
 25751         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25751         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25752 
 25752 
 25753         {
 25753         {
 25754             symbol_c *IN_type_symbol = param_data_type;
 25754             symbol_c *IN_type_symbol = param_data_type;
 25755             last_type_symbol = param_data_type;
 25755             last_type_symbol = IN_type_symbol;
 25756             
 25756             
 25757             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25757             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25758             {
 25758             {
 25759         
 25759         
 25760                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 25760                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 25776     {
 25776     {
 25777         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25777         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25778 
 25778 
 25779         {
 25779         {
 25780             symbol_c *IN_type_symbol = param_data_type;
 25780             symbol_c *IN_type_symbol = param_data_type;
 25781             last_type_symbol = param_data_type;
 25781             last_type_symbol = IN_type_symbol;
 25782             
 25782             
 25783             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25783             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25784             {
 25784             {
 25785         
 25785         
 25786                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 25786                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 25802     {
 25802     {
 25803         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25803         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25804 
 25804 
 25805         {
 25805         {
 25806             symbol_c *IN_type_symbol = param_data_type;
 25806             symbol_c *IN_type_symbol = param_data_type;
 25807             last_type_symbol = param_data_type;
 25807             last_type_symbol = IN_type_symbol;
 25808             
 25808             
 25809             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25809             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25810             {
 25810             {
 25811         
 25811         
 25812                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 25812                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 25828     {
 25828     {
 25829         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25829         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25830 
 25830 
 25831         {
 25831         {
 25832             symbol_c *IN_type_symbol = param_data_type;
 25832             symbol_c *IN_type_symbol = param_data_type;
 25833             last_type_symbol = param_data_type;
 25833             last_type_symbol = IN_type_symbol;
 25834             
 25834             
 25835             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25835             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25836             {
 25836             {
 25837         
 25837         
 25838                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 25838                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 25854     {
 25854     {
 25855         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25855         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25856 
 25856 
 25857         {
 25857         {
 25858             symbol_c *IN_type_symbol = param_data_type;
 25858             symbol_c *IN_type_symbol = param_data_type;
 25859             last_type_symbol = param_data_type;
 25859             last_type_symbol = IN_type_symbol;
 25860             
 25860             
 25861             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25861             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25862             {
 25862             {
 25863         
 25863         
 25864                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 25864                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 25880     {
 25880     {
 25881         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25881         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25882 
 25882 
 25883         {
 25883         {
 25884             symbol_c *IN_type_symbol = param_data_type;
 25884             symbol_c *IN_type_symbol = param_data_type;
 25885             last_type_symbol = param_data_type;
 25885             last_type_symbol = IN_type_symbol;
 25886             
 25886             
 25887             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25887             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25888             {
 25888             {
 25889         
 25889         
 25890                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 25890                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 25906     {
 25906     {
 25907         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25907         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25908 
 25908 
 25909         {
 25909         {
 25910             symbol_c *IN_type_symbol = param_data_type;
 25910             symbol_c *IN_type_symbol = param_data_type;
 25911             last_type_symbol = param_data_type;
 25911             last_type_symbol = IN_type_symbol;
 25912             
 25912             
 25913             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25913             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25914             {
 25914             {
 25915         
 25915         
 25916                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 25916                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 25932     {
 25932     {
 25933         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25933         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25934 
 25934 
 25935         {
 25935         {
 25936             symbol_c *IN_type_symbol = param_data_type;
 25936             symbol_c *IN_type_symbol = param_data_type;
 25937             last_type_symbol = param_data_type;
 25937             last_type_symbol = IN_type_symbol;
 25938             
 25938             
 25939             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25939             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25940             {
 25940             {
 25941         
 25941         
 25942                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 25942                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 25958     {
 25958     {
 25959         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25959         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25960 
 25960 
 25961         {
 25961         {
 25962             symbol_c *IN_type_symbol = param_data_type;
 25962             symbol_c *IN_type_symbol = param_data_type;
 25963             last_type_symbol = param_data_type;
 25963             last_type_symbol = IN_type_symbol;
 25964             
 25964             
 25965             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25965             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25966             {
 25966             {
 25967         
 25967         
 25968                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 25968                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 25984     {
 25984     {
 25985         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25985         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 25986 
 25986 
 25987         {
 25987         {
 25988             symbol_c *IN_type_symbol = param_data_type;
 25988             symbol_c *IN_type_symbol = param_data_type;
 25989             last_type_symbol = param_data_type;
 25989             last_type_symbol = IN_type_symbol;
 25990             
 25990             
 25991             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25991             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 25992             {
 25992             {
 25993         
 25993         
 25994                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 25994                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 26010     {
 26010     {
 26011         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 26011         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 26012 
 26012 
 26013         {
 26013         {
 26014             symbol_c *IN_type_symbol = param_data_type;
 26014             symbol_c *IN_type_symbol = param_data_type;
 26015             last_type_symbol = param_data_type;
 26015             last_type_symbol = IN_type_symbol;
 26016             
 26016             
 26017             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 26017             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 26018             {
 26018             {
 26019         
 26019         
 26020                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 26020                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 26036     {
 26036     {
 26037         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 26037         symbol_c *last_type_symbol = &search_constant_type_c::time_type_name;
 26038 
 26038 
 26039         {
 26039         {
 26040             symbol_c *IN_type_symbol = param_data_type;
 26040             symbol_c *IN_type_symbol = param_data_type;
 26041             last_type_symbol = param_data_type;
 26041             last_type_symbol = IN_type_symbol;
 26042             
 26042             
 26043             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 26043             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 26044             {
 26044             {
 26045         
 26045         
 26046                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 26046                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 26062     {
 26062     {
 26063         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26063         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26064 
 26064 
 26065         {
 26065         {
 26066             symbol_c *IN_type_symbol = param_data_type;
 26066             symbol_c *IN_type_symbol = param_data_type;
 26067             last_type_symbol = param_data_type;
 26067             last_type_symbol = IN_type_symbol;
 26068             
 26068             
 26069             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26069             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26070             {
 26070             {
 26071         
 26071         
 26072                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 26072                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 26088     {
 26088     {
 26089         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26089         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26090 
 26090 
 26091         {
 26091         {
 26092             symbol_c *IN_type_symbol = param_data_type;
 26092             symbol_c *IN_type_symbol = param_data_type;
 26093             last_type_symbol = param_data_type;
 26093             last_type_symbol = IN_type_symbol;
 26094             
 26094             
 26095             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26095             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26096             {
 26096             {
 26097         
 26097         
 26098                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 26098                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 26114     {
 26114     {
 26115         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26115         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26116 
 26116 
 26117         {
 26117         {
 26118             symbol_c *IN_type_symbol = param_data_type;
 26118             symbol_c *IN_type_symbol = param_data_type;
 26119             last_type_symbol = param_data_type;
 26119             last_type_symbol = IN_type_symbol;
 26120             
 26120             
 26121             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26121             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26122             {
 26122             {
 26123         
 26123         
 26124                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 26124                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 26140     {
 26140     {
 26141         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26141         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26142 
 26142 
 26143         {
 26143         {
 26144             symbol_c *IN_type_symbol = param_data_type;
 26144             symbol_c *IN_type_symbol = param_data_type;
 26145             last_type_symbol = param_data_type;
 26145             last_type_symbol = IN_type_symbol;
 26146             
 26146             
 26147             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26147             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26148             {
 26148             {
 26149         
 26149         
 26150                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 26150                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 26166     {
 26166     {
 26167         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26167         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26168 
 26168 
 26169         {
 26169         {
 26170             symbol_c *IN_type_symbol = param_data_type;
 26170             symbol_c *IN_type_symbol = param_data_type;
 26171             last_type_symbol = param_data_type;
 26171             last_type_symbol = IN_type_symbol;
 26172             
 26172             
 26173             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26173             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26174             {
 26174             {
 26175         
 26175         
 26176                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 26176                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 26192     {
 26192     {
 26193         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26193         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26194 
 26194 
 26195         {
 26195         {
 26196             symbol_c *IN_type_symbol = param_data_type;
 26196             symbol_c *IN_type_symbol = param_data_type;
 26197             last_type_symbol = param_data_type;
 26197             last_type_symbol = IN_type_symbol;
 26198             
 26198             
 26199             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26199             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26200             {
 26200             {
 26201         
 26201         
 26202                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 26202                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 26218     {
 26218     {
 26219         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26219         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26220 
 26220 
 26221         {
 26221         {
 26222             symbol_c *IN_type_symbol = param_data_type;
 26222             symbol_c *IN_type_symbol = param_data_type;
 26223             last_type_symbol = param_data_type;
 26223             last_type_symbol = IN_type_symbol;
 26224             
 26224             
 26225             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26225             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26226             {
 26226             {
 26227         
 26227         
 26228                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 26228                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 26244     {
 26244     {
 26245         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26245         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26246 
 26246 
 26247         {
 26247         {
 26248             symbol_c *IN_type_symbol = param_data_type;
 26248             symbol_c *IN_type_symbol = param_data_type;
 26249             last_type_symbol = param_data_type;
 26249             last_type_symbol = IN_type_symbol;
 26250             
 26250             
 26251             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26251             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26252             {
 26252             {
 26253         
 26253         
 26254                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 26254                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 26270     {
 26270     {
 26271         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26271         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26272 
 26272 
 26273         {
 26273         {
 26274             symbol_c *IN_type_symbol = param_data_type;
 26274             symbol_c *IN_type_symbol = param_data_type;
 26275             last_type_symbol = param_data_type;
 26275             last_type_symbol = IN_type_symbol;
 26276             
 26276             
 26277             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26277             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26278             {
 26278             {
 26279         
 26279         
 26280                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 26280                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 26296     {
 26296     {
 26297         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26297         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26298 
 26298 
 26299         {
 26299         {
 26300             symbol_c *IN_type_symbol = param_data_type;
 26300             symbol_c *IN_type_symbol = param_data_type;
 26301             last_type_symbol = param_data_type;
 26301             last_type_symbol = IN_type_symbol;
 26302             
 26302             
 26303             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26303             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26304             {
 26304             {
 26305         
 26305         
 26306                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 26306                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 26322     {
 26322     {
 26323         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26323         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26324 
 26324 
 26325         {
 26325         {
 26326             symbol_c *IN_type_symbol = param_data_type;
 26326             symbol_c *IN_type_symbol = param_data_type;
 26327             last_type_symbol = param_data_type;
 26327             last_type_symbol = IN_type_symbol;
 26328             
 26328             
 26329             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26329             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26330             {
 26330             {
 26331         
 26331         
 26332                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 26332                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 26348     {
 26348     {
 26349         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26349         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26350 
 26350 
 26351         {
 26351         {
 26352             symbol_c *IN_type_symbol = param_data_type;
 26352             symbol_c *IN_type_symbol = param_data_type;
 26353             last_type_symbol = param_data_type;
 26353             last_type_symbol = IN_type_symbol;
 26354             
 26354             
 26355             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26355             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26356             {
 26356             {
 26357         
 26357         
 26358                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 26358                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 26374     {
 26374     {
 26375         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26375         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26376 
 26376 
 26377         {
 26377         {
 26378             symbol_c *IN_type_symbol = param_data_type;
 26378             symbol_c *IN_type_symbol = param_data_type;
 26379             last_type_symbol = param_data_type;
 26379             last_type_symbol = IN_type_symbol;
 26380             
 26380             
 26381             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26381             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26382             {
 26382             {
 26383         
 26383         
 26384                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 26384                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 26400     {
 26400     {
 26401         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26401         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26402 
 26402 
 26403         {
 26403         {
 26404             symbol_c *IN_type_symbol = param_data_type;
 26404             symbol_c *IN_type_symbol = param_data_type;
 26405             last_type_symbol = param_data_type;
 26405             last_type_symbol = IN_type_symbol;
 26406             
 26406             
 26407             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26407             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26408             {
 26408             {
 26409         
 26409         
 26410                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 26410                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 26426     {
 26426     {
 26427         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26427         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26428 
 26428 
 26429         {
 26429         {
 26430             symbol_c *IN_type_symbol = param_data_type;
 26430             symbol_c *IN_type_symbol = param_data_type;
 26431             last_type_symbol = param_data_type;
 26431             last_type_symbol = IN_type_symbol;
 26432             
 26432             
 26433             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26433             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26434             {
 26434             {
 26435         
 26435         
 26436                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 26436                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 26452     {
 26452     {
 26453         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26453         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26454 
 26454 
 26455         {
 26455         {
 26456             symbol_c *IN_type_symbol = param_data_type;
 26456             symbol_c *IN_type_symbol = param_data_type;
 26457             last_type_symbol = param_data_type;
 26457             last_type_symbol = IN_type_symbol;
 26458             
 26458             
 26459             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26459             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26460             {
 26460             {
 26461         
 26461         
 26462                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 26462                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 26478     {
 26478     {
 26479         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26479         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26480 
 26480 
 26481         {
 26481         {
 26482             symbol_c *IN_type_symbol = param_data_type;
 26482             symbol_c *IN_type_symbol = param_data_type;
 26483             last_type_symbol = param_data_type;
 26483             last_type_symbol = IN_type_symbol;
 26484             
 26484             
 26485             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26485             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26486             {
 26486             {
 26487         
 26487         
 26488                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 26488                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 26504     {
 26504     {
 26505         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26505         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26506 
 26506 
 26507         {
 26507         {
 26508             symbol_c *IN_type_symbol = param_data_type;
 26508             symbol_c *IN_type_symbol = param_data_type;
 26509             last_type_symbol = param_data_type;
 26509             last_type_symbol = IN_type_symbol;
 26510             
 26510             
 26511             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26511             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26512             {
 26512             {
 26513         
 26513         
 26514                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 26514                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 26530     {
 26530     {
 26531         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26531         symbol_c *last_type_symbol = &search_constant_type_c::int_type_name;
 26532 
 26532 
 26533         {
 26533         {
 26534             symbol_c *IN_type_symbol = param_data_type;
 26534             symbol_c *IN_type_symbol = param_data_type;
 26535             last_type_symbol = param_data_type;
 26535             last_type_symbol = IN_type_symbol;
 26536             
 26536             
 26537             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26537             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
 26538             {
 26538             {
 26539         
 26539         
 26540                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 26540                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 26556     {
 26556     {
 26557         symbol_c *last_type_symbol = NULL;
 26557         symbol_c *last_type_symbol = NULL;
 26558 
 26558 
 26559         {
 26559         {
 26560             symbol_c *IN_type_symbol = param_data_type;
 26560             symbol_c *IN_type_symbol = param_data_type;
 26561             last_type_symbol = param_data_type;
 26561             last_type_symbol = IN_type_symbol;
 26562             
 26562             
 26563             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 26563             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 26564             {
 26564             {
 26565         
 26565         
 26566                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 26566                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 26582     {
 26582     {
 26583         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 26583         symbol_c *last_type_symbol = &search_constant_type_c::dword_type_name;
 26584 
 26584 
 26585         {
 26585         {
 26586             symbol_c *IN_type_symbol = param_data_type;
 26586             symbol_c *IN_type_symbol = param_data_type;
 26587             last_type_symbol = param_data_type;
 26587             last_type_symbol = IN_type_symbol;
 26588             
 26588             
 26589             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 26589             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
 26590             {
 26590             {
 26591         
 26591         
 26592                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 26592                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 26608     {
 26608     {
 26609         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 26609         symbol_c *last_type_symbol = &search_constant_type_c::word_type_name;
 26610 
 26610 
 26611         {
 26611         {
 26612             symbol_c *IN_type_symbol = param_data_type;
 26612             symbol_c *IN_type_symbol = param_data_type;
 26613             last_type_symbol = param_data_type;
 26613             last_type_symbol = IN_type_symbol;
 26614             
 26614             
 26615             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 26615             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
 26616             {
 26616             {
 26617         
 26617         
 26618                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 26618                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 26634     {
 26634     {
 26635         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 26635         symbol_c *last_type_symbol = &search_constant_type_c::lword_type_name;
 26636 
 26636 
 26637         {
 26637         {
 26638             symbol_c *IN_type_symbol = param_data_type;
 26638             symbol_c *IN_type_symbol = param_data_type;
 26639             last_type_symbol = param_data_type;
 26639             last_type_symbol = IN_type_symbol;
 26640             
 26640             
 26641             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 26641             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
 26642             {
 26642             {
 26643         
 26643         
 26644                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 26644                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 26660     {
 26660     {
 26661         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 26661         symbol_c *last_type_symbol = &search_constant_type_c::byte_type_name;
 26662 
 26662 
 26663         {
 26663         {
 26664             symbol_c *IN_type_symbol = param_data_type;
 26664             symbol_c *IN_type_symbol = param_data_type;
 26665             last_type_symbol = param_data_type;
 26665             last_type_symbol = IN_type_symbol;
 26666             
 26666             
 26667             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 26667             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
 26668             {
 26668             {
 26669         
 26669         
 26670                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 26670                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 26686     {
 26686     {
 26687         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 26687         symbol_c *last_type_symbol = &search_constant_type_c::udint_type_name;
 26688 
 26688 
 26689         {
 26689         {
 26690             symbol_c *IN_type_symbol = param_data_type;
 26690             symbol_c *IN_type_symbol = param_data_type;
 26691             last_type_symbol = param_data_type;
 26691             last_type_symbol = IN_type_symbol;
 26692             
 26692             
 26693             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 26693             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
 26694             {
 26694             {
 26695         
 26695         
 26696                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 26696                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 26712     {
 26712     {
 26713         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 26713         symbol_c *last_type_symbol = &search_constant_type_c::uint_type_name;
 26714 
 26714 
 26715         {
 26715         {
 26716             symbol_c *IN_type_symbol = param_data_type;
 26716             symbol_c *IN_type_symbol = param_data_type;
 26717             last_type_symbol = param_data_type;
 26717             last_type_symbol = IN_type_symbol;
 26718             
 26718             
 26719             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 26719             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
 26720             {
 26720             {
 26721         
 26721         
 26722                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 26722                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 26738     {
 26738     {
 26739         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 26739         symbol_c *last_type_symbol = &search_constant_type_c::usint_type_name;
 26740 
 26740 
 26741         {
 26741         {
 26742             symbol_c *IN_type_symbol = param_data_type;
 26742             symbol_c *IN_type_symbol = param_data_type;
 26743             last_type_symbol = param_data_type;
 26743             last_type_symbol = IN_type_symbol;
 26744             
 26744             
 26745             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 26745             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
 26746             {
 26746             {
 26747         
 26747         
 26748                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 26748                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 26764     {
 26764     {
 26765         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 26765         symbol_c *last_type_symbol = &search_constant_type_c::ulint_type_name;
 26766 
 26766 
 26767         {
 26767         {
 26768             symbol_c *IN_type_symbol = param_data_type;
 26768             symbol_c *IN_type_symbol = param_data_type;
 26769             last_type_symbol = param_data_type;
 26769             last_type_symbol = IN_type_symbol;
 26770             
 26770             
 26771             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 26771             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
 26772             {
 26772             {
 26773         
 26773         
 26774                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 26774                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 26790     {
 26790     {
 26791         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 26791         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 26792 
 26792 
 26793         {
 26793         {
 26794             symbol_c *IN_type_symbol = param_data_type;
 26794             symbol_c *IN_type_symbol = param_data_type;
 26795             last_type_symbol = param_data_type;
 26795             last_type_symbol = IN_type_symbol;
 26796             
 26796             
 26797             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 26797             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 26798             {
 26798             {
 26799         
 26799         
 26800                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 26800                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 26816     {
 26816     {
 26817         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 26817         symbol_c *last_type_symbol = &search_constant_type_c::dt_type_name;
 26818 
 26818 
 26819         {
 26819         {
 26820             symbol_c *IN_type_symbol = param_data_type;
 26820             symbol_c *IN_type_symbol = param_data_type;
 26821             last_type_symbol = param_data_type;
 26821             last_type_symbol = IN_type_symbol;
 26822             
 26822             
 26823             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 26823             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 26824             {
 26824             {
 26825         
 26825         
 26826                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 26826                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 26842     {
 26842     {
 26843         symbol_c *last_type_symbol = NULL;
 26843         symbol_c *last_type_symbol = NULL;
 26844 
 26844 
 26845         {
 26845         {
 26846             symbol_c *IN_type_symbol = param_data_type;
 26846             symbol_c *IN_type_symbol = param_data_type;
 26847             last_type_symbol = param_data_type;
 26847             last_type_symbol = IN_type_symbol;
 26848             
 26848             
 26849             if(IN_type_symbol == NULL || search_expression_type->is_num_type(IN_type_symbol))
 26849             if(IN_type_symbol == NULL || search_expression_type->is_num_type(IN_type_symbol))
 26850             {
 26850             {
 26851         
 26851         
 26852                 symbol_c * return_type_symbol = IN_type_symbol;
 26852                 symbol_c * return_type_symbol = IN_type_symbol;
 26868     {
 26868     {
 26869         symbol_c *last_type_symbol = NULL;
 26869         symbol_c *last_type_symbol = NULL;
 26870 
 26870 
 26871         {
 26871         {
 26872             symbol_c *IN_type_symbol = param_data_type;
 26872             symbol_c *IN_type_symbol = param_data_type;
 26873             last_type_symbol = param_data_type;
 26873             last_type_symbol = IN_type_symbol;
 26874             
 26874             
 26875             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 26875             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 26876             {
 26876             {
 26877         
 26877         
 26878                 symbol_c * return_type_symbol = IN_type_symbol;
 26878                 symbol_c * return_type_symbol = IN_type_symbol;
 26894     {
 26894     {
 26895         symbol_c *last_type_symbol = NULL;
 26895         symbol_c *last_type_symbol = NULL;
 26896 
 26896 
 26897         {
 26897         {
 26898             symbol_c *IN_type_symbol = param_data_type;
 26898             symbol_c *IN_type_symbol = param_data_type;
 26899             last_type_symbol = param_data_type;
 26899             last_type_symbol = IN_type_symbol;
 26900             
 26900             
 26901             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 26901             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 26902             {
 26902             {
 26903         
 26903         
 26904                 symbol_c * return_type_symbol = IN_type_symbol;
 26904                 symbol_c * return_type_symbol = IN_type_symbol;
 26920     {
 26920     {
 26921         symbol_c *last_type_symbol = NULL;
 26921         symbol_c *last_type_symbol = NULL;
 26922 
 26922 
 26923         {
 26923         {
 26924             symbol_c *IN_type_symbol = param_data_type;
 26924             symbol_c *IN_type_symbol = param_data_type;
 26925             last_type_symbol = param_data_type;
 26925             last_type_symbol = IN_type_symbol;
 26926             
 26926             
 26927             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 26927             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 26928             {
 26928             {
 26929         
 26929         
 26930                 symbol_c * return_type_symbol = IN_type_symbol;
 26930                 symbol_c * return_type_symbol = IN_type_symbol;
 26946     {
 26946     {
 26947         symbol_c *last_type_symbol = NULL;
 26947         symbol_c *last_type_symbol = NULL;
 26948 
 26948 
 26949         {
 26949         {
 26950             symbol_c *IN_type_symbol = param_data_type;
 26950             symbol_c *IN_type_symbol = param_data_type;
 26951             last_type_symbol = param_data_type;
 26951             last_type_symbol = IN_type_symbol;
 26952             
 26952             
 26953             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 26953             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 26954             {
 26954             {
 26955         
 26955         
 26956                 symbol_c * return_type_symbol = IN_type_symbol;
 26956                 symbol_c * return_type_symbol = IN_type_symbol;
 26972     {
 26972     {
 26973         symbol_c *last_type_symbol = NULL;
 26973         symbol_c *last_type_symbol = NULL;
 26974 
 26974 
 26975         {
 26975         {
 26976             symbol_c *IN_type_symbol = param_data_type;
 26976             symbol_c *IN_type_symbol = param_data_type;
 26977             last_type_symbol = param_data_type;
 26977             last_type_symbol = IN_type_symbol;
 26978             
 26978             
 26979             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 26979             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 26980             {
 26980             {
 26981         
 26981         
 26982                 symbol_c * return_type_symbol = IN_type_symbol;
 26982                 symbol_c * return_type_symbol = IN_type_symbol;
 26998     {
 26998     {
 26999         symbol_c *last_type_symbol = NULL;
 26999         symbol_c *last_type_symbol = NULL;
 27000 
 27000 
 27001         {
 27001         {
 27002             symbol_c *IN_type_symbol = param_data_type;
 27002             symbol_c *IN_type_symbol = param_data_type;
 27003             last_type_symbol = param_data_type;
 27003             last_type_symbol = IN_type_symbol;
 27004             
 27004             
 27005             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 27005             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 27006             {
 27006             {
 27007         
 27007         
 27008                 symbol_c * return_type_symbol = IN_type_symbol;
 27008                 symbol_c * return_type_symbol = IN_type_symbol;
 27024     {
 27024     {
 27025         symbol_c *last_type_symbol = NULL;
 27025         symbol_c *last_type_symbol = NULL;
 27026 
 27026 
 27027         {
 27027         {
 27028             symbol_c *IN_type_symbol = param_data_type;
 27028             symbol_c *IN_type_symbol = param_data_type;
 27029             last_type_symbol = param_data_type;
 27029             last_type_symbol = IN_type_symbol;
 27030             
 27030             
 27031             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 27031             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 27032             {
 27032             {
 27033         
 27033         
 27034                 symbol_c * return_type_symbol = IN_type_symbol;
 27034                 symbol_c * return_type_symbol = IN_type_symbol;
 27050     {
 27050     {
 27051         symbol_c *last_type_symbol = NULL;
 27051         symbol_c *last_type_symbol = NULL;
 27052 
 27052 
 27053         {
 27053         {
 27054             symbol_c *IN_type_symbol = param_data_type;
 27054             symbol_c *IN_type_symbol = param_data_type;
 27055             last_type_symbol = param_data_type;
 27055             last_type_symbol = IN_type_symbol;
 27056             
 27056             
 27057             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 27057             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 27058             {
 27058             {
 27059         
 27059         
 27060                 symbol_c * return_type_symbol = IN_type_symbol;
 27060                 symbol_c * return_type_symbol = IN_type_symbol;
 27076     {
 27076     {
 27077         symbol_c *last_type_symbol = NULL;
 27077         symbol_c *last_type_symbol = NULL;
 27078 
 27078 
 27079         {
 27079         {
 27080             symbol_c *IN_type_symbol = param_data_type;
 27080             symbol_c *IN_type_symbol = param_data_type;
 27081             last_type_symbol = param_data_type;
 27081             last_type_symbol = IN_type_symbol;
 27082             
 27082             
 27083             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 27083             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 27084             {
 27084             {
 27085         
 27085         
 27086                 symbol_c * return_type_symbol = IN_type_symbol;
 27086                 symbol_c * return_type_symbol = IN_type_symbol;
 27102     {
 27102     {
 27103         symbol_c *last_type_symbol = NULL;
 27103         symbol_c *last_type_symbol = NULL;
 27104 
 27104 
 27105         {
 27105         {
 27106             symbol_c *IN_type_symbol = param_data_type;
 27106             symbol_c *IN_type_symbol = param_data_type;
 27107             last_type_symbol = param_data_type;
 27107             last_type_symbol = IN_type_symbol;
 27108             
 27108             
 27109             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 27109             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
 27110             {
 27110             {
 27111         
 27111         
 27112                 symbol_c * return_type_symbol = IN_type_symbol;
 27112                 symbol_c * return_type_symbol = IN_type_symbol;
 27128     {
 27128     {
 27129         symbol_c *last_type_symbol = NULL;
 27129         symbol_c *last_type_symbol = NULL;
 27130 
 27130 
 27131         {
 27131         {
 27132             symbol_c *IN1_type_symbol = param_data_type;
 27132             symbol_c *IN1_type_symbol = param_data_type;
 27133             last_type_symbol = param_data_type;
 27133             last_type_symbol = IN1_type_symbol;
 27134             
 27134             
 27135             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 27135             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 27136             {
 27136             {
 27137         
 27137         
 27138                 {
 27138                 {
 27270     {
 27270     {
 27271         symbol_c *last_type_symbol = NULL;
 27271         symbol_c *last_type_symbol = NULL;
 27272 
 27272 
 27273         {
 27273         {
 27274             symbol_c *IN1_type_symbol = param_data_type;
 27274             symbol_c *IN1_type_symbol = param_data_type;
 27275             last_type_symbol = param_data_type;
 27275             last_type_symbol = IN1_type_symbol;
 27276             
 27276             
 27277             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 27277             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 27278             {
 27278             {
 27279         
 27279         
 27280                 {
 27280                 {
 27350     {
 27350     {
 27351         symbol_c *last_type_symbol = NULL;
 27351         symbol_c *last_type_symbol = NULL;
 27352 
 27352 
 27353         {
 27353         {
 27354             symbol_c *IN1_type_symbol = param_data_type;
 27354             symbol_c *IN1_type_symbol = param_data_type;
 27355             last_type_symbol = param_data_type;
 27355             last_type_symbol = IN1_type_symbol;
 27356             
 27356             
 27357             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 27357             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 27358             {
 27358             {
 27359         
 27359         
 27360                 {
 27360                 {
 27539     {
 27539     {
 27540         symbol_c *last_type_symbol = NULL;
 27540         symbol_c *last_type_symbol = NULL;
 27541 
 27541 
 27542         {
 27542         {
 27543             symbol_c *IN1_type_symbol = param_data_type;
 27543             symbol_c *IN1_type_symbol = param_data_type;
 27544             last_type_symbol = param_data_type;
 27544             last_type_symbol = IN1_type_symbol;
 27545             
 27545             
 27546             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 27546             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 27547             {
 27547             {
 27548         
 27548         
 27549                 {
 27549                 {
 27619     {
 27619     {
 27620         symbol_c *last_type_symbol = NULL;
 27620         symbol_c *last_type_symbol = NULL;
 27621 
 27621 
 27622         {
 27622         {
 27623             symbol_c *IN1_type_symbol = param_data_type;
 27623             symbol_c *IN1_type_symbol = param_data_type;
 27624             last_type_symbol = param_data_type;
 27624             last_type_symbol = IN1_type_symbol;
 27625             
 27625             
 27626             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 27626             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 27627             {
 27627             {
 27628         
 27628         
 27629                 {
 27629                 {
 27668     {
 27668     {
 27669         symbol_c *last_type_symbol = NULL;
 27669         symbol_c *last_type_symbol = NULL;
 27670 
 27670 
 27671         {
 27671         {
 27672             symbol_c *IN1_type_symbol = param_data_type;
 27672             symbol_c *IN1_type_symbol = param_data_type;
 27673             last_type_symbol = param_data_type;
 27673             last_type_symbol = IN1_type_symbol;
 27674             
 27674             
 27675             if(IN1_type_symbol == NULL || search_expression_type->is_real_type(IN1_type_symbol))
 27675             if(IN1_type_symbol == NULL || search_expression_type->is_real_type(IN1_type_symbol))
 27676             {
 27676             {
 27677         
 27677         
 27678                 {
 27678                 {
 27717     {
 27717     {
 27718         symbol_c *last_type_symbol = NULL;
 27718         symbol_c *last_type_symbol = NULL;
 27719 
 27719 
 27720         {
 27720         {
 27721             symbol_c *IN_type_symbol = param_data_type;
 27721             symbol_c *IN_type_symbol = param_data_type;
 27722             last_type_symbol = param_data_type;
 27722             last_type_symbol = IN_type_symbol;
 27723             
 27723             
 27724             
 27724             
 27725             {
 27725             {
 27726         
 27726         
 27727                 symbol_c * return_type_symbol = last_type_symbol;
 27727                 symbol_c * return_type_symbol = last_type_symbol;
 27743     {
 27743     {
 27744         symbol_c *last_type_symbol = NULL;
 27744         symbol_c *last_type_symbol = NULL;
 27745 
 27745 
 27746         {
 27746         {
 27747             symbol_c *IN1_type_symbol = param_data_type;
 27747             symbol_c *IN1_type_symbol = param_data_type;
 27748             last_type_symbol = param_data_type;
 27748             last_type_symbol = IN1_type_symbol;
 27749             
 27749             
 27750             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 27750             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 27751             {
 27751             {
 27752         
 27752         
 27753                 {
 27753                 {
 27792     {
 27792     {
 27793         symbol_c *last_type_symbol = NULL;
 27793         symbol_c *last_type_symbol = NULL;
 27794 
 27794 
 27795         {
 27795         {
 27796             symbol_c *IN1_type_symbol = param_data_type;
 27796             symbol_c *IN1_type_symbol = param_data_type;
 27797             last_type_symbol = param_data_type;
 27797             last_type_symbol = IN1_type_symbol;
 27798             
 27798             
 27799             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 27799             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 27800             {
 27800             {
 27801         
 27801         
 27802                 {
 27802                 {
 27841     {
 27841     {
 27842         symbol_c *last_type_symbol = NULL;
 27842         symbol_c *last_type_symbol = NULL;
 27843 
 27843 
 27844         {
 27844         {
 27845             symbol_c *IN1_type_symbol = param_data_type;
 27845             symbol_c *IN1_type_symbol = param_data_type;
 27846             last_type_symbol = param_data_type;
 27846             last_type_symbol = IN1_type_symbol;
 27847             
 27847             
 27848             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 27848             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 27849             {
 27849             {
 27850         
 27850         
 27851                 {
 27851                 {
 27890     {
 27890     {
 27891         symbol_c *last_type_symbol = NULL;
 27891         symbol_c *last_type_symbol = NULL;
 27892 
 27892 
 27893         {
 27893         {
 27894             symbol_c *IN1_type_symbol = param_data_type;
 27894             symbol_c *IN1_type_symbol = param_data_type;
 27895             last_type_symbol = param_data_type;
 27895             last_type_symbol = IN1_type_symbol;
 27896             
 27896             
 27897             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 27897             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 27898             {
 27898             {
 27899         
 27899         
 27900                 {
 27900                 {
 27939     {
 27939     {
 27940         symbol_c *last_type_symbol = NULL;
 27940         symbol_c *last_type_symbol = NULL;
 27941 
 27941 
 27942         {
 27942         {
 27943             symbol_c *IN1_type_symbol = param_data_type;
 27943             symbol_c *IN1_type_symbol = param_data_type;
 27944             last_type_symbol = param_data_type;
 27944             last_type_symbol = IN1_type_symbol;
 27945             
 27945             
 27946             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 27946             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 27947             {
 27947             {
 27948         
 27948         
 27949                 {
 27949                 {
 27988     {
 27988     {
 27989         symbol_c *last_type_symbol = NULL;
 27989         symbol_c *last_type_symbol = NULL;
 27990 
 27990 
 27991         {
 27991         {
 27992             symbol_c *IN1_type_symbol = param_data_type;
 27992             symbol_c *IN1_type_symbol = param_data_type;
 27993             last_type_symbol = param_data_type;
 27993             last_type_symbol = IN1_type_symbol;
 27994             
 27994             
 27995             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 27995             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 27996             {
 27996             {
 27997         
 27997         
 27998                 {
 27998                 {
 28037     {
 28037     {
 28038         symbol_c *last_type_symbol = NULL;
 28038         symbol_c *last_type_symbol = NULL;
 28039 
 28039 
 28040         {
 28040         {
 28041             symbol_c *IN1_type_symbol = param_data_type;
 28041             symbol_c *IN1_type_symbol = param_data_type;
 28042             last_type_symbol = param_data_type;
 28042             last_type_symbol = IN1_type_symbol;
 28043             
 28043             
 28044             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 28044             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 28045             {
 28045             {
 28046         
 28046         
 28047                 {
 28047                 {
 28086     {
 28086     {
 28087         symbol_c *last_type_symbol = NULL;
 28087         symbol_c *last_type_symbol = NULL;
 28088 
 28088 
 28089         {
 28089         {
 28090             symbol_c *IN1_type_symbol = param_data_type;
 28090             symbol_c *IN1_type_symbol = param_data_type;
 28091             last_type_symbol = param_data_type;
 28091             last_type_symbol = IN1_type_symbol;
 28092             
 28092             
 28093             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 28093             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 28094             {
 28094             {
 28095         
 28095         
 28096                 {
 28096                 {
 28135     {
 28135     {
 28136         symbol_c *last_type_symbol = NULL;
 28136         symbol_c *last_type_symbol = NULL;
 28137 
 28137 
 28138         {
 28138         {
 28139             symbol_c *IN1_type_symbol = param_data_type;
 28139             symbol_c *IN1_type_symbol = param_data_type;
 28140             last_type_symbol = param_data_type;
 28140             last_type_symbol = IN1_type_symbol;
 28141             
 28141             
 28142             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 28142             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 28143             {
 28143             {
 28144         
 28144         
 28145                 {
 28145                 {
 28192     {
 28192     {
 28193         symbol_c *last_type_symbol = NULL;
 28193         symbol_c *last_type_symbol = NULL;
 28194 
 28194 
 28195         {
 28195         {
 28196             symbol_c *IN1_type_symbol = param_data_type;
 28196             symbol_c *IN1_type_symbol = param_data_type;
 28197             last_type_symbol = param_data_type;
 28197             last_type_symbol = IN1_type_symbol;
 28198             
 28198             
 28199             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 28199             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 28200             {
 28200             {
 28201         
 28201         
 28202                 {
 28202                 {
 28241     {
 28241     {
 28242         symbol_c *last_type_symbol = NULL;
 28242         symbol_c *last_type_symbol = NULL;
 28243 
 28243 
 28244         {
 28244         {
 28245             symbol_c *IN_type_symbol = param_data_type;
 28245             symbol_c *IN_type_symbol = param_data_type;
 28246             last_type_symbol = param_data_type;
 28246             last_type_symbol = IN_type_symbol;
 28247             
 28247             
 28248             if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol))
 28248             if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol))
 28249             {
 28249             {
 28250         
 28250         
 28251                 {
 28251                 {
 28290     {
 28290     {
 28291         symbol_c *last_type_symbol = NULL;
 28291         symbol_c *last_type_symbol = NULL;
 28292 
 28292 
 28293         {
 28293         {
 28294             symbol_c *IN_type_symbol = param_data_type;
 28294             symbol_c *IN_type_symbol = param_data_type;
 28295             last_type_symbol = param_data_type;
 28295             last_type_symbol = IN_type_symbol;
 28296             
 28296             
 28297             if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol))
 28297             if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol))
 28298             {
 28298             {
 28299         
 28299         
 28300                 {
 28300                 {
 28339     {
 28339     {
 28340         symbol_c *last_type_symbol = NULL;
 28340         symbol_c *last_type_symbol = NULL;
 28341 
 28341 
 28342         {
 28342         {
 28343             symbol_c *IN_type_symbol = param_data_type;
 28343             symbol_c *IN_type_symbol = param_data_type;
 28344             last_type_symbol = param_data_type;
 28344             last_type_symbol = IN_type_symbol;
 28345             
 28345             
 28346             if(IN_type_symbol == NULL || search_expression_type->is_nbinary_type(IN_type_symbol))
 28346             if(IN_type_symbol == NULL || search_expression_type->is_nbinary_type(IN_type_symbol))
 28347             {
 28347             {
 28348         
 28348         
 28349                 {
 28349                 {
 28388     {
 28388     {
 28389         symbol_c *last_type_symbol = NULL;
 28389         symbol_c *last_type_symbol = NULL;
 28390 
 28390 
 28391         {
 28391         {
 28392             symbol_c *IN_type_symbol = param_data_type;
 28392             symbol_c *IN_type_symbol = param_data_type;
 28393             last_type_symbol = param_data_type;
 28393             last_type_symbol = IN_type_symbol;
 28394             
 28394             
 28395             if(IN_type_symbol == NULL || search_expression_type->is_nbinary_type(IN_type_symbol))
 28395             if(IN_type_symbol == NULL || search_expression_type->is_nbinary_type(IN_type_symbol))
 28396             {
 28396             {
 28397         
 28397         
 28398                 {
 28398                 {
 28437     {
 28437     {
 28438         symbol_c *last_type_symbol = NULL;
 28438         symbol_c *last_type_symbol = NULL;
 28439 
 28439 
 28440         {
 28440         {
 28441             symbol_c *IN1_type_symbol = param_data_type;
 28441             symbol_c *IN1_type_symbol = param_data_type;
 28442             last_type_symbol = param_data_type;
 28442             last_type_symbol = IN1_type_symbol;
 28443             
 28443             
 28444             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
 28444             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
 28445             {
 28445             {
 28446         
 28446         
 28447                 {
 28447                 {
 28486     {
 28486     {
 28487         symbol_c *last_type_symbol = NULL;
 28487         symbol_c *last_type_symbol = NULL;
 28488 
 28488 
 28489         {
 28489         {
 28490             symbol_c *IN1_type_symbol = param_data_type;
 28490             symbol_c *IN1_type_symbol = param_data_type;
 28491             last_type_symbol = param_data_type;
 28491             last_type_symbol = IN1_type_symbol;
 28492             
 28492             
 28493             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
 28493             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
 28494             {
 28494             {
 28495         
 28495         
 28496                 {
 28496                 {
 28535     {
 28535     {
 28536         symbol_c *last_type_symbol = NULL;
 28536         symbol_c *last_type_symbol = NULL;
 28537 
 28537 
 28538         {
 28538         {
 28539             symbol_c *IN1_type_symbol = param_data_type;
 28539             symbol_c *IN1_type_symbol = param_data_type;
 28540             last_type_symbol = param_data_type;
 28540             last_type_symbol = IN1_type_symbol;
 28541             
 28541             
 28542             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
 28542             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
 28543             {
 28543             {
 28544         
 28544         
 28545                 {
 28545                 {
 28584     {
 28584     {
 28585         symbol_c *last_type_symbol = NULL;
 28585         symbol_c *last_type_symbol = NULL;
 28586 
 28586 
 28587         {
 28587         {
 28588             symbol_c *IN_type_symbol = param_data_type;
 28588             symbol_c *IN_type_symbol = param_data_type;
 28589             last_type_symbol = param_data_type;
 28589             last_type_symbol = IN_type_symbol;
 28590             
 28590             
 28591             if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol))
 28591             if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol))
 28592             {
 28592             {
 28593         
 28593         
 28594                 symbol_c * return_type_symbol = IN_type_symbol;
 28594                 symbol_c * return_type_symbol = IN_type_symbol;
 28610     {
 28610     {
 28611         symbol_c *last_type_symbol = NULL;
 28611         symbol_c *last_type_symbol = NULL;
 28612 
 28612 
 28613         {
 28613         {
 28614             symbol_c *G_type_symbol = param_data_type;
 28614             symbol_c *G_type_symbol = param_data_type;
 28615             last_type_symbol = param_data_type;
 28615             last_type_symbol = G_type_symbol;
 28616             
 28616             
 28617             if(G_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 28617             if(G_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 28618             {
 28618             {
 28619         
 28619         
 28620                 {
 28620                 {
 28682     {
 28682     {
 28683         symbol_c *last_type_symbol = NULL;
 28683         symbol_c *last_type_symbol = NULL;
 28684 
 28684 
 28685         {
 28685         {
 28686             symbol_c *IN1_type_symbol = param_data_type;
 28686             symbol_c *IN1_type_symbol = param_data_type;
 28687             last_type_symbol = param_data_type;
 28687             last_type_symbol = IN1_type_symbol;
 28688             
 28688             
 28689             
 28689             
 28690             {
 28690             {
 28691         
 28691         
 28692                 {
 28692                 {
 28731     {
 28731     {
 28732         symbol_c *last_type_symbol = NULL;
 28732         symbol_c *last_type_symbol = NULL;
 28733 
 28733 
 28734         {
 28734         {
 28735             symbol_c *IN1_type_symbol = param_data_type;
 28735             symbol_c *IN1_type_symbol = param_data_type;
 28736             last_type_symbol = param_data_type;
 28736             last_type_symbol = IN1_type_symbol;
 28737             
 28737             
 28738             
 28738             
 28739             {
 28739             {
 28740         
 28740         
 28741                 {
 28741                 {
 28780     {
 28780     {
 28781         symbol_c *last_type_symbol = NULL;
 28781         symbol_c *last_type_symbol = NULL;
 28782 
 28782 
 28783         {
 28783         {
 28784             symbol_c *MN_type_symbol = param_data_type;
 28784             symbol_c *MN_type_symbol = param_data_type;
 28785             last_type_symbol = param_data_type;
 28785             last_type_symbol = MN_type_symbol;
 28786             
 28786             
 28787             
 28787             
 28788             {
 28788             {
 28789         
 28789         
 28790                 {
 28790                 {
 28852     {
 28852     {
 28853         symbol_c *last_type_symbol = NULL;
 28853         symbol_c *last_type_symbol = NULL;
 28854 
 28854 
 28855         {
 28855         {
 28856             symbol_c *K_type_symbol = param_data_type;
 28856             symbol_c *K_type_symbol = param_data_type;
 28857             last_type_symbol = param_data_type;
 28857             last_type_symbol = K_type_symbol;
 28858             
 28858             
 28859             if(K_type_symbol == NULL || search_expression_type->is_integer_type(K_type_symbol))
 28859             if(K_type_symbol == NULL || search_expression_type->is_integer_type(K_type_symbol))
 28860             {
 28860             {
 28861         
 28861         
 28862                 {
 28862                 {
 28924     {
 28924     {
 28925         symbol_c *last_type_symbol = NULL;
 28925         symbol_c *last_type_symbol = NULL;
 28926 
 28926 
 28927         {
 28927         {
 28928             symbol_c *IN1_type_symbol = param_data_type;
 28928             symbol_c *IN1_type_symbol = param_data_type;
 28929             last_type_symbol = param_data_type;
 28929             last_type_symbol = IN1_type_symbol;
 28930             
 28930             
 28931             
 28931             
 28932             {
 28932             {
 28933         
 28933         
 28934                 {
 28934                 {
 28973     {
 28973     {
 28974         symbol_c *last_type_symbol = NULL;
 28974         symbol_c *last_type_symbol = NULL;
 28975 
 28975 
 28976         {
 28976         {
 28977             symbol_c *IN1_type_symbol = param_data_type;
 28977             symbol_c *IN1_type_symbol = param_data_type;
 28978             last_type_symbol = param_data_type;
 28978             last_type_symbol = IN1_type_symbol;
 28979             
 28979             
 28980             
 28980             
 28981             {
 28981             {
 28982         
 28982         
 28983                 {
 28983                 {
 29022     {
 29022     {
 29023         symbol_c *last_type_symbol = NULL;
 29023         symbol_c *last_type_symbol = NULL;
 29024 
 29024 
 29025         {
 29025         {
 29026             symbol_c *IN1_type_symbol = param_data_type;
 29026             symbol_c *IN1_type_symbol = param_data_type;
 29027             last_type_symbol = param_data_type;
 29027             last_type_symbol = IN1_type_symbol;
 29028             
 29028             
 29029             
 29029             
 29030             {
 29030             {
 29031         
 29031         
 29032                 {
 29032                 {
 29071     {
 29071     {
 29072         symbol_c *last_type_symbol = NULL;
 29072         symbol_c *last_type_symbol = NULL;
 29073 
 29073 
 29074         {
 29074         {
 29075             symbol_c *IN1_type_symbol = param_data_type;
 29075             symbol_c *IN1_type_symbol = param_data_type;
 29076             last_type_symbol = param_data_type;
 29076             last_type_symbol = IN1_type_symbol;
 29077             
 29077             
 29078             
 29078             
 29079             {
 29079             {
 29080         
 29080         
 29081                 {
 29081                 {
 29120     {
 29120     {
 29121         symbol_c *last_type_symbol = NULL;
 29121         symbol_c *last_type_symbol = NULL;
 29122 
 29122 
 29123         {
 29123         {
 29124             symbol_c *IN1_type_symbol = param_data_type;
 29124             symbol_c *IN1_type_symbol = param_data_type;
 29125             last_type_symbol = param_data_type;
 29125             last_type_symbol = IN1_type_symbol;
 29126             
 29126             
 29127             
 29127             
 29128             {
 29128             {
 29129         
 29129         
 29130                 {
 29130                 {
 29169     {
 29169     {
 29170         symbol_c *last_type_symbol = NULL;
 29170         symbol_c *last_type_symbol = NULL;
 29171 
 29171 
 29172         {
 29172         {
 29173             symbol_c *IN1_type_symbol = param_data_type;
 29173             symbol_c *IN1_type_symbol = param_data_type;
 29174             last_type_symbol = param_data_type;
 29174             last_type_symbol = IN1_type_symbol;
 29175             
 29175             
 29176             
 29176             
 29177             {
 29177             {
 29178         
 29178         
 29179                 {
 29179                 {
 29218     {
 29218     {
 29219         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 29219         symbol_c *last_type_symbol = &search_constant_type_c::string_type_name;
 29220 
 29220 
 29221         {
 29221         {
 29222             symbol_c *IN_type_symbol = param_data_type;
 29222             symbol_c *IN_type_symbol = param_data_type;
 29223             last_type_symbol = param_data_type;
 29223             last_type_symbol = IN_type_symbol;
 29224             
 29224             
 29225             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 29225             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 29226             {
 29226             {
 29227         
 29227         
 29228                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 29228                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 29244     {
 29244     {
 29245         symbol_c *last_type_symbol = NULL;
 29245         symbol_c *last_type_symbol = NULL;
 29246 
 29246 
 29247         {
 29247         {
 29248             symbol_c *IN_type_symbol = param_data_type;
 29248             symbol_c *IN_type_symbol = param_data_type;
 29249             last_type_symbol = param_data_type;
 29249             last_type_symbol = IN_type_symbol;
 29250             
 29250             
 29251             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 29251             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 29252             {
 29252             {
 29253         
 29253         
 29254                 {
 29254                 {
 29293     {
 29293     {
 29294         symbol_c *last_type_symbol = NULL;
 29294         symbol_c *last_type_symbol = NULL;
 29295 
 29295 
 29296         {
 29296         {
 29297             symbol_c *IN_type_symbol = param_data_type;
 29297             symbol_c *IN_type_symbol = param_data_type;
 29298             last_type_symbol = param_data_type;
 29298             last_type_symbol = IN_type_symbol;
 29299             
 29299             
 29300             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 29300             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 29301             {
 29301             {
 29302         
 29302         
 29303                 {
 29303                 {
 29342     {
 29342     {
 29343         symbol_c *last_type_symbol = NULL;
 29343         symbol_c *last_type_symbol = NULL;
 29344 
 29344 
 29345         {
 29345         {
 29346             symbol_c *IN_type_symbol = param_data_type;
 29346             symbol_c *IN_type_symbol = param_data_type;
 29347             last_type_symbol = param_data_type;
 29347             last_type_symbol = IN_type_symbol;
 29348             
 29348             
 29349             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 29349             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 29350             {
 29350             {
 29351         
 29351         
 29352                 {
 29352                 {
 29414     {
 29414     {
 29415         symbol_c *last_type_symbol = NULL;
 29415         symbol_c *last_type_symbol = NULL;
 29416 
 29416 
 29417         {
 29417         {
 29418             symbol_c *IN1_type_symbol = param_data_type;
 29418             symbol_c *IN1_type_symbol = param_data_type;
 29419             last_type_symbol = param_data_type;
 29419             last_type_symbol = IN1_type_symbol;
 29420             
 29420             
 29421             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 29421             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 29422             {
 29422             {
 29423         
 29423         
 29424                 {
 29424                 {
 29463     {
 29463     {
 29464         symbol_c *last_type_symbol = NULL;
 29464         symbol_c *last_type_symbol = NULL;
 29465 
 29465 
 29466         {
 29466         {
 29467             symbol_c *IN1_type_symbol = param_data_type;
 29467             symbol_c *IN1_type_symbol = param_data_type;
 29468             last_type_symbol = param_data_type;
 29468             last_type_symbol = IN1_type_symbol;
 29469             
 29469             
 29470             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 29470             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 29471             {
 29471             {
 29472         
 29472         
 29473                 {
 29473                 {
 29512     {
 29512     {
 29513         symbol_c *last_type_symbol = NULL;
 29513         symbol_c *last_type_symbol = NULL;
 29514 
 29514 
 29515         {
 29515         {
 29516             symbol_c *IN1_type_symbol = param_data_type;
 29516             symbol_c *IN1_type_symbol = param_data_type;
 29517             last_type_symbol = param_data_type;
 29517             last_type_symbol = IN1_type_symbol;
 29518             
 29518             
 29519             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 29519             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 29520             {
 29520             {
 29521         
 29521         
 29522                 {
 29522                 {
 29584     {
 29584     {
 29585         symbol_c *last_type_symbol = NULL;
 29585         symbol_c *last_type_symbol = NULL;
 29586 
 29586 
 29587         {
 29587         {
 29588             symbol_c *IN_type_symbol = param_data_type;
 29588             symbol_c *IN_type_symbol = param_data_type;
 29589             last_type_symbol = param_data_type;
 29589             last_type_symbol = IN_type_symbol;
 29590             
 29590             
 29591             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 29591             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 29592             {
 29592             {
 29593         
 29593         
 29594                 {
 29594                 {
 29656     {
 29656     {
 29657         symbol_c *last_type_symbol = NULL;
 29657         symbol_c *last_type_symbol = NULL;
 29658 
 29658 
 29659         {
 29659         {
 29660             symbol_c *IN1_type_symbol = param_data_type;
 29660             symbol_c *IN1_type_symbol = param_data_type;
 29661             last_type_symbol = param_data_type;
 29661             last_type_symbol = IN1_type_symbol;
 29662             
 29662             
 29663             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 29663             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 29664             {
 29664             {
 29665         
 29665         
 29666                 {
 29666                 {
 29751     {
 29751     {
 29752         symbol_c *last_type_symbol = NULL;
 29752         symbol_c *last_type_symbol = NULL;
 29753 
 29753 
 29754         {
 29754         {
 29755             symbol_c *IN1_type_symbol = param_data_type;
 29755             symbol_c *IN1_type_symbol = param_data_type;
 29756             last_type_symbol = param_data_type;
 29756             last_type_symbol = IN1_type_symbol;
 29757             
 29757             
 29758             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 29758             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 29759             {
 29759             {
 29760         
 29760         
 29761                 {
 29761                 {