stage3/fill_candidate_datatypes.cc
changeset 523 773303b7f31f
parent 502 a6211f73690b
child 541 f6208d457722
equal deleted inserted replaced
522:f9cff11ae622 523:773303b7f31f
   687 /* variable_name -> may be NULL ! */
   687 /* variable_name -> may be NULL ! */
   688 // SYM_REF3(located_var_decl_c, variable_name, location, located_var_spec_init)
   688 // SYM_REF3(located_var_decl_c, variable_name, location, located_var_spec_init)
   689 void *fill_candidate_datatypes_c::visit(located_var_decl_c *symbol) {
   689 void *fill_candidate_datatypes_c::visit(located_var_decl_c *symbol) {
   690   symbol->located_var_spec_init->accept(*this);
   690   symbol->located_var_spec_init->accept(*this);
   691   symbol->location->accept(*this);
   691   symbol->location->accept(*this);
   692   symbol->variable_name->candidate_datatypes = symbol->location->candidate_datatypes;
   692   if (NULL != symbol->variable_name) {
   693   intersect_candidate_datatype_list(symbol->variable_name /*origin, dest.*/, symbol->located_var_spec_init /*with*/);
   693     symbol->variable_name->candidate_datatypes = symbol->location->candidate_datatypes;
       
   694     intersect_candidate_datatype_list(symbol->variable_name /*origin, dest.*/, symbol->located_var_spec_init /*with*/);
       
   695   }
   694   return NULL;
   696   return NULL;
   695 }  
   697 }  
   696 
   698 
   697 
   699 
   698 
   700