Merging my Huge change with Edouards/Laurents version
authorMario de Sousa <msousa@fe.up.pt>
Thu, 31 Mar 2011 10:45:34 +0100
changeset 258 d7d92b2f87e9
parent 257 90782e241346 (current diff)
parent 253 18988de676ac (diff)
child 259 b6d7c71ff6d8
Merging my Huge change with Edouards/Laurents version
absyntax_utils/search_expression_type.cc
debian/docs
setup.py
stage1_2/Makefile
stage1_2/iec.y
stage3/visit_expression_type.cc
stage4/generate_c/generate_c.cc
stage4/generate_c/generate_c_base.cc
stage4/generate_c/generate_c_st.cc
tests/syntax/identifier/runtests
--- a/.hgignore	Wed Mar 30 19:53:32 2011 +0100
+++ b/.hgignore	Thu Mar 31 10:45:34 2011 +0100
@@ -1,1 +1,12 @@
 .project
+
+syntax: regexp
+\.o$
+syntax: regexp
+^iec2c$
+syntax: regexp
+^iec2iec$
+syntax: regexp
+\.depend$
+syntax: regexp
+^stage1_2/iec\.(y|flex)\..*$
--- a/Makefile	Wed Mar 30 19:53:32 2011 +0100
+++ b/Makefile	Thu Mar 31 10:45:34 2011 +0100
@@ -66,7 +66,7 @@
 
 Makefile.depend depend:
 	$(CXX) -MM -MG -I. *.cc \
-	  | perl -pe 's/:/ Makefile.depend:/' > Makefile.depend
+	  | sed 's/:/ Makefile.depend:/' > Makefile.depend
 
 include Makefile.depend
 
--- a/Makefile.CYGWIN_NT-5.1	Wed Mar 30 19:53:32 2011 +0100
+++ b/Makefile.CYGWIN_NT-5.1	Thu Mar 31 10:45:34 2011 +0100
@@ -2,9 +2,9 @@
 CXX = g++ -mno-cygwin
 
 #get warnings, debugging information and optimization
-CFLAGS  = -Wall -pedantic -Wpointer-arith -Wwrite-strings
+CFLAGS  = -Wall -Wpointer-arith -Wwrite-strings
 # CFLAGS += -Werror
-CFLAGS += -ggdb
+# CFLAGS += -ggdb
 #CFLAGS += -O3 -funroll-loops
 # Note: if the optimizer crashes, we'll leave out the -O3 for those files
 
@@ -14,4 +14,4 @@
 #CXXFLAGS += -O3 -funroll-loops
 CXXFLAGS  = $(CFLAGS)
 
-IECLIBDIR=lib
\ No newline at end of file
+IECLIBDIR=lib
--- a/Makefile.Linux	Wed Mar 30 19:53:32 2011 +0100
+++ b/Makefile.Linux	Thu Mar 31 10:45:34 2011 +0100
@@ -2,7 +2,7 @@
 CXX = g++ 
 
 #get warnings, debugging information and optimization
-CFLAGS  = -Wall -pedantic -Wpointer-arith -Wwrite-strings
+CFLAGS  = -Wall -Wpointer-arith -Wwrite-strings
 # CFLAGS += -Werror
 CFLAGS += -ggdb
 #CFLAGS += -O3 -funroll-loops
--- a/absyntax/Makefile	Wed Mar 30 19:53:32 2011 +0100
+++ b/absyntax/Makefile	Thu Mar 31 10:45:34 2011 +0100
@@ -27,3 +27,8 @@
 ../% /% absyntax/% stage1_2/% stage3/% stage4/% util/%:
 	        $(MAKE) -C $(@D) $(@F)
 
+Makefile.depend depend:
+	$(CXX) -MM -MG -I. *.cc \
+	  | sed 's/:/ Makefile.depend:/' > Makefile.depend
+
+include Makefile.depend
--- a/absyntax_utils/Makefile	Wed Mar 30 19:53:32 2011 +0100
+++ b/absyntax_utils/Makefile	Thu Mar 31 10:45:34 2011 +0100
@@ -39,7 +39,7 @@
 
 
 Makefile.depend depend:
-	$(CXX) -MM -MG -I. *.cc > Makefile.depend
-	#| perl -pe 's/:/ Makefile.depend:/' > Makefile.depend
+	$(CXX) -MM -MG -I. *.cc \
+	  | sed 's/:/ Makefile.depend:/' > Makefile.depend
 
 include Makefile.depend
--- a/absyntax_utils/decompose_var_instance_name.cc	Wed Mar 30 19:53:32 2011 +0100
+++ b/absyntax_utils/decompose_var_instance_name.cc	Thu Mar 31 10:45:34 2011 +0100
@@ -46,21 +46,22 @@
   previously_returned_variable_name = NULL;
 }
 
-symbol_c *decompose_var_instance_name_c::next_part(void) {
+symbol_c *decompose_var_instance_name_c::next_part(bool increment) {
   /* We must always start from the top!
    * See note in the structured_variable_c visitor
    * to understand why...
    */
   symbol_c *res = (symbol_c *)variable_name->accept(*this);
-  next_variable_name = current_recursive_variable_name;
+  if (increment)
+    next_variable_name = current_recursive_variable_name;
 
   if (previously_returned_variable_name == res)
-    return NULL;
-  previously_returned_variable_name = res;
+	  return NULL;
+  if (increment)
+    previously_returned_variable_name = res;
   return res;
 }
 
-
 /*************************/
 /* B.1 - Common elements */
 /*************************/
@@ -123,7 +124,7 @@
      * so we do not have to recursevily visit it again...
      * return (void *)symbol->field_selector->accept(*this);  -> NOT REQUIRED!!
      */
-     return (void *)symbol->field_selector;
+	 return (void *)symbol->field_selector;
   }
 
   current_recursive_variable_name = symbol;
--- a/absyntax_utils/decompose_var_instance_name.hh	Wed Mar 30 19:53:32 2011 +0100
+++ b/absyntax_utils/decompose_var_instance_name.hh	Thu Mar 31 10:45:34 2011 +0100
@@ -53,7 +53,7 @@
   public:
     decompose_var_instance_name_c(symbol_c *variable_instance_name);
 
-    symbol_c *next_part(void);
+    symbol_c *next_part(bool increment = true);
 
   private:
   /*************************/
--- a/absyntax_utils/function_call_param_iterator.cc	Wed Mar 30 19:53:32 2011 +0100
+++ b/absyntax_utils/function_call_param_iterator.cc	Thu Mar 31 10:45:34 2011 +0100
@@ -495,8 +495,10 @@
   /* If the syntax parser is working correctly, exactly one of the 
    * following two symbols will be NULL, while the other is != NULL.
    */
-  if (symbol->   formal_param_list != NULL) return symbol->   formal_param_list->accept(*this);
-  if (symbol->nonformal_param_list != NULL) return symbol->nonformal_param_list->accept(*this);
+  if (symbol == (function_invocation_c *)f_call) {
+	if (symbol->   formal_param_list != NULL) return symbol->   formal_param_list->accept(*this);
+    if (symbol->nonformal_param_list != NULL) return symbol->nonformal_param_list->accept(*this);
+  }
 
   return NULL;
 }
--- a/absyntax_utils/function_param_iterator.cc	Wed Mar 30 19:53:32 2011 +0100
+++ b/absyntax_utils/function_param_iterator.cc	Thu Mar 31 10:45:34 2011 +0100
@@ -159,6 +159,7 @@
   identifier_c *identifier;
  
   param_count = 0;
+  en_eno_param_implicit = false;
   next_param++;
   current_operation = function_param_iterator_c::iterate_op;
   res = f_decl->accept(*this);
@@ -196,6 +197,11 @@
   return current_param_type;
 }
 
+/* Returns if currently referenced parameter is an implicit defined EN/ENO parameter. */
+bool function_param_iterator_c::is_en_eno_param_implicit(void) {
+  return en_eno_param_implicit;
+}
+
 /* Returns the currently referenced parameter's data passing direction.
  * i.e. VAR_INPUT, VAR_OUTPUT or VAR_INOUT
  */
@@ -203,6 +209,11 @@
   return current_param_direction;
 }
 
+void *function_param_iterator_c::visit(implicit_definition_c *symbol) {
+	en_eno_param_implicit = current_operation == function_param_iterator_c::iterate_op;
+	return NULL;
+}
+
 /****************************************/
 /* 1.4.3 - Declaration & Initialisation */
 /****************************************/
@@ -224,6 +235,8 @@
    * variables will get overwritten when we visit the next
    * var1_init_decl_c list!
    */
+  symbol->method->accept(*this);
+
   current_param_default_value = symbol->value;
   current_param_type = symbol->type;
 
@@ -232,11 +245,25 @@
 
 /* var1_list ':' array_spec_init */
 //SYM_REF2(array_var_init_decl_c, var1_list, array_spec_init)
-void *function_param_iterator_c::visit(array_var_init_decl_c *symbol) {TRACE("array_var_init_decl_c"); return symbol->var1_list->accept(*this);}
+void *function_param_iterator_c::visit(array_var_init_decl_c *symbol) {
+  TRACE("array_var_init_decl_c");
+
+  current_param_default_value = spec_init_sperator_c::get_init(symbol->array_spec_init);
+  current_param_type = spec_init_sperator_c::get_spec(symbol->array_spec_init);
+
+  return symbol->var1_list->accept(*this);
+}
 
 /*  var1_list ':' initialized_structure */
 //SYM_REF2(structured_var_init_decl_c, var1_list, initialized_structure)
-void *function_param_iterator_c::visit(structured_var_init_decl_c *symbol) {TRACE("structured_var_init_decl_c"); return symbol->var1_list->accept(*this);}
+void *function_param_iterator_c::visit(structured_var_init_decl_c *symbol) {
+  TRACE("structured_var_init_decl_c");
+
+  current_param_default_value = spec_init_sperator_c::get_init(symbol->initialized_structure);
+  current_param_type = spec_init_sperator_c::get_spec(symbol->initialized_structure);
+
+  return symbol->var1_list->accept(*this);
+}
 
 void *function_param_iterator_c::visit(output_declarations_c *symbol) {
   TRACE("output_declarations_c");
@@ -251,14 +278,12 @@
    * variables will get overwritten when we visit the next
    * var1_init_decl_c list!
    */
+  symbol->method->accept(*this);
+
   current_param_default_value = NULL;
   current_param_type = symbol->type;
 
   return handle_single_param(symbol->name);
-#if 0
-  if (eno_declared) ERROR;
-  return (void *)declare_eno_param();
-#endif
 }
 void *function_param_iterator_c::visit(input_output_declarations_c *symbol) {
   TRACE("input_output_declarations_c");
@@ -269,11 +294,25 @@
 
 /*  var1_list ':' array_specification */
 //SYM_REF2(array_var_declaration_c, var1_list, array_specification)
-void *function_param_iterator_c::visit(array_var_declaration_c *symbol) {TRACE("array_var_declaration_c"); return symbol->var1_list->accept(*this);}
+void *function_param_iterator_c::visit(array_var_declaration_c *symbol) {
+	TRACE("array_var_declaration_c");
+
+	current_param_default_value = NULL;
+	current_param_type = symbol->array_specification;
+
+	return symbol->var1_list->accept(*this);
+}
 
 /*  var1_list ':' structure_type_name */
 //SYM_REF2(structured_var_declaration_c, var1_list, structure_type_name)
-void *function_param_iterator_c::visit(structured_var_declaration_c *symbol) {TRACE("structured_var_declaration_c"); return symbol->var1_list->accept(*this);}
+void *function_param_iterator_c::visit(structured_var_declaration_c *symbol) {
+  TRACE("structured_var_declaration_c");
+
+  current_param_default_value = NULL;
+  current_param_type = symbol->structure_type_name;
+
+  return symbol->var1_list->accept(*this);
+}
 
 /* VAR [CONSTANT] var_init_decl_list END_VAR */
 void *function_param_iterator_c::visit(var_declarations_c *symbol) {TRACE("var_declarations_c"); return NULL;}
--- a/absyntax_utils/function_param_iterator.hh	Wed Mar 30 19:53:32 2011 +0100
+++ b/absyntax_utils/function_param_iterator.hh	Thu Mar 31 10:45:34 2011 +0100
@@ -81,6 +81,7 @@
     symbol_c *current_param_type;
     symbol_c *current_param_default_value;
     param_direction_t current_param_direction;
+    bool en_eno_param_implicit;
     /* Which operation of the class was called...
      * Search a parameter, or iterate to the next parameter.
      */
@@ -131,12 +132,16 @@
     /* Returns the currently referenced parameter's type name. */
     symbol_c *param_type(void);
 
+    /* Returns if currently referenced parameter is an implicit defined EN/ENO parameter. */
+    bool is_en_eno_param_implicit(void);
+
     /* Returns the currently referenced parameter's data passing direction.
      * i.e. VAR_INPUT, VAR_OUTPUT or VAR_INOUT
      */
     param_direction_t param_direction(void);
 
     private:
+    void *visit(implicit_definition_c *symbol);
     /******************************************/
     /* B 1.4.3 - Declaration & Initialisation */
     /******************************************/
--- a/absyntax_utils/get_function_type_decl.c	Wed Mar 30 19:53:32 2011 +0100
+++ b/absyntax_utils/get_function_type_decl.c	Thu Mar 31 10:45:34 2011 +0100
@@ -26,8 +26,8 @@
  * IEC 61131-3 standard function library
  * generated code, do not edit by hand
  */
-
-
+ 
+ 
 function_type_t get_function_type(identifier_c *function_name) {
 
 if (!strcasecmp(function_name->value, "REAL_TO_SINT"))
--- a/absyntax_utils/search_expression_type.cc	Wed Mar 30 19:53:32 2011 +0100
+++ b/absyntax_utils/search_expression_type.cc	Thu Mar 31 10:45:34 2011 +0100
@@ -185,19 +185,7 @@
 
 
 integer_c search_expression_type_c::integer("1"); // what default value should we use here ???
-#define compute_standard_function_default search_expression_type_c::compute_standard_function_default
-#define compute_standard_function_il search_expression_type_c::compute_standard_function_il
-#define search(x) search_f(x)
-#define next() next_nf()
-//     #define search_constant_type_c::constant_int_type_name  search_expression_type_c::integer
-#define constant_int_type_name  integer
 #include "search_type_code.c"
-#undef constant_int_type_name
-//     #undef search_constant_type_c::constant_int_type_name
-#undef next
-#undef search
-#undef compute_standard_function_default
-#undef compute_standard_function_il
 
 /*static bool_type_name_c bool_type_name;*/
 
--- a/absyntax_utils/search_type_code.c	Wed Mar 30 19:53:32 2011 +0100
+++ b/absyntax_utils/search_type_code.c	Thu Mar 31 10:45:34 2011 +0100
@@ -29,7 +29,7 @@
  
  
 
-void *compute_standard_function_default(function_invocation_c *st_symbol = NULL, il_formal_funct_call_c *il_symbol = NULL) {
+void *search_expression_type_c::compute_standard_function_default(function_invocation_c *st_symbol = NULL, il_formal_funct_call_c *il_symbol = NULL) {
   function_type_t current_function_type;
   function_call_param_iterator_c *tmp_function_call_param_iterator;
   if (st_symbol != NULL && il_symbol == NULL) {
@@ -55,14 +55,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -91,14 +91,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -127,14 +127,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -163,14 +163,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -199,14 +199,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -235,14 +235,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -271,14 +271,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -307,14 +307,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -343,14 +343,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -379,14 +379,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -415,14 +415,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -451,14 +451,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -487,14 +487,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -523,14 +523,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -559,14 +559,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -595,14 +595,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -631,14 +631,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -667,14 +667,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -703,14 +703,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -739,14 +739,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -775,14 +775,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -811,14 +811,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -847,14 +847,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -883,14 +883,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -919,14 +919,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -955,14 +955,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -991,14 +991,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1027,14 +1027,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1063,14 +1063,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1099,14 +1099,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1135,14 +1135,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1171,14 +1171,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1207,14 +1207,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1243,14 +1243,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1279,14 +1279,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1315,14 +1315,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1351,14 +1351,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1387,14 +1387,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1423,14 +1423,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1459,14 +1459,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1495,14 +1495,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1531,14 +1531,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1567,14 +1567,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1603,14 +1603,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1639,14 +1639,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1675,14 +1675,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1711,14 +1711,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1747,14 +1747,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1783,14 +1783,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1819,14 +1819,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1855,14 +1855,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1891,14 +1891,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1927,14 +1927,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1963,14 +1963,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -1999,14 +1999,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2035,14 +2035,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2071,14 +2071,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2107,14 +2107,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2143,14 +2143,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2179,14 +2179,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2215,14 +2215,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2251,14 +2251,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2287,14 +2287,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2323,14 +2323,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2359,14 +2359,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2395,14 +2395,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2431,14 +2431,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2467,14 +2467,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2503,14 +2503,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2539,14 +2539,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2575,14 +2575,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2611,14 +2611,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2647,14 +2647,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2683,14 +2683,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2719,14 +2719,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2755,14 +2755,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2791,14 +2791,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2827,14 +2827,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2863,14 +2863,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2899,14 +2899,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2935,14 +2935,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -2971,14 +2971,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3007,14 +3007,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3043,14 +3043,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3079,14 +3079,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3115,14 +3115,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3151,14 +3151,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3187,14 +3187,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3223,14 +3223,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3259,14 +3259,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3295,14 +3295,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3331,14 +3331,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3367,14 +3367,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3403,14 +3403,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3439,14 +3439,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3475,14 +3475,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3511,14 +3511,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3547,14 +3547,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3583,14 +3583,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3619,14 +3619,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3655,14 +3655,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3691,14 +3691,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3727,14 +3727,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3763,14 +3763,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3799,14 +3799,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3835,14 +3835,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3871,14 +3871,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3907,14 +3907,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3943,14 +3943,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -3979,14 +3979,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4015,14 +4015,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4051,14 +4051,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4087,14 +4087,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4123,14 +4123,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4159,14 +4159,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4195,14 +4195,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4231,14 +4231,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4267,14 +4267,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4303,14 +4303,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4339,14 +4339,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4375,14 +4375,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4411,14 +4411,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4447,14 +4447,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4483,14 +4483,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4519,14 +4519,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4555,14 +4555,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4591,14 +4591,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4627,14 +4627,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4663,14 +4663,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4699,14 +4699,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4735,14 +4735,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4771,14 +4771,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4807,14 +4807,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4843,14 +4843,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4879,14 +4879,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4915,14 +4915,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4951,14 +4951,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -4987,14 +4987,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5023,14 +5023,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5059,14 +5059,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5095,14 +5095,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5131,14 +5131,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5167,14 +5167,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5203,14 +5203,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5239,14 +5239,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5275,14 +5275,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5311,14 +5311,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5347,14 +5347,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5383,14 +5383,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5419,14 +5419,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5455,14 +5455,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5491,14 +5491,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5527,14 +5527,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5563,14 +5563,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5599,14 +5599,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5635,14 +5635,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5671,14 +5671,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5707,14 +5707,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5743,14 +5743,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5779,14 +5779,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5815,14 +5815,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5851,14 +5851,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5887,14 +5887,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5923,14 +5923,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5959,14 +5959,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -5995,14 +5995,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6031,14 +6031,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6067,14 +6067,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6103,14 +6103,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6139,14 +6139,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6175,14 +6175,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6211,14 +6211,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6247,14 +6247,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6283,14 +6283,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6319,14 +6319,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6355,14 +6355,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6391,14 +6391,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6427,14 +6427,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6463,14 +6463,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6499,14 +6499,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6535,14 +6535,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6571,14 +6571,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6607,14 +6607,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6643,14 +6643,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6679,14 +6679,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6715,14 +6715,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6751,14 +6751,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6787,14 +6787,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6823,14 +6823,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6859,14 +6859,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6895,14 +6895,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6931,14 +6931,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -6967,14 +6967,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7003,14 +7003,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7039,14 +7039,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7075,14 +7075,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7111,14 +7111,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7147,14 +7147,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7183,14 +7183,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7219,14 +7219,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7255,14 +7255,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7291,14 +7291,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7327,14 +7327,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7363,14 +7363,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7399,14 +7399,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7435,14 +7435,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7471,14 +7471,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7507,14 +7507,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7543,14 +7543,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7579,14 +7579,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7615,14 +7615,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7651,14 +7651,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7687,14 +7687,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7723,14 +7723,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7759,14 +7759,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7795,14 +7795,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7831,14 +7831,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7867,14 +7867,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7903,14 +7903,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7939,14 +7939,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -7975,14 +7975,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8011,14 +8011,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8047,14 +8047,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8083,14 +8083,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8119,14 +8119,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8155,14 +8155,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8191,14 +8191,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8227,14 +8227,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8263,14 +8263,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8299,14 +8299,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8335,14 +8335,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8371,14 +8371,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8407,14 +8407,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8443,14 +8443,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8479,14 +8479,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8515,14 +8515,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8551,14 +8551,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8587,14 +8587,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8623,14 +8623,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8659,14 +8659,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8695,14 +8695,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8731,14 +8731,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8767,14 +8767,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8803,14 +8803,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8839,14 +8839,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8875,14 +8875,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8911,14 +8911,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8947,14 +8947,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -8983,14 +8983,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9019,14 +9019,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9055,14 +9055,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9091,14 +9091,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9127,14 +9127,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9163,14 +9163,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9199,14 +9199,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9235,14 +9235,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9271,14 +9271,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9307,14 +9307,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9343,14 +9343,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9379,14 +9379,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9415,14 +9415,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9451,14 +9451,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9487,14 +9487,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9523,14 +9523,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9559,14 +9559,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9595,14 +9595,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9631,14 +9631,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9667,14 +9667,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9703,14 +9703,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9739,14 +9739,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9775,14 +9775,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9811,14 +9811,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9847,14 +9847,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9883,14 +9883,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9919,14 +9919,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9955,14 +9955,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -9991,14 +9991,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10027,14 +10027,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10063,14 +10063,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10099,14 +10099,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10135,14 +10135,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10171,14 +10171,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10207,14 +10207,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10243,14 +10243,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10279,14 +10279,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10315,14 +10315,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10351,14 +10351,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10387,14 +10387,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10423,14 +10423,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10459,14 +10459,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10495,14 +10495,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10531,14 +10531,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10567,14 +10567,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10603,14 +10603,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10639,14 +10639,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10675,14 +10675,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10711,14 +10711,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10747,14 +10747,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10783,14 +10783,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10819,14 +10819,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10855,14 +10855,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10891,14 +10891,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10927,14 +10927,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10963,14 +10963,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -10999,14 +10999,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11035,14 +11035,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11071,14 +11071,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11107,14 +11107,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11143,14 +11143,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11179,14 +11179,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11215,14 +11215,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11251,14 +11251,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11287,14 +11287,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11323,14 +11323,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11359,14 +11359,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11395,14 +11395,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11431,14 +11431,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11467,14 +11467,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11503,14 +11503,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11539,14 +11539,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11575,14 +11575,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11611,14 +11611,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11647,14 +11647,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11683,14 +11683,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11719,14 +11719,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11755,14 +11755,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11791,14 +11791,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11827,14 +11827,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11863,14 +11863,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11899,14 +11899,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11935,14 +11935,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -11971,14 +11971,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -12007,14 +12007,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -12043,14 +12043,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();
+            symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+            symbol_c *IN_type_symbol = NULL;
+            
+            /* Get the value from a foo(<param_value>) style call */
+            if (IN_param_value == NULL)
+              IN_param_value = function_call_param_iterator.next_nf();
             if (IN_param_value != NULL) {
               IN_type_symbol = search_expression_type->get_type(IN_param_value);
               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
@@ -12079,14 +12079,14 @@
         symbol_c *last_type_symbol = NULL;
 
         {
-            identifier_c param_name("IN");
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
-            symbol_c *IN_type_symbol = NULL;
-            
-            /* Get the value from a foo(<param_value>) style call */
-            if (IN_param_value == NULL)
-              IN_param_value = function_call_param_iterator.next();