stage3/print_datatypes_error.hh
changeset 438 744b125d911e
parent 427 eb9bc99944d9
child 443 ff4d26b7e51d
equal deleted inserted replaced
437:0e09a8840c92 438:744b125d911e
    32  *
    32  *
    33  */
    33  */
    34 
    34 
    35 
    35 
    36 #include "../absyntax_utils/absyntax_utils.hh"
    36 #include "../absyntax_utils/absyntax_utils.hh"
       
    37 #include "datatype_functions.hh"
       
    38 
    37 
    39 
    38 class print_datatypes_error_c: public iterator_visitor_c {
    40 class print_datatypes_error_c: public iterator_visitor_c {
    39 
    41 
    40   private:
    42   private:
    41     /* The level of detail that the user wants us to display error messages. */
    43     /* The level of detail that the user wants us to display error messages. */
    76     symbol_c *prev_il_instruction;
    78     symbol_c *prev_il_instruction;
    77     /* the current IL operand being analyzed - its symbol and its data type */
    79     /* the current IL operand being analyzed - its symbol and its data type */
    78     symbol_c *il_operand_type;
    80     symbol_c *il_operand_type;
    79     symbol_c *il_operand;
    81     symbol_c *il_operand;
    80 
    82 
       
    83     /* some helper functions... */
       
    84     symbol_c *base_type(symbol_c *symbol);
       
    85     void handle_function_invocation(symbol_c *fcall, generic_function_call_t fcall_data);
    81 
    86 
    82   public:
    87   public:
    83     print_datatypes_error_c(symbol_c *ignore);
    88     print_datatypes_error_c(symbol_c *ignore);
    84     virtual ~print_datatypes_error_c(void);
    89     virtual ~print_datatypes_error_c(void);
    85     int get_error_found();
    90     int get_error_found();
    86 
    91 
    87     /* a helper function... */
       
    88     symbol_c *base_type(symbol_c *symbol);
       
    89 
    92 
    90     /*********************/
    93     /*********************/
    91     /* B 1.2 - Constants */
    94     /* B 1.2 - Constants */
    92     /*********************/
    95     /*********************/
    93     /******************************/
    96     /******************************/