absyntax_utils/function_param_iterator.cc
changeset 587 1ecf916cc397
parent 547 dab341e80664
child 595 c41975a290ce
equal deleted inserted replaced
586:b602f0459f17 587:1ecf916cc397
   128         symbol_c *sym = list->elements[i];
   128         symbol_c *sym = list->elements[i];
   129         extensible_input_parameter_c *extensible_parameter = dynamic_cast<extensible_input_parameter_c *>(sym);
   129         extensible_input_parameter_c *extensible_parameter = dynamic_cast<extensible_input_parameter_c *>(sym);
   130         if (extensible_parameter != NULL) {
   130         if (extensible_parameter != NULL) {
   131           sym = extensible_parameter->var_name;
   131           sym = extensible_parameter->var_name;
   132           current_param_is_extensible = true;
   132           current_param_is_extensible = true;
   133           _first_extensible_param_index = extract_integer_value(extensible_parameter->first_index);
   133           _first_extensible_param_index = extract_int64_value(extensible_parameter->first_index);
   134         }
   134         }
   135         identifier_c *variable_name = dynamic_cast<identifier_c *>(sym);
   135         identifier_c *variable_name = dynamic_cast<identifier_c *>(sym);
   136         if (variable_name == NULL) ERROR;
   136         if (variable_name == NULL) ERROR;
   137         
   137         
   138         if (!current_param_is_extensible)
   138         if (!current_param_is_extensible)
   165     case search_op:
   165     case search_op:
   166       extensible_input_parameter_c *extensible_parameter = dynamic_cast<extensible_input_parameter_c *>(var_name);
   166       extensible_input_parameter_c *extensible_parameter = dynamic_cast<extensible_input_parameter_c *>(var_name);
   167       if (extensible_parameter != NULL) {
   167       if (extensible_parameter != NULL) {
   168         var_name = extensible_parameter->var_name;
   168         var_name = extensible_parameter->var_name;
   169         current_param_is_extensible = true;
   169         current_param_is_extensible = true;
   170         _first_extensible_param_index = extract_integer_value(extensible_parameter->first_index);
   170         _first_extensible_param_index = extract_int64_value(extensible_parameter->first_index);
   171       }
   171       }
   172       identifier_c *variable_name = dynamic_cast<identifier_c *>(var_name);
   172       identifier_c *variable_name = dynamic_cast<identifier_c *>(var_name);
   173       if (variable_name == NULL) ERROR;
   173       if (variable_name == NULL) ERROR;
   174       
   174       
   175       if (!current_param_is_extensible)
   175       if (!current_param_is_extensible)
   263   symbol_c *sym = (symbol_c *)res;
   263   symbol_c *sym = (symbol_c *)res;
   264   extensible_input_parameter_c *extensible_parameter = dynamic_cast<extensible_input_parameter_c *>(sym);
   264   extensible_input_parameter_c *extensible_parameter = dynamic_cast<extensible_input_parameter_c *>(sym);
   265   if (extensible_parameter != NULL) {
   265   if (extensible_parameter != NULL) {
   266     sym = extensible_parameter->var_name;
   266     sym = extensible_parameter->var_name;
   267     current_param_is_extensible = true;
   267     current_param_is_extensible = true;
   268     _first_extensible_param_index = extract_integer_value(extensible_parameter->first_index);
   268     _first_extensible_param_index = extract_int64_value(extensible_parameter->first_index);
   269     current_extensible_param_index = _first_extensible_param_index;
   269     current_extensible_param_index = _first_extensible_param_index;
   270   }
   270   }
   271   identifier = dynamic_cast<identifier_c *>(sym);
   271   identifier = dynamic_cast<identifier_c *>(sym);
   272   if (identifier == NULL)
   272   if (identifier == NULL)
   273     ERROR;
   273     ERROR;