stage3/narrow_candidate_datatypes.hh
changeset 813 0630cc31569f
parent 802 cac262d1d6a5
parent 810 d9c48ad646f1
child 827 e3800aff352c
equal deleted inserted replaced
804:7898ba56c7cf 813:0630cc31569f
    78 
    78 
    79     void *handle_il_instruction(symbol_c *symbol);
    79     void *handle_il_instruction(symbol_c *symbol);
    80     void *narrow_binary_operator    (const struct widen_entry widen_table[], symbol_c *symbol,                                     bool *deprecated_operation = NULL);
    80     void *narrow_binary_operator    (const struct widen_entry widen_table[], symbol_c *symbol,                                     bool *deprecated_operation = NULL);
    81     void *narrow_binary_expression  (const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr, bool *deprecated_operation = NULL, bool allow_enums = false);
    81     void *narrow_binary_expression  (const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr, bool *deprecated_operation = NULL, bool allow_enums = false);
    82     void *narrow_equality_comparison(const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr, bool *deprecated_operation = NULL);
    82     void *narrow_equality_comparison(const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr, bool *deprecated_operation = NULL);
       
    83 
       
    84     void *narrow_spec_init(symbol_c *symbol, symbol_c *type_decl, symbol_c *init_value);
       
    85     void *narrow_type_decl(symbol_c *symbol, symbol_c *type_name, symbol_c *spec_init);
    83 
    86 
    84     void *narrow_conditional_flow_control_IL_instruction(symbol_c *symbol);
    87     void *narrow_conditional_flow_control_IL_instruction(symbol_c *symbol);
    85 
    88 
    86 
    89 
    87   public:
    90   public:
   148     /********************************/
   151     /********************************/
   149     /* B 1.3.3 - Derived data types */
   152     /* B 1.3.3 - Derived data types */
   150     /********************************/
   153     /********************************/
   151 //  void *visit(data_type_declaration_c *symbol);   /* Not required. already handled by iterator_visitor_c base class */
   154 //  void *visit(data_type_declaration_c *symbol);   /* Not required. already handled by iterator_visitor_c base class */
   152 //  void *visit(type_declaration_list_c *symbol);   /* Not required. already handled by iterator_visitor_c base class */
   155 //  void *visit(type_declaration_list_c *symbol);   /* Not required. already handled by iterator_visitor_c base class */
   153 //  void *visit(simple_type_declaration_c *symbol); /* Not required. already handled by iterator_visitor_c base class */
   156     void *visit(simple_type_declaration_c *symbol); /* Not required. already handled by iterator_visitor_c base class */
   154     void *visit(simple_spec_init_c *symbol);
   157     void *visit(simple_spec_init_c *symbol);
   155 //  void *visit(subrange_type_declaration_c *symbol);
   158     void *visit(subrange_type_declaration_c *symbol);
   156 //  void *visit(subrange_spec_init_c *symbol);
   159     void *visit(subrange_spec_init_c *symbol);
   157 //  void *visit(subrange_specification_c *symbol);
   160     void *visit(subrange_specification_c *symbol);
   158     void *visit(subrange_c *symbol);
   161     void *visit(subrange_c *symbol);
   159     void *visit(enumerated_type_declaration_c *symbol);
   162     void *visit(enumerated_type_declaration_c *symbol);
   160     void *visit(enumerated_spec_init_c *symbol);
   163     void *visit(enumerated_spec_init_c *symbol);
   161     void *visit(enumerated_value_list_c *symbol);
   164     void *visit(enumerated_value_list_c *symbol);
   162 //  void *visit(enumerated_value_c *symbol);        /* Not required */
   165 //  void *visit(enumerated_value_c *symbol);        /* Not required */
   163 //  void *visit(array_type_declaration_c *symbol);
   166     void *visit(array_type_declaration_c *symbol);
   164 //  void *visit(array_spec_init_c *symbol);
   167     void *visit(array_spec_init_c *symbol);
   165 //  void *visit(array_specification_c *symbol);
   168 //  void *visit(array_specification_c *symbol);
   166 //  void *visit(array_subrange_list_c *symbol);
   169 //  void *visit(array_subrange_list_c *symbol);
   167 //  void *visit(array_initial_elements_list_c *symbol);
   170 //  void *visit(array_initial_elements_list_c *symbol);
   168 //  void *visit(array_initial_elements_c *symbol);
   171 //  void *visit(array_initial_elements_c *symbol);
   169 //  void *visit(structure_type_declaration_c *symbol);
   172     void *visit(structure_type_declaration_c *symbol);
   170 //  void *visit(initialized_structure_c *symbol);
   173     void *visit(initialized_structure_c *symbol);
   171 //  void *visit(structure_element_declaration_list_c *symbol);
   174 //  void *visit(structure_element_declaration_list_c *symbol);
   172 //  void *visit(structure_element_declaration_c *symbol);
   175 //  void *visit(structure_element_declaration_c *symbol);
   173 //  void *visit(structure_element_initialization_list_c *symbol);
   176 //  void *visit(structure_element_initialization_list_c *symbol);
   174 //  void *visit(structure_element_initialization_c *symbol);
   177 //  void *visit(structure_element_initialization_c *symbol);
   175 //  void *visit(string_type_declaration_c *symbol);
   178 //  void *visit(string_type_declaration_c *symbol);
       
   179     void *visit(fb_spec_init_c *symbol);
   176 
   180 
   177     /*********************/
   181     /*********************/
   178     /* B 1.4 - Variables */
   182     /* B 1.4 - Variables */
   179     /*********************/
   183     /*********************/
   180     /********************************************/
   184     /********************************************/