stage4/generate_c/generate_c_inlinefcall.cc
changeset 237 cece842c7417
parent 235 ed66dc50f31a
child 238 0919986a5c98
equal deleted inserted replaced
236:c55b02ca2342 237:cece842c7417
   301           symbol->record_variable->accept(*this);
   301           symbol->record_variable->accept(*this);
   302           s4o.print(".");
   302           s4o.print(".");
   303           symbol->field_selector->accept(*this);
   303           symbol->field_selector->accept(*this);
   304           break;
   304           break;
   305         default:
   305         default:
   306           if (this->is_variable_prefix_null()) {
   306           print_getter(symbol);
   307         	symbol->record_variable->accept(*this);
       
   308         	s4o.print(".");
       
   309         	symbol->field_selector->accept(*this);
       
   310           }
       
   311           else
       
   312         	print_getter(symbol);
       
   313           break;
   307           break;
   314       }
   308       }
   315       return NULL;
   309       return NULL;
   316     }
   310     }
   317 
   311 
   324           break;
   318           break;
   325         case complextype_suffix_vg:
   319         case complextype_suffix_vg:
   326           current_array_type = search_varfb_instance_type->get_rawtype(symbol->subscripted_variable);
   320           current_array_type = search_varfb_instance_type->get_rawtype(symbol->subscripted_variable);
   327           symbol->subscripted_variable->accept(*this);
   321           symbol->subscripted_variable->accept(*this);
   328           if (current_array_type != NULL) {
   322           if (current_array_type != NULL) {
       
   323             s4o.print(".table");
   329             symbol->subscript_list->accept(*this);
   324             symbol->subscript_list->accept(*this);
   330             current_array_type = NULL;
   325             current_array_type = NULL;
   331           }
   326           }
   332           break;
   327           break;
   333         default:
   328         default:
   334           if (this->is_variable_prefix_null()) {
   329           print_getter(symbol);
   335         	current_array_type = search_varfb_instance_type->get_rawtype(symbol->subscripted_variable);
       
   336         	symbol->subscripted_variable->accept(*this);
       
   337         	if (current_array_type != NULL) {
       
   338         	  symbol->subscript_list->accept(*this);
       
   339         	  current_array_type = NULL;
       
   340         	}
       
   341           }
       
   342           else
       
   343         	print_getter(symbol);
       
   344           break;
   330           break;
   345       }
   331       }
   346       return NULL;
   332       return NULL;
   347     }
   333     }
   348 
   334