stage3/datatype_functions.hh
changeset 457 67d8b07bac22
parent 445 e6c34ee82954
child 458 587884880be6
equal deleted inserted replaced
456:ca8d98289ff9 457:67d8b07bac22
   144 /* Copy the elements in the candidate_datatype_list in one symbol (from)
   144 /* Copy the elements in the candidate_datatype_list in one symbol (from)
   145  * into the candidate_datatype_list of another symbol (to)
   145  * into the candidate_datatype_list of another symbol (to)
   146  */
   146  */
   147 void copy_candidate_datatype_list(symbol_c *from, symbol_c *to);
   147 void copy_candidate_datatype_list(symbol_c *from, symbol_c *to);
   148 
   148 
       
   149 /* Intersect two candidate_datatype_lists.
       
   150  * Remove from list1 (origin, dest.) all elements that are not found in list2 (with).
       
   151  * In essence, list1 will contain the result of the intersection of list1 with list2.
       
   152  * In other words, modify list1 so it only contains the elelements that are simultaneously in list1 and list2!
       
   153  */
       
   154 void intersect_candidate_datatype_list(symbol_c *list1 /*origin, dest.*/, symbol_c *list2 /*with*/);
       
   155 
   149 
   156 
   150 /* A helper function... */
   157 /* A helper function... */
   151 bool is_ANY_ELEMENTARY_type         (symbol_c *type_symbol);
   158 bool is_ANY_ELEMENTARY_type         (symbol_c *type_symbol);
   152 bool is_ANY_SAFEELEMENTARY_type     (symbol_c *type_symbol);
   159 bool is_ANY_SAFEELEMENTARY_type     (symbol_c *type_symbol);
   153 bool is_ANY_ELEMENTARY_compatible   (symbol_c *type_symbol);
   160 bool is_ANY_ELEMENTARY_compatible   (symbol_c *type_symbol);