stage4/generate_cc/search_expression_type.cc
changeset 65 c6d41c1287de
parent 42 b45c7f34dec1
equal deleted inserted replaced
64:ab704568fa25 65:c6d41c1287de
   470     return NULL;
   470     return NULL;
   471   }
   471   }
   472   
   472   
   473   void *visit(not_expression_c *symbol) {
   473   void *visit(not_expression_c *symbol) {
   474     symbol_c *exp_type = base_type((symbol_c *)symbol->exp->accept(*this));
   474     symbol_c *exp_type = base_type((symbol_c *)symbol->exp->accept(*this));
   475     if (typeid(*exp_type) == typeid(bool_type_name_c)) {return (void *)exp_type;}
   475     return compute_boolean_expression(exp_type, exp_type);
   476     ERROR;
       
   477     return NULL;
       
   478   }
   476   }
   479   
   477   
   480   void *visit(function_invocation_c *symbol) {
   478   void *visit(function_invocation_c *symbol) {
   481 	  function_declaration_c *f_decl = function_symtable.find_value(symbol->function_name);
   479 	  function_declaration_c *f_decl = function_symtable.find_value(symbol->function_name);
   482 	
   480