absyntax_utils/search_var_instance_decl.cc
changeset 706 31553c22f318
parent 625 c0bda77b37a0
child 793 268bf4ca5fa1
--- a/absyntax_utils/search_var_instance_decl.cc	Thu Nov 08 18:55:57 2012 +0100
+++ b/absyntax_utils/search_var_instance_decl.cc	Thu Nov 15 22:28:53 2012 +0100
@@ -144,12 +144,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.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 */