stage3/narrow_candidate_datatypes.hh
changeset 838 13ea7c080018
parent 836 149398f525a7
child 839 99d9ef4d210b
equal deleted inserted replaced
837:e0184feaebd2 838:13ea7c080018
    69     il_instruction_c *fake_prev_il_instruction;
    69     il_instruction_c *fake_prev_il_instruction;
    70     il_instruction_c   *current_il_instruction;
    70     il_instruction_c   *current_il_instruction;
    71 
    71 
    72     bool is_widening_compatible(const struct widen_entry widen_table[], symbol_c *left_type, symbol_c *right_type, symbol_c *result_type, bool *deprecated_status = NULL);
    72     bool is_widening_compatible(const struct widen_entry widen_table[], symbol_c *left_type, symbol_c *right_type, symbol_c *result_type, bool *deprecated_status = NULL);
    73 
    73 
    74     void  narrow_function_invocation(symbol_c *f_call, generic_function_call_t fcall_data);
    74     void *narrow_spec_init           (symbol_c *symbol, symbol_c *type_decl, symbol_c *init_value);
    75     void  narrow_nonformal_call     (symbol_c *f_call, symbol_c *f_decl, int *ext_parm_count = NULL);
    75     void *narrow_type_decl           (symbol_c *symbol, symbol_c *type_name, symbol_c *spec_init);
    76     void  narrow_formal_call        (symbol_c *f_call, symbol_c *f_decl, int *ext_parm_count = NULL);
    76     void  narrow_function_invocation (symbol_c *f_call, generic_function_call_t fcall_data);
    77     void *narrow_implicit_il_fb_call(symbol_c *il_instruction, const char *param_name, symbol_c *&called_fb_declaration);
    77     void  narrow_nonformal_call      (symbol_c *f_call, symbol_c *f_decl, int *ext_parm_count = NULL);
    78 
    78     void  narrow_formal_call         (symbol_c *f_call, symbol_c *f_decl, int *ext_parm_count = NULL);
    79     void *set_il_operand_datatype   (symbol_c *il_operand, symbol_c *datatype);
    79     void *narrow_implicit_il_fb_call (symbol_c *symbol, const char *param_name, symbol_c *&called_fb_declaration);
    80     void *handle_il_instruction     (symbol_c *symbol);
    80     void *narrow_S_and_R_operator    (symbol_c *symbol, const char *param_name, symbol_c * called_fb_declaration);
       
    81     void *narrow_conditional_operator(symbol_c *symbol);
    81     void *narrow_binary_operator    (const struct widen_entry widen_table[], symbol_c *symbol,                                     bool *deprecated_operation = NULL);
    82     void *narrow_binary_operator    (const struct widen_entry widen_table[], symbol_c *symbol,                                     bool *deprecated_operation = NULL);
    82     void *narrow_binary_expression  (const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr, bool *deprecated_operation = NULL, bool allow_enums = false);
    83     void *narrow_binary_expression  (const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr, bool *deprecated_operation = NULL, bool allow_enums = false);
    83     void *narrow_equality_comparison(const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr, bool *deprecated_operation = NULL);
    84     void *narrow_equality_comparison(const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr, bool *deprecated_operation = NULL);
    84 
    85 
    85     void *narrow_spec_init(symbol_c *symbol, symbol_c *type_decl, symbol_c *init_value);
    86     void *set_il_operand_datatype    (symbol_c *il_operand, symbol_c *datatype);
    86     void *narrow_type_decl(symbol_c *symbol, symbol_c *type_name, symbol_c *spec_init);
    87 
    87 
       
    88     void *narrow_conditional_flow_control_IL_instruction(symbol_c *symbol);
       
    89 
    88 
    90 
    89 
    91   public:
    90   public:
    92     narrow_candidate_datatypes_c(symbol_c *ignore);
    91     narrow_candidate_datatypes_c(symbol_c *ignore);
    93     virtual ~narrow_candidate_datatypes_c(void);
    92     virtual ~narrow_candidate_datatypes_c(void);