absyntax_utils/search_varfb_instance_type.cc
changeset 377 60b012b7793f
parent 372 25332e048742
child 382 ac6dfec701c9
equal deleted inserted replaced
376:7dcbd8418771 377:60b012b7793f
   267 /* B 1.3.3 - Derived data types */
   267 /* B 1.3.3 - Derived data types */
   268 /********************************/
   268 /********************************/
   269 
   269 
   270 /*  identifier ':' array_spec_init */
   270 /*  identifier ':' array_spec_init */
   271 void *search_varfb_instance_type_c::visit(array_type_declaration_c *symbol) {
   271 void *search_varfb_instance_type_c::visit(array_type_declaration_c *symbol) {
   272   this->is_complex = true;
       
   273   return symbol->array_spec_init->accept(*this);
   272   return symbol->array_spec_init->accept(*this);
   274 }
   273 }
   275     
   274     
   276 /* array_specification [ASSIGN array_initialization] */
   275 /* array_specification [ASSIGN array_initialization] */
   277 /* array_initialization may be NULL ! */
   276 /* array_initialization may be NULL ! */
   278 void *search_varfb_instance_type_c::visit(array_spec_init_c *symbol) {
   277 void *search_varfb_instance_type_c::visit(array_spec_init_c *symbol) {
   279   this->is_complex = true;
       
   280   return symbol->array_specification->accept(*this);
   278   return symbol->array_specification->accept(*this);
   281 }
   279 }
   282 
   280 
   283 /* ARRAY '[' array_subrange_list ']' OF non_generic_type_name */
   281 /* ARRAY '[' array_subrange_list ']' OF non_generic_type_name */
   284 void *search_varfb_instance_type_c::visit(array_specification_c *symbol) {
   282 void *search_varfb_instance_type_c::visit(array_specification_c *symbol) {
   285   this->is_complex = true;
   283   this->is_complex = true;
       
   284   this->current_typeid = symbol;
   286   return symbol->non_generic_type_name->accept(*this);
   285   return symbol->non_generic_type_name->accept(*this);
   287 }
   286 }
   288 
   287 
   289 /*  structure_type_name ':' structure_specification */
   288 /*  structure_type_name ':' structure_specification */
   290 /* NOTE: this is only used inside a TYPE ... END_TYPE declaration. 
   289 /* NOTE: this is only used inside a TYPE ... END_TYPE declaration.