stage3/datatype_functions.hh
changeset 459 01f6664bf8c5
parent 458 587884880be6
child 467 4910eaa1206a
equal deleted inserted replaced
458:587884880be6 459:01f6664bf8c5
   152  * In essence, list1 will contain the result of the intersection of list1 with list2.
   152  * In essence, list1 will contain the result of the intersection of list1 with list2.
   153  * In other words, modify list1 so it only contains the elelements that are simultaneously in list1 and list2!
   153  * In other words, modify list1 so it only contains the elelements that are simultaneously in list1 and list2!
   154  */
   154  */
   155 void intersect_candidate_datatype_list(symbol_c *list1 /*origin, dest.*/, symbol_c *list2 /*with*/);
   155 void intersect_candidate_datatype_list(symbol_c *list1 /*origin, dest.*/, symbol_c *list2 /*with*/);
   156 
   156 
       
   157 /* intersect the candidate_datatype lists of all prev_il_intructions, and set the local candidate_datatype list to the result! */
       
   158 void intersect_prev_candidate_datatype_lists(il_instruction_c *symbol);
       
   159 
       
   160 
   157 
   161 
   158 /* A helper function... */
   162 /* A helper function... */
   159 bool is_ANY_ELEMENTARY_type         (symbol_c *type_symbol);
   163 bool is_ANY_ELEMENTARY_type         (symbol_c *type_symbol);
   160 bool is_ANY_SAFEELEMENTARY_type     (symbol_c *type_symbol);
   164 bool is_ANY_SAFEELEMENTARY_type     (symbol_c *type_symbol);
   161 bool is_ANY_ELEMENTARY_compatible   (symbol_c *type_symbol);
   165 bool is_ANY_ELEMENTARY_compatible   (symbol_c *type_symbol);
   204 bool is_SAFEBOOL_type               (symbol_c *type_symbol);
   208 bool is_SAFEBOOL_type               (symbol_c *type_symbol);
   205 bool is_ANY_BOOL_compatible         (symbol_c *type_symbol);
   209 bool is_ANY_BOOL_compatible         (symbol_c *type_symbol);
   206 
   210 
   207 
   211 
   208 bool is_type_equal(symbol_c *first_type, symbol_c *second_type);
   212 bool is_type_equal(symbol_c *first_type, symbol_c *second_type);
   209 
   213 bool is_type_valid(symbol_c *type);
   210 // typedef bool (*helper_function_t) (symbol_c *type_symbol);  /* a pointer to a function! */
   214 
       
   215 
   211 
   216 
   212 
   217 
   213 #endif /* _HELPER_FUNCTIONS_HH_ */
   218 #endif /* _HELPER_FUNCTIONS_HH_ */