stage3/narrow_candidate_datatypes.hh
changeset 443 ff4d26b7e51d
parent 438 744b125d911e
child 448 1bd18fc06911
--- a/stage3/narrow_candidate_datatypes.hh	Mon Feb 13 17:04:29 2012 +0000
+++ b/stage3/narrow_candidate_datatypes.hh	Thu Feb 16 10:27:52 2012 +0000
@@ -39,10 +39,8 @@
 class narrow_candidate_datatypes_c: public iterator_visitor_c {
 
   private:
-    symbol_c * selected_datatype;
     search_varfb_instance_type_c *search_varfb_instance_type;
     search_base_type_c search_base_type;
-    symbol_c *case_expression_type;
     symbol_c *il_operand;
     symbol_c *prev_il_instruction;
 
@@ -51,6 +49,8 @@
     void narrow_function_invocation(symbol_c *f_call, generic_function_call_t fcall_data);
     void narrow_nonformal_call(symbol_c *f_call, symbol_c *f_decl, int *ext_parm_count = NULL);
     void narrow_formal_call(symbol_c *f_call, symbol_c *f_decl, int *ext_parm_count = NULL);
+    
+    void *handle_il_instruction(symbol_c *symbol);
 
   public:
     narrow_candidate_datatypes_c(symbol_c *ignore);
@@ -65,6 +65,7 @@
     /* B 1.3.3 - Derived data types */
     /********************************/
     void *visit(subrange_c *symbol);
+    void *visit(simple_spec_init_c *symbol);
 
     /*********************/
     /* B 1.4 - Variables */
@@ -76,6 +77,7 @@
     /* B 1.4.2 - Multi-element variables */
     /*************************************/
     void *visit(array_variable_c *symbol);
+    void *visit(il_instruction_c *symbol);
     void *visit(subscript_list_c *symbol);
 
     /**************************************/
@@ -106,7 +108,7 @@
     /***********************************/
     /* B 2.1 Instructions and Operands */
     /***********************************/
-    // void *visit(instruction_list_c *symbol);
+    void *visit(instruction_list_c *symbol);
     void *visit(il_simple_operation_c *symbol);
     void *visit(il_function_call_c *symbol);
     void *visit(il_expression_c *symbol);