diff -r b08167f156a1 -r 268bf4ca5fa1 absyntax_utils/search_var_instance_decl.cc --- a/absyntax_utils/search_var_instance_decl.cc Thu Jan 03 17:04:04 2013 +0000 +++ b/absyntax_utils/search_var_instance_decl.cc Thu Jan 03 18:23:07 2013 +0000 @@ -143,12 +143,19 @@ (typeid( *(decl) ) == typeid( structure_type_declaration_c )) || (typeid( *(decl) ) == typeid( structure_element_declaration_list_c )) || // (typeid( *(decl) ) == typeid( structure_type_declaration_c )) || /* does not seem to be necessary */ - (typeid( *(decl) ) == typeid( initialized_structure_c )) - + (typeid( *(decl) ) == typeid( initialized_structure_c )) || + (search_base_type_c::type_is_fb(decl) && current_vartype == external_vt) ); } - +bool search_var_instance_decl_c::type_is_fb(symbol_c *symbol) { + symbol_c *decl; + search_base_type_c search_base_type; + + decl = this->get_decl(symbol); + if (NULL == decl) ERROR; + return search_base_type.type_is_fb(decl); +} /***************************/ /* B 0 - Programming Model */