stage3/datatype_functions.hh
changeset 666 8ba9ec4bae50
parent 606 d2122a32ec86
child 676 ca4f17211251
equal deleted inserted replaced
665:50fca2d3abd9 666:8ba9ec4bae50
   159 /* intersect the candidate_datatype lists of all prev_il_intructions, and set the local candidate_datatype list to the result! */
   159 /* intersect the candidate_datatype lists of all prev_il_intructions, and set the local candidate_datatype list to the result! */
   160 void intersect_prev_candidate_datatype_lists(il_instruction_c *symbol);
   160 void intersect_prev_candidate_datatype_lists(il_instruction_c *symbol);
   161 
   161 
   162 
   162 
   163 
   163 
   164 /* A helper function... */
       
   165 bool is_ANY_ELEMENTARY_type                (symbol_c *type_symbol);
       
   166 bool is_ANY_SAFEELEMENTARY_type            (symbol_c *type_symbol);
       
   167 bool is_ANY_ELEMENTARY_compatible          (symbol_c *type_symbol);
       
   168 
       
   169 bool is_ANY_MAGNITUDE_type                 (symbol_c *type_symbol);
       
   170 bool is_ANY_SAFEMAGNITUDE_type             (symbol_c *type_symbol);
       
   171 bool is_ANY_MAGNITUDE_compatible           (symbol_c *type_symbol);
       
   172 
       
   173 bool is_ANY_signed_MAGNITUDE_type          (symbol_c *type_symbol);
       
   174 bool is_ANY_signed_SAFEMAGNITUDE_type      (symbol_c *type_symbol);
       
   175 bool is_ANY_signed_MAGNITUDE_compatible    (symbol_c *type_symbol);
       
   176 
       
   177 bool is_ANY_DATE_type                      (symbol_c *type_symbol);
       
   178 bool is_ANY_SAFEDATE_type                  (symbol_c *type_symbol);
       
   179 bool is_ANY_DATE_compatible                (symbol_c *type_symbol);
       
   180 
       
   181 bool is_ANY_STRING_type                    (symbol_c *type_symbol);
       
   182 bool is_ANY_SAFESTRING_type                (symbol_c *type_symbol);
       
   183 bool is_ANY_STRING_compatible              (symbol_c *type_symbol);
       
   184 
       
   185 bool is_ANY_INT_type                       (symbol_c *type_symbol);
       
   186 bool is_ANY_SAFEINT_type                   (symbol_c *type_symbol);
       
   187 bool is_ANY_INT_compatible                 (symbol_c *type_symbol);
       
   188 
       
   189 bool is_ANY_signed_INT_type                (symbol_c *type_symbol);
       
   190 bool is_ANY_signed_SAFEINT_type            (symbol_c *type_symbol);
       
   191 bool is_ANY_signed_INT_compatible          (symbol_c *type_symbol);
       
   192 
       
   193 bool is_ANY_REAL_type                      (symbol_c *type_symbol);
       
   194 bool is_ANY_SAFEREAL_type                  (symbol_c *type_symbol);
       
   195 bool is_ANY_REAL_compatible                (symbol_c *type_symbol);
       
   196 
       
   197 bool is_ANY_NUM_type                       (symbol_c *type_symbol);
       
   198 bool is_ANY_SAFENUM_type                   (symbol_c *type_symbol);
       
   199 bool is_ANY_NUM_compatible                 (symbol_c *type_symbol);
       
   200 
       
   201 bool is_ANY_signed_NUM_type                (symbol_c *type_symbol);
       
   202 bool is_ANY_signed_SAFENUM_type            (symbol_c *type_symbol);
       
   203 bool is_ANY_signed_NUM_compatible          (symbol_c *type_symbol);
       
   204 
       
   205 bool is_ANY_BIT_type                       (symbol_c *type_symbol);
       
   206 bool is_ANY_SAFEBIT_type                   (symbol_c *type_symbol);
       
   207 bool is_ANY_BIT_compatible                 (symbol_c *type_symbol);
       
   208 
       
   209 bool is_BOOL_type                          (symbol_c *type_symbol);
       
   210 bool is_SAFEBOOL_type                      (symbol_c *type_symbol);
       
   211 bool is_ANY_BOOL_compatible                (symbol_c *type_symbol);
       
   212 
   164 
   213 
   165 
   214 bool is_type_equal(symbol_c *first_type, symbol_c *second_type);
   166 bool is_type_equal(symbol_c *first_type, symbol_c *second_type);
   215 bool is_type_valid(symbol_c *type);
   167 bool is_type_valid(symbol_c *type);
   216 
   168