absyntax_utils/decompose_var_instance_name.cc
changeset 825 6658fc039264
parent 382 ac6dfec701c9
child 826 1e6bf9839ece
equal deleted inserted replaced
824:3fa9fb3b32b5 825:6658fc039264
    52   next_variable_name = NULL;
    52   next_variable_name = NULL;
    53   current_recursive_variable_name = NULL;
    53   current_recursive_variable_name = NULL;
    54   previously_returned_variable_name = NULL;
    54   previously_returned_variable_name = NULL;
    55 }
    55 }
    56 
    56 
    57 symbol_c *decompose_var_instance_name_c::next_part(bool increment) {
    57 symbol_c *decompose_var_instance_name_c::next_part() {
    58   /* We must always start from the top!
    58   /* We must always start from the top!
    59    * See note in the structured_variable_c visitor
    59    * See note in the structured_variable_c visitor
    60    * to understand why...
    60    * to understand why...
    61    */
    61    */
    62   symbol_c *res = (symbol_c *)variable_name->accept(*this);
    62   symbol_c *res = (symbol_c *)variable_name->accept(*this);
    63   if (increment)
    63   next_variable_name = current_recursive_variable_name;
    64     next_variable_name = current_recursive_variable_name;
       
    65 
    64 
    66   if (previously_returned_variable_name == res)
    65   if (previously_returned_variable_name == res)
    67 	  return NULL;
    66     return NULL;
    68   if (increment)
    67   
    69     previously_returned_variable_name = res;
    68   previously_returned_variable_name = res;
    70   return res;
    69   return res;
    71 }
    70 }
    72 
    71 
    73 /*************************/
    72 /*************************/
    74 /* B.1 - Common elements */
    73 /* B.1 - Common elements */