stage4/generate_c/generate_var_list.cc
changeset 718 a9f8cc778444
parent 667 bd1360f29f15
child 726 9b61eb4f00dc
equal deleted inserted replaced
717:44f74fad2cc0 718:a9f8cc778444
   105     vartypecategory_t current_var_type_category;
   105     vartypecategory_t current_var_type_category;
   106 
   106 
   107   private:
   107   private:
   108     symbol_c *current_var_type_symbol;
   108     symbol_c *current_var_type_symbol;
   109     symbol_c *current_var_type_name;
   109     symbol_c *current_var_type_name;
   110     search_base_type_c search_base_type;
       
   111     search_fb_typedecl_c *search_fb_typedecl;
   110     search_fb_typedecl_c *search_fb_typedecl;
   112 
   111 
   113   public:
   112   public:
   114     search_type_symbol_c(symbol_c *scope) {
   113     search_type_symbol_c(symbol_c *scope) {
   115       search_fb_typedecl = new search_fb_typedecl_c(scope);
   114       search_fb_typedecl = new search_fb_typedecl_c(scope);
   151         this->current_var_type_symbol = search_fb_typedecl->get_decl(this->current_var_type_name);
   150         this->current_var_type_symbol = search_fb_typedecl->get_decl(this->current_var_type_name);
   152         if (this->current_var_type_symbol != NULL)
   151         if (this->current_var_type_symbol != NULL)
   153           this->current_var_type_category = function_block_vtc;
   152           this->current_var_type_category = function_block_vtc;
   154 
   153 
   155         else {
   154         else {
   156           this->current_var_type_symbol = (symbol_c *)(this->current_var_type_name->accept(search_base_type));
   155           this->current_var_type_symbol = search_base_type_c::get_basetype_decl(this->current_var_type_name);
   157           this->current_var_type_symbol->accept(*this);
   156           this->current_var_type_symbol->accept(*this);
   158         }
   157         }
   159       }
   158       }
   160       return NULL;
   159       return NULL;
   161     }
   160     }