absyntax_utils/search_var_instance_decl.cc
changeset 851 2c59c2b8fca4
parent 812 6679b6b21214
child 854 13d0b67de111
equal deleted inserted replaced
850:484beb3b1dcb 851:2c59c2b8fca4
   134  */
   134  */
   135 #include <typeinfo>  /* required for typeid() */
   135 #include <typeinfo>  /* required for typeid() */
   136 bool search_var_instance_decl_c::type_is_complex(symbol_c *symbol) {
   136 bool search_var_instance_decl_c::type_is_complex(symbol_c *symbol) {
   137   symbol_c *decl;
   137   symbol_c *decl;
   138   
   138   
   139   decl = this->get_decl(symbol);
   139   decl = symbol->datatype;
   140   if (NULL == decl) ERROR;
   140   if (NULL == decl) ERROR;
   141   decl = search_base_type_c::get_basetype_decl(decl);
       
   142   if (NULL == decl) ERROR;
       
   143   
       
   144   return ((typeid( *(decl) ) == typeid( array_specification_c                )) ||
   141   return ((typeid( *(decl) ) == typeid( array_specification_c                )) ||
   145 //        (typeid( *(decl) ) == typeid( array_spec_init_c                    )) ||  /* does not seem to be necessary */
   142 //        (typeid( *(decl) ) == typeid( array_spec_init_c                    )) ||  /* does not seem to be necessary */
   146           (typeid( *(decl) ) == typeid( structure_type_declaration_c         )) ||  
   143           (typeid( *(decl) ) == typeid( structure_type_declaration_c         )) ||  
   147           (typeid( *(decl) ) == typeid( structure_element_declaration_list_c )) ||
   144           (typeid( *(decl) ) == typeid( structure_element_declaration_list_c )) ||
   148 //        (typeid( *(decl) ) == typeid( structure_type_declaration_c         )) ||  /* does not seem to be necessary */
   145 //        (typeid( *(decl) ) == typeid( structure_type_declaration_c         )) ||  /* does not seem to be necessary */