stage3/lvalue_check.hh
changeset 509 35d391c38a30
parent 508 dc6906338042
child 510 9317e04c1dde
equal deleted inserted replaced
508:dc6906338042 509:35d391c38a30
    42  */
    42  */
    43 
    43 
    44 class lvalue_check_c: public iterator_visitor_c {
    44 class lvalue_check_c: public iterator_visitor_c {
    45 
    45 
    46   private:
    46   private:
    47 	search_varfb_instance_type_c *search_varfb_instance_type;
    47     search_varfb_instance_type_c *search_varfb_instance_type;
    48 	search_var_instance_decl_c *search_var_instance_decl;
    48     search_var_instance_decl_c *search_var_instance_decl;
    49     search_base_type_c search_base_type;
    49     search_base_type_c search_base_type;
    50     int error_found;
    50     int error_found;
    51     int current_display_error_level;
    51     int current_display_error_level;
    52     std::vector <symbol_c *> control_variables;
    52     std::vector <symbol_c *> control_variables;
    53     symbol_c *base_type(symbol_c *symbol);
    53 
    54     void check_for_controlvar_assignment(symbolic_variable_c *lvalue);
    54     void verify_is_lvalue              (symbol_c *lvalue);
    55     void check_output_assignment(symbolic_variable_c *lvalue);
    55     void check_assignment_to_controlvar(symbol_c *lvalue);
    56     void check_constant_assignment(symbolic_variable_c *lvalue);
    56     void check_assignment_to_output    (symbol_c *lvalue);
    57     void check_function_call_parameter(function_invocation_c *f_call);
    57     void check_assignment_to_constant  (symbol_c *lvalue);
       
    58     void check_assignment_to_expression(symbol_c *lvalue);
       
    59     void check_formal_call   (symbol_c *f_call, symbol_c *f_decl);
       
    60     void check_nonformal_call(symbol_c *f_call, symbol_c *f_decl);
    58 
    61 
    59 
    62 
    60   public:
    63   public:
    61     lvalue_check_c(symbol_c *ignore);
    64     lvalue_check_c(symbol_c *ignore);
    62     virtual ~lvalue_check_c(void);
    65     virtual ~lvalue_check_c(void);