stage4/generate_c/il_code_gen.c
changeset 331 e08e14782a4f
parent 316 baa7a1585585
child 348 990ecb883731
--- a/stage4/generate_c/il_code_gen.c	Wed Jun 29 12:28:13 2011 +0200
+++ b/stage4/generate_c/il_code_gen.c	Wed Jun 29 12:28:59 2011 +0200
@@ -39,7 +39,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
@@ -75,7 +75,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
@@ -111,7 +111,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
@@ -147,7 +147,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
@@ -183,7 +183,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
@@ -219,7 +219,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
@@ -255,7 +255,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
@@ -291,7 +291,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
@@ -327,7 +327,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
@@ -363,7 +363,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
@@ -399,7 +399,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
@@ -435,7 +435,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
@@ -471,7 +471,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
@@ -508,7 +508,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
@@ -544,7 +544,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
@@ -580,7 +580,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
@@ -616,7 +616,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
@@ -652,7 +652,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
@@ -688,7 +688,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
@@ -724,7 +724,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
@@ -761,7 +761,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
@@ -798,7 +798,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
@@ -835,7 +835,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
@@ -871,7 +871,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
@@ -908,7 +908,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
@@ -944,7 +944,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
@@ -980,7 +980,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
@@ -1017,7 +1017,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
@@ -1054,7 +1054,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
@@ -1090,7 +1090,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
@@ -1127,7 +1127,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
@@ -1164,7 +1164,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
@@ -1201,7 +1201,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
@@ -1238,7 +1238,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
@@ -1275,7 +1275,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
@@ -1312,7 +1312,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
@@ -1349,7 +1349,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
@@ -1385,7 +1385,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
@@ -1422,7 +1422,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
@@ -1459,7 +1459,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
@@ -1496,7 +1496,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
@@ -1533,7 +1533,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
@@ -1569,7 +1569,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
@@ -1606,7 +1606,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
@@ -1642,7 +1642,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
@@ -1678,7 +1678,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
@@ -1715,7 +1715,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
@@ -1752,7 +1752,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
@@ -1788,7 +1788,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
@@ -1825,7 +1825,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
@@ -1862,7 +1862,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
@@ -1899,7 +1899,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
@@ -1936,7 +1936,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
@@ -1973,7 +1973,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
@@ -2010,7 +2010,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
@@ -2047,7 +2047,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
@@ -2083,7 +2083,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
@@ -2120,7 +2120,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
@@ -2157,7 +2157,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
@@ -2194,7 +2194,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
@@ -2231,7 +2231,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
@@ -2267,7 +2267,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
@@ -2304,7 +2304,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
@@ -2340,7 +2340,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
@@ -2376,7 +2376,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
@@ -2413,7 +2413,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
@@ -2450,7 +2450,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
@@ -2486,7 +2486,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
@@ -2523,7 +2523,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
@@ -2560,7 +2560,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
@@ -2597,7 +2597,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
@@ -2634,7 +2634,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
@@ -2671,7 +2671,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
@@ -2708,7 +2708,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
@@ -2745,7 +2745,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
@@ -2781,7 +2781,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
@@ -2818,7 +2818,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
             {
@@ -2854,7 +2854,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
             {
@@ -2890,7 +2890,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
             {
@@ -2926,7 +2926,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
             {
@@ -2962,7 +2962,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
             {
@@ -2998,7 +2998,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
             {
@@ -3034,7 +3034,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
             {
@@ -3070,7 +3070,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
             {
@@ -3106,7 +3106,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
             {
@@ -3142,7 +3142,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
             {
@@ -3178,7 +3178,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
             {
@@ -3214,7 +3214,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
             {
@@ -3250,7 +3250,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
             {
@@ -3286,7 +3286,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
             {
@@ -3322,7 +3322,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
             {
@@ -3358,7 +3358,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
@@ -3395,7 +3395,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
@@ -3432,7 +3432,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
@@ -3469,7 +3469,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
@@ -3506,7 +3506,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
@@ -3542,7 +3542,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
@@ -3578,7 +3578,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
@@ -3614,7 +3614,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
@@ -3651,7 +3651,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
@@ -3688,7 +3688,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
@@ -3724,7 +3724,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
@@ -3761,7 +3761,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
@@ -3798,7 +3798,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
@@ -3835,7 +3835,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
@@ -3872,7 +3872,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
@@ -3909,7 +3909,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
@@ -3946,7 +3946,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
@@ -3983,7 +3983,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
@@ -4019,7 +4019,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
@@ -4056,7 +4056,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
@@ -4092,7 +4092,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
@@ -4128,7 +4128,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
@@ -4164,7 +4164,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
@@ -4200,7 +4200,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
@@ -4236,7 +4236,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
@@ -4272,7 +4272,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
@@ -4308,7 +4308,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
@@ -4344,7 +4344,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
@@ -4380,7 +4380,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
@@ -4416,7 +4416,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
@@ -4452,7 +4452,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
@@ -4488,7 +4488,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
@@ -4524,7 +4524,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
@@ -4560,7 +4560,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
@@ -4596,7 +4596,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
             {
@@ -4632,7 +4632,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
             {
@@ -4668,7 +4668,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
             {
@@ -4704,7 +4704,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
             {
@@ -4740,7 +4740,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
             {
@@ -4776,7 +4776,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
             {
@@ -4812,7 +4812,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
             {
@@ -4848,7 +4848,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
             {
@@ -4884,7 +4884,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
             {
@@ -4920,7 +4920,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
             {
@@ -4956,7 +4956,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
             {
@@ -4992,7 +4992,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
             {
@@ -5028,7 +5028,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
             {
@@ -5064,7 +5064,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
             {
@@ -5100,7 +5100,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
             {
@@ -5136,7 +5136,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
@@ -5173,7 +5173,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
@@ -5210,7 +5210,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
@@ -5247,7 +5247,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
@@ -5284,7 +5284,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
@@ -5320,7 +5320,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
@@ -5357,7 +5357,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
@@ -5393,7 +5393,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
@@ -5429,7 +5429,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
@@ -5466,7 +5466,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
@@ -5502,7 +5502,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
@@ -5539,7 +5539,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
@@ -5576,7 +5576,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
@@ -5613,7 +5613,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
@@ -5650,7 +5650,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
@@ -5687,7 +5687,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
@@ -5724,7 +5724,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
@@ -5761,7 +5761,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
@@ -5797,7 +5797,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
@@ -5834,7 +5834,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
@@ -5871,7 +5871,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
@@ -5908,7 +5908,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
@@ -5945,7 +5945,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
@@ -5982,7 +5982,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
@@ -6018,7 +6018,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
@@ -6055,7 +6055,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
@@ -6091,7 +6091,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
@@ -6127,7 +6127,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
@@ -6164,7 +6164,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
@@ -6200,7 +6200,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
@@ -6237,7 +6237,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
@@ -6274,7 +6274,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
@@ -6311,7 +6311,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
@@ -6348,7 +6348,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
@@ -6385,7 +6385,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
@@ -6422,7 +6422,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
@@ -6459,7 +6459,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
@@ -6495,7 +6495,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
@@ -6532,7 +6532,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -6568,7 +6568,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -6604,7 +6604,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -6640,7 +6640,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -6676,7 +6676,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -6712,7 +6712,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -6748,7 +6748,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -6784,7 +6784,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -6820,7 +6820,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -6856,7 +6856,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -6892,7 +6892,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -6928,7 +6928,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -6964,7 +6964,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -7000,7 +7000,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -7036,7 +7036,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -7072,7 +7072,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -7108,7 +7108,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -7144,7 +7144,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -7180,7 +7180,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -7216,7 +7216,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
@@ -7253,7 +7253,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
@@ -7290,7 +7290,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
@@ -7327,7 +7327,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
@@ -7364,7 +7364,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
@@ -7400,7 +7400,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
@@ -7437,7 +7437,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
@@ -7473,7 +7473,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
@@ -7509,7 +7509,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
@@ -7546,7 +7546,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
@@ -7583,7 +7583,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
@@ -7619,7 +7619,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
@@ -7656,7 +7656,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
@@ -7693,7 +7693,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
@@ -7730,7 +7730,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
@@ -7767,7 +7767,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
@@ -7804,7 +7804,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
@@ -7841,7 +7841,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
@@ -7877,7 +7877,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
@@ -7914,7 +7914,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
@@ -7951,7 +7951,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
@@ -7988,7 +7988,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
@@ -8025,7 +8025,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
@@ -8062,7 +8062,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
@@ -8098,7 +8098,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
@@ -8135,7 +8135,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
@@ -8171,7 +8171,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
@@ -8207,7 +8207,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
@@ -8244,7 +8244,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
@@ -8281,7 +8281,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
@@ -8317,7 +8317,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
@@ -8354,7 +8354,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
@@ -8391,7 +8391,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
@@ -8428,7 +8428,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
@@ -8465,7 +8465,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
@@ -8502,7 +8502,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
@@ -8539,7 +8539,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
@@ -8575,7 +8575,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
@@ -8612,7 +8612,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
@@ -8649,7 +8649,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
@@ -8685,7 +8685,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
@@ -8721,7 +8721,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
@@ -8757,7 +8757,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
@@ -8793,7 +8793,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
@@ -8829,7 +8829,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
@@ -8865,7 +8865,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
@@ -8901,7 +8901,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
@@ -8937,7 +8937,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
@@ -8973,7 +8973,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
@@ -9009,7 +9009,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
@@ -9045,7 +9045,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
@@ -9081,7 +9081,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
@@ -9117,7 +9117,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
@@ -9153,7 +9153,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
@@ -9189,7 +9189,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
@@ -9225,7 +9225,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
@@ -9261,7 +9261,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
@@ -9297,7 +9297,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
@@ -9334,7 +9334,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
@@ -9371,7 +9371,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
@@ -9408,7 +9408,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
@@ -9445,7 +9445,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
@@ -9481,7 +9481,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
@@ -9518,7 +9518,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
@@ -9554,7 +9554,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
@@ -9590,7 +9590,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
@@ -9627,7 +9627,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
@@ -9664,7 +9664,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
@@ -9700,7 +9700,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
@@ -9737,7 +9737,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
@@ -9774,7 +9774,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
@@ -9811,7 +9811,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
@@ -9848,7 +9848,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
@@ -9885,7 +9885,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
@@ -9922,7 +9922,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
@@ -9958,7 +9958,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
@@ -9995,7 +9995,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
@@ -10032,7 +10032,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
@@ -10069,7 +10069,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
@@ -10106,7 +10106,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
@@ -10143,7 +10143,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
@@ -10179,7 +10179,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
@@ -10216,7 +10216,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
@@ -10252,7 +10252,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
@@ -10288,7 +10288,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
@@ -10325,7 +10325,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
@@ -10362,7 +10362,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
@@ -10398,7 +10398,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
@@ -10435,7 +10435,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
@@ -10472,7 +10472,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
@@ -10509,7 +10509,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
@@ -10546,7 +10546,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
@@ -10583,7 +10583,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
@@ -10620,7 +10620,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
@@ -10656,7 +10656,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
@@ -10693,7 +10693,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
@@ -10730,7 +10730,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
@@ -10767,7 +10767,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
@@ -10804,7 +10804,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
@@ -10841,7 +10841,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
@@ -10877,7 +10877,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
@@ -10914,7 +10914,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
@@ -10950,7 +10950,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
@@ -10986,7 +10986,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
@@ -11023,7 +11023,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
@@ -11060,7 +11060,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
@@ -11096,7 +11096,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
@@ -11133,7 +11133,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
@@ -11170,7 +11170,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
@@ -11207,7 +11207,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
@@ -11244,7 +11244,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
@@ -11281,7 +11281,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
@@ -11318,7 +11318,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
@@ -11354,7 +11354,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
@@ -11391,7 +11391,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
@@ -11428,7 +11428,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
@@ -11465,7 +11465,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
@@ -11502,7 +11502,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
@@ -11539,7 +11539,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
@@ -11575,7 +11575,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
@@ -11612,7 +11612,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
@@ -11648,7 +11648,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
@@ -11684,7 +11684,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
@@ -11721,7 +11721,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
@@ -11758,7 +11758,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
@@ -11794,7 +11794,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
@@ -11831,7 +11831,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
@@ -11868,7 +11868,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
@@ -11905,7 +11905,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
@@ -11942,7 +11942,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
@@ -11979,7 +11979,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
@@ -12016,7 +12016,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
@@ -12052,7 +12052,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
@@ -12089,7 +12089,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
@@ -12125,7 +12125,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
@@ -12161,7 +12161,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
@@ -12197,7 +12197,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
@@ -12233,7 +12233,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
@@ -12269,7 +12269,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
@@ -12305,7 +12305,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
@@ -12341,7 +12341,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
@@ -12377,7 +12377,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
@@ -12413,7 +12413,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
@@ -12449,7 +12449,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
@@ -12485,7 +12485,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
@@ -12521,7 +12521,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
@@ -12557,7 +12557,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
@@ -12593,7 +12593,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
@@ -12629,7 +12629,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
@@ -12666,7 +12666,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
@@ -12703,7 +12703,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
@@ -12740,7 +12740,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
@@ -12777,7 +12777,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
@@ -12813,7 +12813,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
@@ -12850,7 +12850,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
@@ -12886,7 +12886,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
@@ -12922,7 +12922,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
@@ -12959,7 +12959,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
@@ -12996,7 +12996,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
@@ -13032,7 +13032,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
@@ -13069,7 +13069,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
@@ -13106,7 +13106,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
@@ -13143,7 +13143,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
@@ -13180,7 +13180,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
@@ -13217,7 +13217,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
@@ -13254,7 +13254,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
@@ -13291,7 +13291,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
@@ -13327,7 +13327,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
             {
@@ -13365,7 +13365,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
@@ -13401,7 +13401,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
@@ -13437,7 +13437,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
@@ -13473,7 +13473,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
@@ -13509,7 +13509,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
@@ -13545,7 +13545,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
@@ -13581,7 +13581,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
@@ -13617,7 +13617,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
@@ -13653,7 +13653,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
@@ -13688,7 +13688,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
@@ -13723,7 +13723,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_num_type(IN_type_symbol))
             {
@@ -13761,7 +13761,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
             {
@@ -13799,7 +13799,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
             {
@@ -13837,7 +13837,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
             {
@@ -13875,7 +13875,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
             {
@@ -13913,7 +13913,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
             {
@@ -13951,7 +13951,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
             {
@@ -13989,7 +13989,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
             {
@@ -14027,7 +14027,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
             {
@@ -14065,7 +14065,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
             {
@@ -14103,7 +14103,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol))
             {
@@ -14141,7 +14141,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
             {
@@ -14355,7 +14355,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
             {
@@ -14491,7 +14491,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
             {
@@ -14748,7 +14748,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
             {
@@ -14853,7 +14853,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
             {
@@ -14916,7 +14916,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_real_type(IN1_type_symbol))
             {
@@ -14979,7 +14979,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             
             {
@@ -15019,7 +15019,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
@@ -15081,7 +15081,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
             {
@@ -15143,7 +15143,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
@@ -15205,7 +15205,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
@@ -15269,7 +15269,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
@@ -15331,7 +15331,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
             {
@@ -15393,7 +15393,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
             {
@@ -15455,7 +15455,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
             {
@@ -15517,7 +15517,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
@@ -15596,7 +15596,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
@@ -15660,7 +15660,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol))
             {
@@ -15723,7 +15723,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol))
             {
@@ -15786,7 +15786,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_nbinary_type(IN_type_symbol))
             {
@@ -15849,7 +15849,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_nbinary_type(IN_type_symbol))
             {
@@ -15912,7 +15912,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
             {
@@ -16006,7 +16006,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
             {
@@ -16100,7 +16100,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
             {
@@ -16194,7 +16194,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol))
             {
@@ -16232,7 +16232,7 @@
             symbol_c *G_param_value = &this->default_variable_name;
         
             symbol_c *G_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = G_type_symbol;
             
             if(G_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
@@ -16322,7 +16322,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             
             {
@@ -16416,7 +16416,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             
             {
@@ -16510,7 +16510,7 @@
             symbol_c *MN_param_value = &this->default_variable_name;
         
             symbol_c *MN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = MN_type_symbol;
             
             
             {
@@ -16604,7 +16604,7 @@
             symbol_c *K_param_value = &this->default_variable_name;
         
             symbol_c *K_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = K_type_symbol;
             
             if(K_type_symbol == NULL || search_expression_type->is_integer_type(K_type_symbol))
             {
@@ -16725,7 +16725,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             
             {
@@ -16819,7 +16819,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             
             {
@@ -16913,7 +16913,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             
             {
@@ -17007,7 +17007,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             
             {
@@ -17101,7 +17101,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             
             {
@@ -17195,7 +17195,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             
             {
@@ -17289,7 +17289,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -17324,7 +17324,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -17386,7 +17386,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -17448,7 +17448,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -17537,7 +17537,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -17630,7 +17630,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
             {
@@ -17692,7 +17692,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -17781,7 +17781,7 @@
             symbol_c *IN_param_value = &this->default_variable_name;
         
             symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN_type_symbol;
             
             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -17870,7 +17870,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
@@ -17986,7 +17986,7 @@
             symbol_c *IN1_param_value = &this->default_variable_name;
         
             symbol_c *IN1_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
+            last_type_symbol = IN1_type_symbol;
             
             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {