stage4/generate_c/generate_c_inlinefcall.cc
changeset 718 a9f8cc778444
parent 693 51a2fa6441b9
child 721 5dc33058e041
equal deleted inserted replaced
717:44f74fad2cc0 718:a9f8cc778444
    70     symbol_c *fbname;
    70     symbol_c *fbname;
    71 
    71 
    72     search_varfb_instance_type_c *search_varfb_instance_type;
    72     search_varfb_instance_type_c *search_varfb_instance_type;
    73     search_var_instance_decl_c   *search_var_instance_decl;
    73     search_var_instance_decl_c   *search_var_instance_decl;
    74 
    74 
    75     search_base_type_c search_base_type;
       
    76 
       
    77     variablegeneration_t wanted_variablegeneration;
    75     variablegeneration_t wanted_variablegeneration;
    78 
    76 
    79   public:
    77   public:
    80     generate_c_inlinefcall_c(stage4out_c *s4o_ptr, symbol_c *name, symbol_c *scope, const char *variable_prefix = NULL)
    78     generate_c_inlinefcall_c(stage4out_c *s4o_ptr, symbol_c *name, symbol_c *scope, const char *variable_prefix = NULL)
    81     : generate_c_typedecl_c(s4o_ptr),
    79     : generate_c_typedecl_c(s4o_ptr),
   420 
   418 
   421       function_declaration_c *f_decl = (function_declaration_c *)symbol->called_function_declaration;
   419       function_declaration_c *f_decl = (function_declaration_c *)symbol->called_function_declaration;
   422       if (f_decl == NULL) ERROR;
   420       if (f_decl == NULL) ERROR;
   423       
   421       
   424       /* determine the base data type returned by the function being called... */
   422       /* determine the base data type returned by the function being called... */
   425       search_base_type_c search_base_type;
   423       function_type_prefix = search_base_type_c::get_basetype_decl(f_decl->type_name);
   426       function_type_prefix = (symbol_c *)f_decl->type_name->accept(search_base_type);
       
   427       
   424       
   428       function_name = symbol->function_name;      
   425       function_name = symbol->function_name;      
   429       
   426       
   430       /* loop through each function parameter, find the value we should pass
   427       /* loop through each function parameter, find the value we should pass
   431        * to it, and then output the c equivalent...
   428        * to it, and then output the c equivalent...
   581 
   578 
   582       function_declaration_c *f_decl = (function_declaration_c *)symbol->called_function_declaration;
   579       function_declaration_c *f_decl = (function_declaration_c *)symbol->called_function_declaration;
   583       if (f_decl == NULL) ERROR;
   580       if (f_decl == NULL) ERROR;
   584 
   581 
   585       /* determine the base data type returned by the function being called... */
   582       /* determine the base data type returned by the function being called... */
   586       search_base_type_c search_base_type;
   583       function_type_prefix = search_base_type_c::get_basetype_decl(f_decl->type_name);
   587       function_type_prefix = (symbol_c *)f_decl->type_name->accept(search_base_type);
       
   588       if (NULL == function_type_prefix) ERROR;
   584       if (NULL == function_type_prefix) ERROR;
   589       
   585       
   590       function_name = symbol->function_name;
   586       function_name = symbol->function_name;
   591 
   587 
   592       /* loop through each function parameter, find the value we should pass
   588       /* loop through each function parameter, find the value we should pass
   753       if (f_decl == NULL) ERROR;
   749       if (f_decl == NULL) ERROR;
   754 
   750 
   755       function_name = symbol->function_name;
   751       function_name = symbol->function_name;
   756 
   752 
   757       /* determine the base data type returned by the function being called... */
   753       /* determine the base data type returned by the function being called... */
   758       search_base_type_c search_base_type;
   754       function_type_prefix = search_base_type_c::get_basetype_decl(f_decl->type_name);
   759       function_type_prefix = (symbol_c *)f_decl->type_name->accept(search_base_type);
       
   760       if (NULL == function_type_prefix) ERROR;
   755       if (NULL == function_type_prefix) ERROR;
   761 
   756 
   762       /* loop through each function parameter, find the value we should pass
   757       /* loop through each function parameter, find the value we should pass
   763        * to it, and then output the c equivalent...
   758        * to it, and then output the c equivalent...
   764        */
   759        */