stage3/lvalue_check.cc
changeset 833 27f246b35ac2
parent 831 691e1cc38d3a
child 845 5fa872f3d073
equal deleted inserted replaced
832:8cd104e483c6 833:27f246b35ac2
   241 
   241 
   242 
   242 
   243 
   243 
   244 
   244 
   245 void lvalue_check_c::verify_is_lvalue(symbol_c *lvalue) {
   245 void lvalue_check_c::verify_is_lvalue(symbol_c *lvalue) {
       
   246 	if (NULL == lvalue) return; // missing operand in source code being compiled. Error will be caught and reported by datatype checking!
   246 	int init_error_count = error_count;  /* stop the checks once an error has been found... */
   247 	int init_error_count = error_count;  /* stop the checks once an error has been found... */
   247 	if (error_count == init_error_count)  check_assignment_to_expression(lvalue);
   248 	if (error_count == init_error_count)  check_assignment_to_expression(lvalue);
   248 	if (error_count == init_error_count)  check_assignment_to_controlvar(lvalue);
   249 	if (error_count == init_error_count)  check_assignment_to_controlvar(lvalue);
   249 	if (error_count == init_error_count)  check_assignment_to_output(lvalue);
   250 	if (error_count == init_error_count)  check_assignment_to_output(lvalue);
   250 	if (error_count == init_error_count)  check_assignment_to_constant(lvalue);
   251 	if (error_count == init_error_count)  check_assignment_to_constant(lvalue);