stage4/generate_c/generate_c_st.cc
changeset 238 0919986a5c98
parent 237 cece842c7417
child 240 f78fa87bb4cb
equal deleted inserted replaced
237:cece842c7417 238:0919986a5c98
   290   switch (wanted_variablegeneration) {
   290   switch (wanted_variablegeneration) {
   291     case complextype_base_vg:
   291     case complextype_base_vg:
   292       symbol->subscripted_variable->accept(*this);
   292       symbol->subscripted_variable->accept(*this);
   293       break;
   293       break;
   294     case complextype_suffix_vg:
   294     case complextype_suffix_vg:
       
   295       symbol->subscripted_variable->accept(*this);
       
   296 
   295       current_array_type = search_varfb_instance_type->get_rawtype(symbol->subscripted_variable);
   297       current_array_type = search_varfb_instance_type->get_rawtype(symbol->subscripted_variable);
   296       symbol->subscripted_variable->accept(*this);
   298       if (current_array_type == NULL) ERROR;
   297       if (current_array_type != NULL) {
   299 
   298         s4o.print(".table");
   300       s4o.print(".table");
   299     	symbol->subscript_list->accept(*this);
   301       symbol->subscript_list->accept(*this);
   300         current_array_type = NULL;
   302 
   301       }
   303       current_array_type = NULL;
   302       break;
   304       break;
   303     default:
   305     default:
   304       if (this->is_variable_prefix_null()) {
   306       if (this->is_variable_prefix_null()) {
       
   307     	symbol->subscripted_variable->accept(*this);
       
   308 
   305     	current_array_type = search_varfb_instance_type->get_rawtype(symbol->subscripted_variable);
   309     	current_array_type = search_varfb_instance_type->get_rawtype(symbol->subscripted_variable);
   306     	symbol->subscripted_variable->accept(*this);
   310     	if (current_array_type == NULL) ERROR;
   307     	if (current_array_type != NULL) {
   311 
   308           s4o.print(".table");
   312     	s4o.print(".table");
   309     	  symbol->subscript_list->accept(*this);
   313         symbol->subscript_list->accept(*this);
   310     	  current_array_type = NULL;
   314 
   311     	}
   315         current_array_type = NULL;
   312       }
   316       }
   313       else
   317       else
   314     	print_getter(symbol);
   318     	print_getter(symbol);
   315       break;
   319       break;
   316   }
   320   }