diff -r b08167f156a1 -r 268bf4ca5fa1 absyntax_utils/search_base_type.cc --- a/absyntax_utils/search_base_type.cc Thu Jan 03 17:04:04 2013 +0000 +++ b/absyntax_utils/search_base_type.cc Thu Jan 03 18:23:07 2013 +0000 @@ -102,6 +102,12 @@ return search_base_type_singleton->is_enumerated; } +bool search_base_type_c::type_is_fb(symbol_c* type_decl) { + create_singleton(); + search_base_type_singleton->is_fb = false; + type_decl->accept(*search_base_type_singleton); + return search_base_type_singleton->is_fb; +} /*************************/ /* B.1 - Common elements */ @@ -373,7 +379,10 @@ /*****************************/ /* FUNCTION_BLOCK derived_function_block_name io_OR_other_var_declarations function_block_body END_FUNCTION_BLOCK */ // SYM_REF3(function_block_declaration_c, fblock_name, var_declarations, fblock_body) -void *search_base_type_c::visit(function_block_declaration_c *symbol) {return (void *)symbol;} +void *search_base_type_c::visit(function_block_declaration_c *symbol) { + this->is_fb = true; + return (void *)symbol; +}